コードを書かずにシステムを作る。未踏の開発に臨んだ技術責任者の挑戦記
今回は技術責任者の白木さんにお話を聞きました。創業メンバーとして入社し、アプリやWebサービスの開発をリードしてきた白木さん。トップレベルの技術力を誇る開発者の挑戦と、ビットキーの開発・組織への思いに迫ります。
白木 孝典|W&E 技術責任者
まだ道半ば。開発が手を加えずとも売れる状態にしていきたい
創業メンバーとして入社した白木さん。これまで数多くのプロダクトを開発し、組織は何倍にも拡大してきました。3年半を振り返っての感想をお聞きしたところ、真剣な表情を浮かべながらこう語りました。
「これまでみんなで本当に一生懸命やってきたので悔いはないです。ただ、すべてにおいて高いレベルの理想を描いていたので、満足のいくところまでは到達できなかったというのが正直な感想です。プロダクトに関しては『何もしなくても売れる状態』にしたいと思っているので、これからも実現に向けて取り組みたいと思っています」
急激な成長曲線を描いてきたビットキーですが、白木さんにとっては高い満足度とは言えないようです。「何もしなくても売れる状態」という高度な目標との乖離が、その一つの理由だと言います。
「世の中には開発が手を加えなくとも売れ続けるプロダクトがあります。仕事に欠かせないクラウドサービスや、誰しもが使っているスマホアプリなどです。既に完成しているので、機能追加しなくてもユーザーには使われ続けるはずです。うちのプロダクトもそういう状態にしたいんですよね。機能追加もいらない、開発が保守をする必要もない、そんなパーフェクトなプロダクトを出したい。すると、既存プロダクトに開発のパワーを注ぐ必要がなくなり、開発は新規プロダクトにだけ注力できるようになります。高すぎる理想のように聞こえるかもしれませんが、ビットキーは新規プロダクトを続々と展開していく会社。保守が不要になれば、事業展開をさらに加速させることができると思っています」
創業時から描いていた、開発の理想形。技術を突き詰めながら、理想への到達を目指します。
コードを書かずにシステムを作れるように。前代未聞の取り組み
創業からこれまでを振り返って、もっとも印象に残っている技術的チャレンジをお聞きしました。
「 『ソースコードを作るためのソースコードを書く』という取り組みです。自分でコードを書かなくとも自動でシステムが作れるような汎用的なジェネレーターを作りました。ビジネス的にかなり短期勝負しなくてはないタイミングで絞り出したアイディアでした」
workhubと連携する大規模なシステムをゼロから開発する。しかも、開発期間は3ヶ月。白木さんのもとに舞い込んだこの開発案件は、過去最大級の難易度でした。10名の開発者が追加されても到底無理、100名増えればなんとか実現可能となるかもしれないレベルだったそうです。また驚くことに、このシステム開発に携われる開発者は白木さんのみでした。
「絶望を感じながらスタートしました(笑)。ひとまず一人でなんとかやろうと決意して作業を始め、繰り返しの作業は可能な限り自動化し、作業効率を上げようと試みました。4日くらい経った頃、『少しずつ自動化してたら無理だ。もう全部を自動化してやる』という思いに駆られました。そこで1ヶ月間は開発の手を止めて、ジェネレーターの開発に専念するという判断をしました。絶体絶命とはいえ、なかなか恐ろしい判断をしたなと自分でも思います(笑)」
結果的に、この取り組みは大成功を収めたそうです。
「データベースのテーブルが50を超えるシステムでしたが、単一のテーブルでは実装不要、テーブルの結合を含むデータ取得であれば5分程度、テーブルの追加や変更は30分程度の実装で済むようになりました。それによって、僕自身は重要なロジックの実装やテスト、利用するシステムとの結合に時間を割くことができました」
3ヶ月という短期間にもかかわらず、最小のコーディングによってシステム開発をやり遂げた白木さん。汎用的な作りのため、現在は他の開発にもこの仕組みをフル活用していると言います。ヒューマンエラーが起こらないというメリットもあるそうです。
「僕自身がこれまで積み上げてきたものだけでなく、新しい思いつきも都度ここに入れています。なるべくモダンな、最先端の技術を取り入れることも大事にしているので、メンバーの技術的な成長にも寄与できたら嬉しいです」
オリジナルのアイディアで新しい仕組みを作り上げた白木さん。創造性と再現性に富んだその仕組みは、チームの貴重な資産となっています。
技術責任者として、若手メンバーに伝えたいこと
白木さんの背中を追いながら、技術力の向上を目指す開発者も多いはず。ビットキーで共に働く若手のメンバーに、どんなことを伝えたいかお聞きしました。
「スピードもクオリティも追い求めてほしいなと思います。前提として、今ビットキーで開発者として働いた場合、“リリース”が最優先事項となります。バラエティ豊富なプロダクトを多くのユーザーに提供していく。そのために、無茶に見えるようなタイトなスケジュールでリリースを目指すこともあります」
背景にはビジネス戦略が影響していると、赤裸々に語ります。
「個人的な話をすれば、ぶっちゃけ売り上げとかどうでもいいです。僕はただひたすらに、いいものを作りたいだけ。でも、クオリティだけを考えてスピードをゆるめ、会社が存続できなくなったら元も子もありません」
いいものを作りたいという開発者としての純粋な思いを叶えるなら、余裕を持ったスケジュールで、時間をかけて開発をしていけばいい。しかしその場合、会社の思い描く事業成長は見込めなくなる。一方、スピードだけを追い求めて品質の低いものを出してしまったら、開発者としての矜持すらも揺らいでしまう。急成長ビジネスで開発をしていく限り、この課題は切り離せないものだと言います。
「最速でリリースしながら、クオリティを担保する方法のひとつは『開発スピードを上げる』です。できるだけ早く手を動かして、手戻りも少ない状態で作って、クオリティを上げるために時間を使って、空いた時間で世の中の新しい技術を勉強する。なかなか難しいけれど、どれも諦めないでほしい。僕自身は相当なスピード狂だと思います」
タイムアタックが好きだという白木さん。どのようにして開発スピードを早めてきたのでしょうか。
「超集中の状態を続ける癖をつけてきました。『今日は飲み会に行くから早く終わらせるぞ』と決めた途端に、思いもよらないスピードで仕事をこなせたことはありませんか。スピードを出さないといけない場面になると、人って自ずと集中力が高まると思うんです。もちろん僕も、疲れたなぁとか、何もやる気出ないなぁとかありますよ。でも、ダラダラと時間を消費するくらいなら、超集中して早く終わらせて休んだほうがいい。適当にやる、なんとなくやるという時間は一秒もないですね。
あと、仕事の進め方にも特徴があるかもしれません。僕は仕事を進める上で、情報収集にかなり時間を投資します。情報の海に深く潜って、後の工程をなるべく短くする。こういった訓練の積み重ねが今につながっているんだと思います」
スピードとクオリティを極限まで追求する。開発者としての自分を磨くことも忘れない。一朝一夕ではこの境地まで達するのは難しいかもしれません。しかし、この毎秒の積み重ねこそが技術力にダイレクトに影響することを、白木さんの実績が物語っています。
自分に合格点を出せるか。ただそれだけを追求し続ける
白木さんのモチベーションの源泉をお聞きしました。
「一つひとつのアウトプットに対してベストを尽くせたかを振り返ります。納得できるクオリティを、納得できる時間で生み出せたのかと自身に問いかけるんです。それで、合格点を出せたら『よしっ』となる。これが僕の原動力です」
「ユーザーの評価」は白木さんのモチベーションには影響がないと言います。
「共感する人は多くないかもしれませんが、ユーザーから喜びの声をいただいても、僕のマインドに変化はありません。『いいもの作ったもんな』とは思うかもしれませんが(笑)。使ってくださるユーザーに迷惑をかけたくないし、ストレスなく使ってほしいので、ネガティブなものにはすぐに反応します。でも、ポジティブな声をいただいても、それがモチベーションになるわけではありません。仕事の満足度に影響するのは、いかに自分が技術を追求できたのか、いかにベストを尽くせたか、それだけです」
言い訳のできない一瞬一瞬の戦いを経て、白木さんは技術責任者たるべき開発者になりました。しかし、自分の技術に対する納得感を追求するなら、ビットキーでなくともよいのではないでしょうか。
「そうかもしれません。でも、『自分はなんで生きているんだろう』という問いに対する答えはほしいんですよね。世の中には、作るのも楽しくて、ユーザーにも楽しんでもらえるようなプロダクトがたくさんあると思います。しかし、『社会的な価値』という観点だけ見ると、そこまで大きな影響を与えられるプロダクトは少ない気がするんです。ビットキーを選んだのは、社会的な価値が大きいから。ここで開発する意味は、大袈裟に言えば生きている意味を見出せるからです」
技術責任者。その肩書きが示すのは、単に「経験が豊富」「技術に優れている」ということではありません。どの瞬間を切り取っても、「超一流の開発者」であること。それを証明するがごとく、白木さんは今日も自身との戦いに挑みます。
この記事が気に入ったらサポートをしてみませんか?