出版 9月18日に久々の新刊 『自分と社会をいい感じにする 仕事技芸論』 がミシマ社から発売されます。予約受付中! 詳細 →
私たちがアーキテクトを置かない理由〜全部を担える人を育てる、という選択

私たちがアーキテクトを置かない理由〜全部を担える人を育てる、という選択

先日、モダンなアーキテクチャとは何か、をテーマに対談する機会がありました。一般的に、アーキテクトとは、機能を提供し続けられる基盤を設計する専門職のこと。仕組みを作る人と、その仕組みの上でアプリケーションを作る人を分けて、前者を指す言葉とされています。

私たちソニックガーデンには、その役割がありません。全員をプログラマと呼び、設計から実装まで全部を担っています。なぜアーキテクトを置かないのか。今回、その理由を改めて言語化してみました。

アーキテクトを名乗っていた頃に、足りなかった視点

20代の頃は、私もアーキテクトを名乗っていました。自作のフレームワークを作って、社内に広めたりもしていました。

当時は、難しい問題を、スマートに解けるほうが優秀だと思っていました。どんな要件が来ても受け止められるように、先回りして拡張の仕組みを用意し、例外にも備えて、共通の基盤として整えておく。考え抜いて立派に作れば、評価されるし、喜ばれる。

経営する側に回ってみると、見え方が変わりました。先回りして備えた例外や拡張のほとんどは、実際には使われません。その例外は起きないから、作らなくていい。そう判断して捨てた瞬間に、難しさの8割が消えることがあります。難しい問題を、難しいまま解く必要などなかったのです。

当時の自分に足りなかったのは、設計の力ではありませんでした。事業の役に立つ、という視点です。立派な仕組みを作ること自体が目的になっていて、それが事業の役に立つのかどうかまでは、見ていなかったのです。

役割を切り出すと、そこに「納品」が生まれる

アーキテクチャを設計することは、いまでも大事な工程だと考えています。引っかかっているのは、そこだけを担う役割にすることのほうです。

役割として切り出すと、基盤を作って渡す、という区切りが生まれます。その区切りは、もう納品です。事業は続いていくのに、ソフトウェアだけがどこかで止まる理由はありません。実際、フレームワークごと入れ替えることもありますし、インフラでも、言語でも、必要なら変えます。冒頭の、モダンなアーキテクチャとは何か。私の答えは、変化に対応しやすい状態が保たれていることです。その状態は、渡して終わりにしない人がいて、はじめて保てます。

アーキテクチャをずっと改善し続ける役割、としてのアーキテクトなら、いてもいいのかもしれません。それでも、それだけをする人を置くのは、オーバーヘッドが大きい。だったら、全部やるほうがシンプルです。

事業からコードまで、すべてはソフトウェア開発の「工程」である

事業の戦略を考えることも、要件を整理することも、アーキテクチャを設計することも、コードを書くことも、すべてソフトウェア開発の工程です。役割ではなく、工程。ものづくりの側には、分けなければいけない理由はありません。

一人が全部を担うほど、事業とソフトウェアはぴったり合います。間に人が入るほど、伝言ゲームでズレていく。理屈でいえば、社長が一人で事業もソフトウェアも作れるのが、いちばんズレません。現代の事業において、ソフトウェアがなくていい会社はほとんどないのですから、経営とソフトウェアが一体になっているほど強い。

そして、事業まで理解して作るなら、求められたものを作るだけでは足りません。それはやめましょう、こちらのほうがいい、と提案できることまでを含めて、開発の仕事だと考えています。

できない前提で仕組みを作るか、できる前提で人を育てるか

こう書くと、それは難しい、と言われます。たしかに難しい。事業まで理解して、提案までできる人は、そう多くいません。

だから世の中は、別の形を選んできました。できる人が少ないなら、できない人のままでも仕事になるように、腕のいい人が土台を作る。アーキテクトが基盤を用意し、その上でたくさんの人に作ってもらう。効率よく人が動ける工場を作って、たくさん作る、という製造業の発想です。SIerにいた頃は、私もそう説明していました。

ただ、いま振り返ると、その考えは、作る人たちの可能性を信じていなかったのだと思います。いつまでもできないままであることを、前提にしているからです。

難しい仕事を担える人は、育てられる

私たちが立っているのは、逆の前提です。できる人が少ないなら、できるように育てればいい。

実際、私たちはお客様の会社にCTOのような立場で入り、事業計画やロードマップの検討から、作るところまでを一人で担ってきました。その全部を、プログラマの仕事と呼んでいます。

そして、5年ほど前から徒弟制度を始めました。まず、いいコードを書けるところを徹底する。いまなら、AIを使っていいコードを作れるところ、になります。そこから内部設計、データモデルの設計、要件の整理、事業戦略の検討、そして経営者の相談相手へと、担う範囲を少しずつ広げていきます。範囲が広がっても、仕事は取り替えません。役員も親方も、いまだにコードを書いています。できることが増えて、仕事の縁が広がっていく

簡単ではありません。5年かけて、ようやく育つ階段が見えてきたところです。

それでも、本当にできないのだろうか、とは思うのです。明治のはじめに、国民のほとんどが文字を読めるようにしようと言ったら、難しいと言われたはずです。90年代に、全員がパソコンを使えるようになる、と言っても同じでしょう。いまは、ほとんどの人が文字を読み、パソコンを使っています。難しさの多くは、いまこの瞬間を見て、難しいと言っているだけなのかもしれません。もっと人間の可能性を信じていい、と考えています。

分けずに全部を担う仕事は、「技芸」になる

アーキテクトという役割を否定したいのではありません。アーキテクチャを考え、改善し続けることは、これからも欠かせない工程です。ただ、できないままを前提にした土台を作ることより、できる人を育てて増やしていくことのほうを、私たちは選びたいのです。

それに、これは効率だけの話でもありません。切り分けられた仕事は、どうしても他人事になっていきます。自分の作ったものが、誰の役に立ったのか。事業はうまくいったのか。それが見えないまま、頼まれたものを作り続けるのは、つまらないものです。

事業から作るところまで、分けずに担う仕事は、大変ですが、最後まで自分の手応えが残ります。作ったものが役に立てば、それが直接わかる。うまくいかなければ、作り替えればいい。そんな働き方を「技芸」と呼んで一冊にまとめたのが、9月に出る新刊『仕事技芸論』です。

倉貫 義人
倉貫 義人
ソニックガーデン 創業者
クラシコム 取締役CTO

「納品のない受託開発」の実践者。著書多数。心はプログラマ、仕事は経営者。

新着記事をお知らせするメールマガジンを配信中です。今後の記事も読みたい方はぜひ登録ください。

→購読する
シェア ポスト
前の記事
「受託脳」から「提案脳」へ〜AI時代に、言われたことをやる仕事は残らない