2024.12.24
「経営陣が見たい数字」が見えない状況からの脱却法 経営課題を解決に導く、オファリングサービスの特長
リンクをコピー
記事をブックマーク
最後に3つ目のコツを話していこうと思います。最後は、チームの話です。3つ目のコツは、「信頼」です。信頼というのは、文字で書くとシンプルですね。
プログラミングとソフトウェアエンジニアリングは違うよ、という話をしたいと思います。みんなはこのイメージがつきますか? プログラミングというのは、例えば学校の課題の中とか、あるいはみんな今手元で作っているもので短期的に動くものです。
それ自体は楽しいし、すごくすばらしいことだし、僕もすごく好きなんだけど、ソフトウェアエンジニアリングというのは、工学というだけあって、ソフトウェアというものをどういうふうに組み立てていくか、それをやっていくことです。
端的に説明しているものを、ちょっと参考に持ってきました。これは僕もすごく好きな『Googleのソフトウェアエンジニアリング』の本です。「時間、スケール、そして作用しているトレードオフだ」という表現があるんですね。
つまり、ソフトウェアエンジニアリングにおいては、プログラムが生きている時間が長いということ。そして、たくさんの人や、たくさんのケースで使われるものだということ。そして、作用がめちゃめちゃあるということ。
だから使う人が多ければ多いほど、この機能が欲しいとか、こうあったらいいとか、みんなが思うこともたくさん出てくるし、こうしたいとかも出てくる。そして、それを調整したり、あるいはなにかの機能を足したりする時に、例えば、できてからまだ1週間のプロダクトと10年が経っているプロダクトだと、どうですか? 1個機能を足すのに、(10年経っているプロダクトは)すごく時間かかりそうなイメージがありますよね。
しかも複雑だから、どれくらい時間がかかるかがわからない。その複雑さを全部知っている人がいない状態にどんどんなっていく。それがソフトエンジニアリングという世界なんですよ。
これからみんながソフトウェアエンジニアとして働くのだったら、こういう世界に足を踏み入れるということになります。
あと言えるのは、やはりソフトウェアエンジニアの世界は、スケール、作用の話で言うと、やはりチーム競技なんですよ。多くの人が、みんなが書いたコードを読んでいる時間のほうが長いんですよね。たくさんの人がこういうことをやりたいと思う。そして、いろいろな失敗をする。なぜならたくさんの人が試すから。
でも、たくさん失敗するのはいいことですよ。みんながいろいろなことを考えている。これがやはりソフトエンジニアリングのスケールが起こすことです。そして時間が経てば経つほど、ソフトウェアというのは複雑になるんですよ。
みんなも想像がつきますかね。大きくなれば大きくなるほど、時間が経てば経つほど機能が増えて、リファクタリングしても、またモジュールが増えて、新しい設計パターンをやりたいというのができて、また増える。そして、「いや、こういうことをまた実現したいよ」と、また舵を右に切って、左に切って、いろいろな機能を付けて、どんどんコードベースが大きくなる。マイクロサービス化しても、それを支える基盤のコードがどんどん大きくなる。そういうことがまぁ起きるんですよ。
自分の経験則からもう少し話をすると、僕自身、1人目のCTOの時は、エンジニアチームもすごく人数が少なくて、全部自分で書けばいいでしょというストロングスタイルのエンジニアだったので、やればいいじゃんって思いがちでした。
途中でfluctでマネージャー、大きなチームでやろうとマネジメントをやった時に、当時10人ぐらいだった開発チームが30人ぐらいまで増えたんですけど、やはり30人とかになると、成長スピードも速いんですよね。機能もバーっと増えていくし、ビジネス側もやりたいことをバンバン言ってくるから、いろいろな機能作って、いろいろなお客さんにデリバリーしていったら、めちゃくちゃ機能が増えていく。
線形ではなく、グンと複雑になっていった。大きくなると、全体を知っている人がいなくなるんですよ。まさに複雑性の増加だったんですね。
自分でやればいいじゃんというスタイルは、やはり限界が来るんですよ。なぜなら全部がわかんないから。時間をかけて、読んでいったりすればわかるんですけど。この時に、このままじゃ無理だなと思って、やはりソフトウェアエンジニアリングをやっているんだと思ったんですよ。
複雑すぎて見積もりすら難しい。それが起きた時に僕は、チームメンバーにどんどん聞いたんですよね。「どうすればいいと思う? ちょっと俺もわかんないんだよね」って言って。「このキュー機能を作りたくて、こういうメトリックを取って、このお客さんにこういう機能をこの早さで、この粒度で設計したいんだけど、どういうアイデアありますか?」と、どんどん聞いたんですよ。
もう調べてもらって、任せる。レビューはするけど、基本的な設計とかどんどん任せてやっていったんです。どういう方向に向かっていったらいいと思う? という質問をいろいろな人にして、いろいろなアイデアを取り込みました。
その結果、僕自身が想像しなかった未来に行ったんですよ。fluctは海外展開もしていて、USもあるし、いろいろなところで展開しています。もともとなかった音声動画の機能も付いて、コンサルティング事業も拡大して、誰も想像してなかったけど、そうなっていった。そういうことが起きていったんですよ。
この時にやはり感じたのは、「さらけ出す」こと。エンジニアとしていくら優れていたって、経営者としていくら優れていたって、やはりさらけ出さないと。俺もわからないんだよとか、俺もここが不安なんだよねと共有ができないチームは、絶対に信頼関係を築けない。
だからこそ、自分から「ここは俺もわかんない、助けてほしい」と言えるチームであることは、めちゃくちゃ大事だと思っています。わからないことをさらけ出すことは、むしろプラスだと思います。
その結果、やはり信頼は積み重なっていって、チームで大きな挑戦がしやすくなるんですよね。挑戦しやすいと失敗の数も増えるけど、長期的に見ると成功に絶対つながるんですよ。だからこそ、さらけ出したり頼ったりすることを起点に、信頼が積まれていく。それをみんなのコツとして意識してほしいなと思っています。
なので、3つ目のコツは信頼です。信頼し、任せること。これからキャリアを歩んでいく中、きっとなにかのチームで、なにかのプロジェクトをやっていくと思いますが、チームでやるものだからさらけ出してください。
信頼すると自分に絶対戻ってきます。自分が想像もしなかった未来に一緒に行けるから、それをぜひやってみてほしいなと思っています。
というわけで、まとめです。エンジニアが圧倒的に成長する3つのコツということで、今日はマインドの話をしてきました。
1つ目に好奇心、2つ目に一日一歩進む、そして、3つ目に信頼の話をしました。どうでしたかね。
言い換えるなら、こういうことかなと思っています。みんながこれからキャリアを歩んでいく中で、好奇心を押さえ込まずにやはり楽観的にいてほしいなと、(楽観的で)いきましょうということ。
そして、みんなが進めば進もうとするほど、不安は出てくるけど、挑戦に不安はつきものだから。だからこそ、毎日前に進んで、自分に自信を持てるようにしてほしいなと思っています。
そして、3つ目は信頼の話で、さらけ出してチームの力を信じて、みんな自身がチームを進められる人になってほしいなと思います。一言でまとめると、やればできると、やりましょうと。やらなければ何も得られないけど、やればできると思うから、ぜひかっこいい大人になってほしいなと思っています。
(コメントを見て)「JUST DO IT」って、めっちゃチャットに流れてるね。
最後にPRです。インターンシップがあります。これはもう10年以上やっているエンジニアのインターンシップで、「Tresure」というのをやっています。僕も参加したんですが、Goを使ったものづくりをしますので、ぜひ応募してください。発表は以上です。ありがとうございました。
関連タグ:
2024.12.29
日本より年間200時間も平均労働時間が短いフランス式仕事術 無駄を省く「メール」と「会議」のコツ
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2025.01.03
篠田真貴子氏が選んだ「新年に読みたい一冊」 現代組織の“慢性疾患”に対する処方箋
2021.09.23
バイオリンの最高峰「ストラディバリウス」の再現がいまだにできていない理由
2025.01.02
新規事業や困難な事態を乗り越えるための5つの原則 仲山進也氏が選んだ「新年に読みたい一冊」
2024.12.26
孫正義氏から3度の事業承認を勝ち取った、事業開発のプロが語る 0.1%という狭き門をくぐり抜けたアイデアの生み出し方
2024.12.26
プロジェクトをスムーズに進めるマネージャーの「課題ツリー」活用術 マッキンゼー流、理論と実践のギャップを埋める3つのポイント
2015.11.24
人は食事をしないとどうなるか 餓死に至る3つのステップ
2024.12.27
生成AIスキルが必須の時代は「3年後ぐらいに終わる」? 深津貴之氏らが語る、AI活用の未来と“今やるべきこと”
2025.01.05
ベッドに入っても仕事のことばかり考える、なぜか疲れが取れない… モヤモヤを対処するための「メンタルヘルス」に関する記事3選