
この記事でわかること
-
軸となるものの出会いがエンジニアキャリアをどう変えたのか
-
エンジニアらしい思考回路が、ビジネスモデル開発に与えた影響
-
AI時代でも価値を発揮し続けるエンジニアの条件
エンジニアとして身につけた思考やスキルは、キャリアにどんな可能性をもたらすのでしょうか。
ソフトウェア開発企業ソニックガーデン代表の倉貫義人さんは、SIerのエンジニアとしてキャリアをスタートしました。開発現場で感じた違和感をきっかけにエクストリーム・プログラミングと出会い、よりよいソフトウェア開発のあり方を追求するなかで、月額定額でプログラマーが顧客に顧問のように寄り添い、システムの設計・開発・運用まで提供する「納品のない受託開発」という独自のビジネスモデルを生み出します。
エンジニアとして考え、手を動かし、専門性を磨く。その積み重ねがキャリアを広げ、新しい価値を生み出す力になる。
倉貫さんの歩みを通して、エンジニアという仕事の面白さと、キャリアを切り拓くヒントを探ります。
倉貫義人
株式会社ソニックガーデン 代表取締役社長。大手SIerで立ち上げた社内ベンチャーをMBOし、2011年にソニックガーデンを設立。月額定額でプログラマが顧問のように寄り添う「納品のない受託開発」を展開しつつ、本社オフィスの撤廃、管理のない経営、若手育成のための徒弟制度など新しい経営と働き方を実践している。著書に『人が増えても速くならない』『「納品」をなくせばうまくいく』など。
【X(旧Twitter)】:@kuranuki
目次
技術を突き詰めたくて飛び込んだSIerの世界。そこで直面したキャリアと受託開発の課題
ーー倉貫さんはいま、「納品のない受託開発」を掲げるソフトウェア開発企業、ソニックガーデンの代表を務めておられます。その前は、ずっとエンジニアとしてキャリアを重ねてこられましたが、そもそも、なぜエンジニアになろうと思ったのでしょうか?
倉貫さん:昔からゲームが好きで、小学生の時にゲームを作る人になりたいって思ったのが、エンジニアを志した原点です。ゲームを作る人になるにはどうしたらいいのかを雑誌なんかで調べて行動してみたら、理系の大学に入って、大学の研究室で仲間と一緒にゲームを作って、と、自然とその道に入っていくようになったんです。
ーーその後、大手SIerに就職されたのですよね。なぜSIerをファーストキャリアに?
倉貫さん:当時(1999年頃)は就職氷河期というやつで、大手の会社に入るためには新卒というカードが使えるいましかチャンスがない、という安直な考えで選んだように思います(笑)。
ただ、大きい会社ならどこでもよかったわけではなく、ハードウェアの種類に縛られずに、いろいろなソフトウェアをつくれる会社、それでいて技術力の高い会社がいいなと、いろいろ選んでいった結果、入社した会社が残ったんです。
僕は学生時代、オブジェクト指向という技術を研究していたのですが、その会社では実際の開発にオブジェクト指向を採り入れているというのも決め手でした。当時、オブジェクト指向で開発するというのはかなり先鋭的で、実践する会社は少なかった。もっとも、僕が入社したときには、そのオブジェクト指向で開発していた部署は解散してしまっていたのですが(笑)。

