赤澤仁士さん「良いものを速く・安く・無理なくつくり、利益を出せる集団を」(E3メンバーインタビュー)

on 2020.11.02
赤澤仁士さん「良いものを速く・安く・無理なくつくり、利益を出せる集団を」(E3メンバーインタビュー)

E3コミュニティメンバーの皆さんはどんな思いでいま仕事をしているのか。今までの経歴や成功・失敗体験も含めてお話を伺っていきます。今回インタビューしたのは15年以上フリーランスのエンジニアとして働く赤澤仁士さん。フロントエンド・バックエンド両方に関わっている赤澤さんの課題意識は日本のソフトウェア開発業界特有の商慣習、「人月」計算でした。

ライター:平田提


,システム会社の人月計算は一考の余地あり?

――お仕事はどうやって受託されているんですか?

赤澤さん:いまは人づてで仕事を紹介されることが多いです。独立した当初は、受発注の掲示板があって、そこで仕事を取り始めました。いまは主に建設業界のDXに関わるディレクターなどをしています。自分でコードを書くときはJSでフロントを書いてバックエンドはLambda等に任せる構成が多いですね。E3の大津さんとは、7年前に大津さんの前職で知り合って以来、E3立ち上げ後はほぼずっと一緒にお仕事させていただいています。

――長年フリーのエンジニアとして働かれていて、「ここは変わったなー」とか逆に「ここは変わってないな」という業界の変化はありますか?

赤澤さん:変化して良かったのは、先ほども話に出した、AWSのLambdaもその一つですが、ソフトウェア開発を効率的にさせるツールやサービスの充実です。Lambdaは安いし、壊れないし、サーバをなぜイチから立ち上げてたんだろうって思うぐらい(笑)。あと、GitflowやInfrastructure as Code、PrettierとVS Codeを組み合わせた自動コード整形など、私がSEとしてキャリアをスタートした20年前には考えられなかったようなことが、世界中で次々に考案されソフトウェア開発の現場に導入されています。そのことによって、エンジニア1人あたりの生産性や守備範囲がどんどん大きくなっていると感じます。

変わっていないのは、日本のソフトウェア開発業界のクライアントへ「人月」で報酬を請求する慣習です。私は不合理な考え方だと思っています。


――発注側にいるとき、お見積りをもらって「この作業にこんな人月かかるの!?」と思ったことはあります。

赤澤さん:もちろん、クライアントがちょっとした作業と考えていても、実はたいへんな作業ということはあります。ただ、「人月」のせいでシステム業界が生産性ときちんと向き合ってこなかったせいで、クライアントの感覚の方が正しいのに過大な「人月」を提示してしまっていることが、システム業界ではよくあると考えています。

「人月」の問題は、まず、エンジニア個人が生産性を上げることが評価されない仕組みであることです。優秀なエンジニアと普通のエンジニアの生産性の差は、数倍から10~20倍程度ほど開くことが容易にあると考えています。一方、エンジニア毎の生産性の差を評価し、「人月」の単価に反映させることはあまりありません。反映させたとしても、ジュニア・普通・シニアの三段階程度に分ける程度で、ジュニアとシニアの単価の差は通常1.5倍程度しかつけません。

また、「人月」にはソフトウェア開発の方法論の進歩を取り込むことが難しいことも問題です。

――なるほど。エンジニアの評価にはつながらない仕組みかもしれないと。

赤澤さん:先ほどお話しした、世界中で考案されているソフトウェア開発に関する生産性を上げるさまざまな取り組みは月単位で進歩しています。それらを取り入れていたら「人」あたりの生産性は毎月のように上がります。その結果、同じ仕事をするための「月」はどんどん短くなり、単価を上げるなどして調整しないと、クライアントからの売上が継続的に下がり事業が成り立たなくなるはずです。ですが、単価を継続的に上げるということは聞いたことがありません。

クライアントから報酬を頂く根拠に「人月」を使っているがために、生産性を上げる動機が下がってしまっているように思います。腕の良いエンジニアが短納期で仕事を仕上げても、損をしてしまう。あるいは、エンジニアの腕の良さを評価する仕組みが少ないように思います。

――確かに人月の計算ってすべてではないにしても、一考の余地はある気がしてきました。代わりの方法って何か考えられるんでしょうか?

