書籍『プロを目指す人のためのRuby入門』(技術評論社)著者
株式会社ソニックガーデン プログラマー / 顧問CTO
伊藤淳一さん(@jnchito)
1977年生まれ。SIer、外資系半導体メーカーの社内SEを経て、2012年ソニックガーデンに入社。保守性、拡張性の高いシンプルなコードを追求するプログラマであり、プログラミングスクール「フィヨルドブートキャンプ」でメンターも務める。Qiitaではユーザーランキング1位(23年3月現在)。夢はプログラマを憧れの職業にすること。現在は兵庫県西脇市の自宅からリモートで働いている
若手エンジニアの成長を妨げる“受託脳”とは? 「受託開発でスキルアップできない」が大間違いな理由【チェリー本著者・伊藤淳一×遠藤大介】
「スピーディーに成長したいなら、受託開発より自社開発」そんなイメージから、受託開発を行う企業から自社開発企業への転職を目指す若手エンジニアは多いかもしれない。
だが、“チェリー本”の愛称でお馴染みの書籍『プロを目指す人のためのRuby入門』執筆者であり、ソニックガーデンのプログラマー・伊藤淳一さんと、同じくソニックガーデンで指折りのプログラミング力を誇る執行役員の遠藤大介さんは、その考えは「必ずしも正解とは言えない」と話す。
二人のエンジニアとしてのキャリアは15年以上。両者ともに、これまで受託開発の仕事を続けながら、現在のポジションを築いてきた。
なぜ、クライアントワークで働く道をこれまで選んできたのだろうか。また、これからの時代に若手エンジニアの成長を左右するものとは一体何なのか。二人に話を聞いてみた。
書籍『fit Slack&Zoom&Trello テレワーク基本+活用ワザ』(インプレス)著者
株式会社ソニックガーデン 執行役員 / プログラマー / 顧問CTO
遠藤大介さん(@ruzia)
1983年生まれ。小学校の頃に家にあったPC-6001でプログラミングにはまり、中学・高校・大学とプログラミングに明け暮れる日々を送る。ITベンチャーや受託開発企業、Androidアプリ開発での起業を経て、2013年ソニックガーデンに入社。ソニックガーデンでは、社内インフラの整備を主導。21年から現職。夢は死ぬ直前まで楽しくコードを書き続けること
「受託開発」それ自体は、エンジニアの成長を阻害する要因ではない
「僕は企業のシステム開発に携わる傍ら、プログラミングスクールで講師をしているのですが、最近は受託開発と自社開発なら後者を選びたい若者が多い印象は確かにあります」
そう話すのは、ソニックガーデンでソフトウエア開発に携わる伊藤さんだ。
その背景について伊藤さんは、二つの理由が考えられるという。一つは大手IT企業やスタートアップが開発を手掛けるアプリやサービスへの憧れや関心の高さ、そしてもう一つが、受託開発を請け負う企業に対するネガティブなイメージだ。
「ネット上には、『難易度の低い開発ばかりでスキルが磨けない』『エンジニアに対する売上還元率が低く待遇が悪い』『偽装請負など違法行為が横行している』など、ネガティブな内容のコンテンツがあふれています。ですから、『仕事として受託開発は避ける方がいい』と考える若者が増えるのも不思議ではありません」(伊藤さん)
伊藤さんと同じくソニックガーデンで執行役員を務める遠藤さんは、そもそも「受託開発」と「自社開発」を対比させ、どちらが良いか悪いかで論じること自体が的外れではないかと指摘する。
「確かに、受託開発に悪い印象を持つ若手エンジニアは少なくありません。しかし、先ほど伊藤が挙げたような『受託開発を避けるべき理由』のどれ一つとっても『受託開発』そのものに帰する問題ではない。
むしろ受託開発を請ける企業のビジネスモデルやスタンス、コンプライアンスへの姿勢に起因するものです。受託開発を一括りにして『良くない』と語るのは間違っているのではないでしょうか」(遠藤さん)
受託開発を生業にするソフトウエア開発会社は、多重下請け構造に組み込まれシステム開発に携わる場合が多い。
顧客と直接取引するのは大手SIerで、その下に開発の実務を担う中小・零細企業が二次請け、三次請けとしてピラミッドの裾野を形づくる構図だ。当然のことながら商流の下流に位置する企業ほど売上や与えられる情報、裁量は少なくなっていく。
多くの人がイメージする「受託開発」に対するネガティブなイメージは、旧態依然とした日本のIT業界が持つ構造的な問題だというのが伊藤さんの見立てだ。
「二次請け、三次請け、四次請けともなると、顧客が何を求め、自分たちが開発しているモジュールがシステムの中でどのような位置づけにあるのか、分からないこともめずらしくありません。
また、開発に従事するエンジニアを粗雑に扱い、法令を守らないブラック企業がいまだに存在するのも否定できない事実です。
どれもエンジニアの成長を阻害する要因になるのは間違いありませんが、かといって顧客に代わってソフトウエアを開発する『受託開発』の問題でもないというのが僕たちの認識です」(伊藤さん)
顧客と対等な受託現場なら、自社開発との差はない
「ソフトウエア開発の本質を無視した開発契約の結び方にも、エンジニアの成長を阻害する原因がある」と遠藤さんは続ける。
「どのようなシステムもその構造の複雑さゆえ、事前に全ての問題を把握しきることはできません。
開発途中に想定外の状況に見舞われるのはソフトウエア開発の避けがたい宿命ともいうべきものですが、誤解を恐れずに言えば、これ自体はさほど大きな問題ではない。
一番マズいのは、誰の目から見てもイケてない機能開発を止められない状況です。『この機能を納期までに実装する』と契約してしまった以上、立場の弱い下請けが疑問を差し挟む余地はありませんし、エンジニアは開発の手を止めるわけにはいきません。
こうした契約が良いソフトウエアを作りたいのに作れない状況を生み、エンジニアのやる気やモチベーションを奪うこともあるのです」(遠藤さん)
伊藤さんも開発前に要件定義を煮詰め、工程の後戻りを許容しないウォーターフォール型開発は変化の速い時代にますます適応しづらくなっていると、口をそろえる。
「顧客を取り巻くビジネス環境は目まぐるしく変化します。ソフトウエアの仕様も時とともに変化するべきなのに、作ると決めた以上、作り続けなければならないというのは、明らかに時代の変化に対応できない契約の問題であり、開発プロセスや開発アプローチの硬直化がもたらす問題です。
僕たちがなぜ『受託開発でエンジニアは成長できない』という主張が間違っていると言い切れるかと言えば、こうした問題と無縁な受託開発も存在するからです。
例えば、僕たちが掲げている『納品のない受託開発』は、その一つの答えだと考えています」(伊藤さん)
ソニックガーデンが掲げる「納品のない受託開発」とは何か。遠藤さんは「サブスクリプション型の受託開発であり、一括請負で開発案件を受託することで生じる問題とは無縁のビジネスモデル」だと説明する。
「システム開発の世界では、1カ月あたりのエンジニアの労働生産性を『人月(にんげつ)』単位で表し、見積算定の基準にすることがあります。
しかし、この計算方法では優れた能力を持つエンジニアは報われない場合があります。極端な例ですが、高い技術力が求められる開発を3日で片付けてしまうエンジニアより、より多くの時間を費やしてしまう経験の浅いエンジニアのほうが会社に利益をもたらす場合があるからです。
当社の場合、開発報酬は月額定額で頂戴するため、プロジェクトを長引かせても新たな収益が増えることはありませんし、仕様変更のリスク回避のために過剰な機能開発をお勧めすることもありません。
言うまでもありませんが、工数が増えるだけで顧客にも僕たちにとっても得るものがないからです」(遠藤さん)
顧客と同じ方向を向き、ソフトウエアの継続的な改善を通じて利害を分かち合うのが「納品のない受託開発」の本質であり、受託開発のあるべき姿だと伊藤さんは主張する。
「顧客のシステムを受託者として請け負うというより、当事者の一員として主導権を持って開発しているので、こちらも技術を出し惜しみする必要がない。自らの理想を追求しながら能力を伸ばし、顧客のビジネスに貢献できます。
こうなると、もはや自社開発と大差ありません。エンジニアとして成長できる環境を選びたいのであれば、自社開発か受託開発で選り分けるよりも、顧客やプロダクトオーナーと対話を通じて意識を揃えることができ、変化に対して柔軟で、継続的な改善に携わるチャンスがあるかどうかを重視すべきだと思いますね」(伊藤さん)
若手エンジニアの成長を左右する分かれ目は、「受託脳」を脱せるか否か
受託開発であっても主体的に努力を重ねれば成長できるし、自社開発であっても指示されたことだけを淡々とこなしているだけでは思うように成長はできないこともある。環境を生かすも殺すも、エンジニア次第ということだ。
伊藤さんも遠藤さんも従来型の受託開発を経て、ソニックガーデンに転じた経歴を持っている。
旧態依然とした受託開発の問題やその限界に気付き、ソニックガーデンの掲げる「納品のない受託開発」の理想に引かれて転職したものの、「これまで経験したことがないビジネスモデルに適応するまでには、それなりの時間を要した」と伊藤さんは入社当時のことを振り返る。
「入社して間もないころ、ソニックガーデンの創業者であり代表でもある倉貫(義人)に、担当しているプロジェクトについて指示を仰ごうとしたことがありました。
僕の問い掛けに倉貫は『私もお客さまも答えを持っていない。それを見つけるために考え抜くんだ』と言われ、はっとしたんです。
仕様書、つまり顧客や営業が出した答えに則って開発することに飽き足らなくなったからこそ転職したはずなのに、答えを待っている自分に気付かされたからです。
今思えば、正解が見えない状況に向き合う覚悟がまだ足りなかったんでしょうね。分かっているつもりでも、長年染みついた『受託脳』を変えるにはそれなりの時間がかかりました」(伊藤さん)
遠藤さんも、「自分にも似た経験がある」と続ける。
「僕も以前は、誰かが決めた仕様を美しいコードで実装することに喜びを覚えるタイプだったので、伊藤と同じように、開発を受け身で捉えてしまう『受託脳』から、改善策を徹底的に考え抜き改善策を提示する『提案脳』に切り替わるまでには少し時間が掛かりました。
長らく、分からないことは顧客の担当者や上司に尋ねることを良しとする世界にいたので、つい目の前にある分かりやすい答えに飛びつきたくなるんです。
しかし、ソニックガーデンの仕事を通じて『正解のない問い』と向き合ううち、小さな手掛かりからより良い仮説をたぐり寄せる面白さを体感できるようになっていきました。また、もしも前職のまま転職していなければ、今も受託脳のままだったかもしれないなと思いますね」(遠藤さん)
依頼された機能を実装する力のないエンジニアに、何を開発すべきか考え抜けといっても難しい。かといって依頼された機能開発をこなすだけでは、いつまでたってもこの壁は乗り越えられない。
わずかな違いに気付けるかどうかが、成長の分かれ目になると伊藤さん、遠藤さんは言う。
さらに伊藤さんは、「若手エンジニアが経験を積むため、開発の下請けでキャリアを積むのも一定の価値は見出せるが、長居は禁物」だと語る。
「まずは経験を積みたい、現場感を体験したいといった明確な目的があって選ぶのであれば構いません。ただ、『開発の下請け』に長く腰を落ち着けてしまうと、『受託脳』から脱却するのが難しくなってしまいます。その場に安住することなく、常に一歩先を見据えたキャリアを考えておけるといいですね」(伊藤さん)
そうでなければ、自ら開発したサービスを個人的に公開してみるのもいい勉強になると遠藤さんは言う。
「ここ数年、クラウドをはじめソフトウエア開発に必要なインフラはかなり民主化されており、予算をあまり掛けずともエンジニア個人が簡単に作ったサービスを公開できるようになりました。
たとえ今の職場では望むような成長が見込めなかったとしても個人プロジェクトであれば、誰にも迷惑を掛けることなく開発スキルを高めることができます。
また、自らサービスを生み出すことでプロダクトオーナーやエンドユーザーの視点も育まれますから、こうした身近な取り組みから始めてみるのはお勧めですね」(遠藤さん)
仕事の取り組み方・考え方を変えれば、成長の機会はどこにでもある。受託開発にせよ、自社開発にせよ、「正解のない問い」に挑む機会を自らつくり出せるかどうかが、若手エンジニアの成長を左右するカギになると言えそうだ。
取材・文/武田敏則 撮影/桑原美樹 編集/玉城智子(編集部)
エンジニアに捧ぐ記事シェアキャンペーン実施中!
秋の夜長におすすめの記事を編集部がセレクト。指定の方法でXでポストしてくださった方の中から抽選で50名にAmazonギフトカード1000円分をプレゼント!
ぜひお気に入りの記事を見つけてください。
▼キャンペーン概要はこちら
https://type.jp/et/feature/lp/cp/
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