ーー入社当時、エンジニアやプログラマーとしてどんなキャリアを思い描いていたのですか?
倉貫さん:思い返すと、当時はなにも考えてなかったですね(笑)。キャリアうんぬんよりも、目の前にあるプロジェクトを一生懸命やるばかりだったと思います。
なんとなく自分のキャリアを考えるようになったのは、入社して2〜3年めの頃でしょうか。当時、会社を辞めてフリーランスになろうかと考えていたんです。
SIerに入ってシステム開発に携わるようになると、開発プロセスが「上流(設計)」と「下流(実装・プログラミング)」にはっきり分かれていることを目の当たりにします。
開発は上流から下流へと一方向に進んでいきます。ところが、上流で決められた仕様に違和感があっても、下流の側から設計に立ち戻ることはできない。そんな開発の進め方に、どこかおかしさを感じていたんです。ちょうどそんなときに出会ったのが、エクストリーム・プログラミング(XP)という手法でした。
プログラミング、そしてプログラマーをソフトウェア開発の中心に置くエクストリーム・プログラミングのコンセプトは、自分にとって理想的なものでした。このXPを学ぶべく、社外のコミュニティに出ていくと、フリーランスとしてXPを実践している方がいて、「だったら自分も」と大きな刺激を受けるわけです。
また、自分がいたSIerでは出世するのは上流を担う人、大きなプロジェクトをマネジメントできる人で、「プログラミングができる人、開発ができる人」は、なかなか評価されない。僕は開発する力に関してはとにかく自負があったので、評価されない場所で頑張るより、外に飛び出したほうがいいんじゃないかと思うようになったんです。そして、フリーになってみようかと考えるようになった。
ーー結局、その時点では辞めなかったのですよね。
倉貫さん:お世話になったある役員に相談しにいったら、「フリーになったとして、どうやって仕事を取る?倉貫さんに仕事を頼みたい、と言われるような、名の知れた存在になるまでは、いまの環境で頑張ったほうがいいんじゃないか。それに、1人で独立するとチームで仕事するのが難しくなるぞ。一緒に独立できるような仲間はいるか?」と言われて、確かにそのとおりだなと思って、辞めるのを止めたんです。
それ以降は、社内で評価されようがされまいが、もう自分のやりたいことをやって、頑張るしかないとふっきれた。いまいる環境でできる範囲でXPを実践すればいい。もしもうまくいかなくなったら、またフリーランスになることを考えればいい、と思えるようになった。社内に怖いものはなにもない、言ってみれば、もう「無敵状態」です(笑)。
ーーその後、少しずつXPを採り入れた開発を実践してみたり、自分が理想とする環境を実現するべく奮闘されたと聞いています。いかに「無敵状態」でも、受託開発の世界でXPを実践していくのは非常に苦労すると思います。それでも、やろうと思えたモチベーションはどこにあったのでしょうか。
倉貫さん:さっきお話した、受託開発における理不尽さに対する怒りがモチベーションだったと思います。受託開発における「一括請負」「納品」を前提としたビジネスの中では、いいシステムやソフトウェアはつくれない。お客さまもエンジニア、プログラマーもいいものをつくりたいと思っているのに、つくれない。上流、下流の分断の中で、疲弊する人が出てくる。こんな状況を見続けると、怒りしかないですし、なんとか打破したかった。
XPを採り入れたアジャイルなプロジェクトにするためには、お客様も巻き込まなければなりません。ですから、自分もただプログラマーであるだけでなく、お客様のところへ営業活動するとか、自分でプロジェクトをマネジメントするといった、越境が必要になってくる。やがては、自分がエンジニアやプログラマーであることを辞めてしまいます。本当に自分が望む環境やプロジェクトを作り出そうと思ったら、自分はもうエンジニアじゃないほうがいいと考えるようになったんです。

若手の自分にいまなにかアドバイスを送るなら……、そうですね「ソフトウェア開発の全プロセスを体験してみよう」でしょうか。
ソフトウェア開発者の仕事で土台になる能力って、シンプルで当然のことなんですけど、「ソフトウェアをつくること」なんです。ソフトウェアづくりって、コーディングだけではなく、ソフトウェアが解決すべき課題の発見から実装、実装後の改善やメンテナンスまですべて含まれます。
一方で、現代の仕事において、システムやソフトウェア全体をつくる機会って少なくて、既存のシステムの一部の機能を開発する、みたいに範囲が限定されることが多いです。ソフトウェア開発では全体像を描くのがとても大事です。ですから、たとえばOSSでも小さなツールでもなんでもいいから、企画、実装、ユーザーへのデリバリー、フィードバックを受けての改善というすべてを体験しておくといい、とアドバイスを送りたいですね。
「キャリアの軸」は手を動かし、専門性を磨いた先に
ーー完全に開発の現場から手を引いたのでしょうか?
倉貫さん:35歳のときに、自分で新規事業の社内ベンチャーを立ち上げ運営する、いわば経営者としての役割を担うようになりました。それまでは、営業しながらとか、チームやプロジェクトをマネジメントしながらとか、開発はずっと手がけていたので、「経営者をしながら」でもできるかなと思っていましたが、そこには桁外れの難しさがありました。
本気で自分が働きたくなる環境やビジネスをつくろうと思ったら、いったん開発者としての自分は封印して、一生懸命、経営に全力投球しないといけない。そうでなければ、成功する気がしなかったんです。
ーー経営者へとキャリアが変遷するなかで、エンジニア、プログラマーとしての技術や知識はやはり役に立ちましたか?
倉貫さん:エンジニア、プログラマーとしての技術や知識を手軽に転用してうまくいくほど、経営の仕事は甘くなかったです。社内ベンチャーの経営をしていた2年間は、とにかく学びながら、エンジニアから経営者へと自分の血を入れ替えているような感覚でした。
最近の言葉で表現するなら「アンラーン(学びほぐし、学習棄却)」ですね。アンラーンしないと経営者にはなれなかったと思います。ただ、これは「経営者になる」ということにかぎらず、なにか新しいことに飛び込む、挑戦するというときに、まずきちんとした学びを得る、守破離の「守」を学ぶというのは大事なことだと、いまでも思っています。

ーーエンジニアから経営者へと立場は変わっても、倉貫さんの活動にはXPという軸があると感じます。こうした軸を見つけるには、どうすればいいでしょうか。
倉貫さん:キャリアの軸や指針を「探す」というのが、いい方法ではないように思います。僕の場合をお話すれば、日々の仕事に向き合うなかで、ソフトウェア開発をいいものにしていきたい、という思いがある。仕事をやればやるほど、その思いは深まっていくから、「いいもの」にするために方法を追求したくなる。その先に、僕の場合、たまたまXPやアジャイルがあった。突き詰めたいと思えるものこそが、その人にとっての専門性で、専門性を磨いていった先に、運が良ければ軸みたいなものが見つかるのでは、と思います。
一生懸命、目の前の仕事をするのがまずはいいのではないでしょうか。身も蓋もない答えになってしまいますが(笑)。