赤澤さん:業界・市場全体がこの仕組みで動いているので、すぐに変わるのは難しいとは思います。ただ私がフリーのエンジニアとして実行しているのは、業界の「人月」計算の平均値の70%ぐらいの費用で請け負い、クライアントに実際にどのくらいの人月でやるかは私次第であることを了承してもらいます。もし早めに作業を終えられたら、他の仕事をしても良いし休んでもいい。さらに相場の70%で請け負っているので、クライアント企業にも喜んでもらえて、またお声がけいただく機会も増えます。こんな考え方に賛同してくださるクライアントを増やすことで、生産性が高いエンジニアが評価される業界になっていったらいいなと思います。

20年前に比べ圧倒的に便利。どんどん進化するAWSやクラウドサービス

――先ほど20年前に比べて良くなったこととして、AWSなどクラウドサービスが充実したことを挙げられていました。肌感としても、いろんな業界でAWSは浸透している印象ですか?

赤澤さん:そうですね。ただAWSをコスト削減のためだけに使っていることが多いと思うんです。例えば、オンプレのサーバーの単純な置き換えとしてEC2を使う。コストは下がるかもしれませんが、サーバーの保守は相変わらず発生します。でも、DBをRDSにして可用性を上げる構成にしたりするとだんだん保守にかかる労力が減ってくる。サーバーをなくして、Lambdaを組み合わせた構成にできれば、経験上ほとんど保守に悩まされることはなくなります。また、サーバーがなくなると、開発する際に考えることが減るので生産性が上がることが多いです。

AWSの導入にも何段階かあるとすると、AWS自体は入れているけど、それで得するところまではなかなかいっていない企業は多いのではないでしょうか。

――AWSの導入が初期で留まっている企業が多いかもしれない。

赤澤さん:発注側に意識・知識が求められる現状をどうにかしたいと考えています。AWSを含めたソフトウェア開発関連のツール・サービスはどんどん進化しています。その内容は、より効率的にソフトウェア開発ができることが大きいと思います。メンテナンスする人間が減っていって、安定性が上がる。障害が起きても対応が自動化できる、といったことです。

――それはとても便利ですね! そうすると発注側はあんまりメンテナンスに意識を向けなくても良さそうです。

赤澤さん:そうですね。例えば1日1000アクセスの企業Webサイトがあるとします。マスコミに取り上げられて、1日のアクセスが1万、10万になったとしましょう。昔なら、システム会社が「サーバを100倍に増強しましょう!」と言っても正解だったかもしれません。でも今なら、AWSのサービスを適切に組み合わせて設計していれば、1000アクセスが10万アクセスになったくらいでは何もしなくても普通に動くシステムをつくることができます。

――そこまでいくとAWSの恩恵を受けられた、という感じがしますね。

赤澤さん:Amazon以外でも、もちろんGoogleなどは幅広いサービスを全世界に展開していますが、そのサービスのアクセスがその企業サイトの1000万倍だとして、1000万倍のサーバを用意しているか、そのための経費を1000万倍払っているかというと、恐らく払ってない。ということはやり方がある。AWSを含めた最近のサービスのすごいところは、Googleとか先進的な企業の手法を、個人でも利用できるように用意してくれているところなんですよね。


,良いものを速く・安く・無理なくつくり、利益を出せる集団を

――話は変わりますが、赤澤さんにとってリラックスできるタイミングはありますか?

赤澤さん:休日に子供と遊ぶのは疲れますけど、楽しいですね。あとはコードを書いているとき。いまはコーディングは再発注することが多いので、機会は少ないんですがプログラムを組むのは楽しいです。

――エンジニアの仕事がやはり向いてらっしゃるんですね。再発注する場合はどんな方にお願いしているんですか?

赤澤さん:E3で募集して参画してもらっています。時節柄、コミュニケーションはSlackやZoom等オンラインのみで行っています。ときには技術的に難易度が高い課題もありますが、知恵を出し合って取り組んでいます。
また、クラウドソーシングで海外のエンジニアにお願いする試みも行っています。

――グローバルなチームでお仕事されてるんですね。やりとりは英語ですか?

赤澤さん:海外の人たちとプロジェクトをやりたいがために英語を継続的に勉強しています。ビデオ会議だとなかなか大変ですが、チャットであれば意思疎通できています。

――今後のお仕事でやってみたいことを教えてください。

赤澤さん:今日のお話の中心になりましたが「人月」じゃない商売がしたいなと思っています。AWS然り、新しいプログラミングの技法然り、ソフトウェア開発の進歩をきちんと取り込み、無理なく、品質の高いものを速く・安くつくる。その上で利益もしっかり出せる集団をつくっていきたいですね。





企業登録すると、このエンジニアと会話できるようになります!