ソフトウェア開発者らしい考え方がビジネスモデルを生み出した
ーー倉貫さんが立ち上げた社内ベンチャーが、いまのソニックガーデンの原型となったのですよね。ソニックガーデンが掲げる「納品のない受託開発」というビジネスモデルは、どのようにして生まれたのでしょうか。
倉貫さん:おっしゃるとおり、自分が立ち上げた社内ベンチャーを、その後MBO(Management Buyout:企業の経営層の人物が事業部門や株式の一部などを買い取ることで経営権を取得すること)して独立したのがソニックガーデンです。「納品のない受託開発」という言葉こそ独立後に掲げたものでしたが、受託開発というビジネスモデルが抱える構造不全をどのようにすれば解決できるのか、という問題意識は社内ベンチャー立ち上げの時点で持っていました。
実際に、「納品のない受託開発」をビジネスモデルにするうえでは、「問題の抽象度を上げて考える」という、ソフトウェア開発者らしい思考回路がありました。
たとえば、一般的なSIerの受託開発における「一括請負の納品型での受託開発」というビジネスモデルが抱える構造不全を解決しようと思ったときに、「だったら顧客との契約書を変えよう」といった具体から考えません。問題の抽象度を上げ、「ずっとお客様と寄り添いながら、ソフトウェア開発する」ためにはどうすればいいか、と考える。そのためには、プロジェクトが終わってもチームが解散しない状態にする、つまり「納品」をなくす、という考えにたどり着く。

こうした流れで得られたのが「納品のない受託開発」というビジネスモデルだったんです。ビジネスモデルづくりだけでなく、いろいろな場面で「抽象度を上げて考える」は有用な考え方だと思います。

ソフトウェア開発って面白い。それが仕事でできるのは魅力でしかない
ーー経営者へと活動の幅を広げて、いまあらためてエンジニア、プログラマーという仕事にどのような魅力を感じますか?
倉貫さん:まず単純に、ソフトウェア開発って楽しいですし、なにか根源的な喜びがあると思っています。いま、ソニックガーデンでは所属するエンジニアたちが自分でつくったソフトウェアを持ち合うハッカソンを定期的に実施しているのですが、皆が面白いアイデアを実装して、披露して、フィードバックを得てというプロセスを見ていると、すごく楽しそうに見えるんです。そうした「楽しいこと」が仕事になるんですから、ソフトウェア開発者という職業には魅力しかないですよ。
AIの登場によって、エンジニアのあり方に変化はもちろんありますが、その需要がゼロになることはない。世の中に求められ続ける、自分の技術が世の中の役に立てるって素晴らしいことだと思います。自分はいまは経営がメインで開発はしないけれど、羨ましくすら感じます(笑)。

ーーAIの登場は非常に大きなパラダイムの変化です。AI時代において、活躍できるエンジニア、プログラマーであり続けるためにはどんな知識や技術が必要だとお考えでしょうか。
倉貫さん:AIがコーディングやデバッグをしてくれるようになりましたが、ソフトウェア開発はコードを書くだけの仕事ではなく、その前にも後にも大事なプロセスがあります。コーディングの前には、課題を捉え、考え、解をイメージしなければなりません。また、ソフトウェアをいったん実装し終えても、それを長く使えるようにしていかないといけません。AIをパートナーとして頼りながら「ソフトウェアを作る」全体を担うためにも、ソフトウェア開発の始まりから終わりまでの全体を描ける人は、AI時代においても必要とされる存在でい続けるのだろうと思っています。

ーー最後ですが、思い描くキャリアを「選べる存在」であるために、エンジニア、プログラマーにはどのようなスキルセットやマインドが必要になるとお考えでしょうか。
倉貫さん:ソニックガーデンが大事にしているのは、エンジニア自身がお客様や課題に向き合い、一緒に悩み、模索するということです。僕自身は、ソフトウェア開発の面白さというのは、ああでもない、こうでもないという試行錯誤にあると思っています。ただし試行錯誤には主体性が必要不可欠です。自分がやりたいと思わない試行錯誤は嫌なことでしかありませんから。主体性をもっているからこそ、ソフトウェア開発の試行錯誤は面白く、成長が得られるはずです。
挑戦、試行錯誤、成長の3要素がかみ合ってサイクルが回っていると、人間は幸せなんじゃないかというふうに思っていますし、素晴らしいエンジニア、プログラマーであり続けるためには、こうしたマインドセットが必要になるのではないでしょうか。
ーーありがとうございました!
取材・文:はてな編集部
撮影:小野奈那子
マイナビ転職 アンドエンジニア編集部


