シニアソフトウェアエンジニアになるために学んだこと
(neilkakkar.com)2018年にブルームバーグへ入社して以来、自分が学んだことを着実に整理している開発者の続編記事
「どうすればもっと成長できるだろう?」
- 領域を広げて成長しよう
→ 学ぶスピードは遅くなる
→ ソフトウェア開発ライフサイクル(SDLC)よりも広い、プロダクト/インフラ開発ライフサイクルを見よう
→ 深く進むよりも広く進むほうが、さらに学ぶべき深いことへ導いてくれる
- 3つの大きな方向性:周囲の人から学ぶこと、良い心の習慣を身につけること、新しい思考ツールを獲得すること
- 周りの人が何をしているのか学ぶ
→ プロダクトマネージャー、セールス、アナリストを理解することが必要
→ どうせコードを書くこと自体が目標ではなく、最終目標はお金を生むプロダクトを作るビジネスを築くこと。
→ 多くの人とミーティングをして、彼らの仕事に関するコンテキストを知る
- 良い心の習慣を学ぶ
→ Thinking Well(考える方法):認知科学を勉強中、Critical Thinking(批判的思考)
→ 毎日をもう少し効率的にするための戦略を立てる
- 思考とメンタルモデルのための新しいツールを獲得する
→ 問題が起きたときに新しいツールを探して学ぶ:最近ではDDD(Domain Driven Design)
→ メンタルモデルのためにHacker Newsを読む
→ 新しい言語を学ぶ
ほかのインサイト(ごく一部のみ抜粋。原文を参照してください。)
- Slack(製品名ではなく、余裕)を守ること
→ 高い生産性をもたらすものの一つは「遅いスピード」
→ 余裕があるときに、実験し、学び、考える機会が生まれる
- 質問すること
→ 人はうまく質問できない。バカに見えるのが怖い、あるいはバカに見えないようにするために別のことを話してしまう
→ 答えが見つかるまでは、その質問がバカだとは判断できない
→ いちばん好きなメタ質問:「それ(X)をどうやって知ったのですか?」
何かを尋ねたあとに、どうやってそれを知ったのかを聞くと、その答えを通じて自分が次に何をすべきか自然に分かる
- Force multipliers:増幅させるもの(人または何か)
「Forceとはジェダイに力を与えるものだ。すべての生命体が生み出すエネルギー場であり、我々を取り囲み、我々を貫いている。銀河をひとつに結びつける。 - オビ=ワン・ケノービ」
→ 「あるスプリントでは、私はあまり多くのコードは書きませんでしたが、変更の調整をし、コードレビューをし、テストをし、別の設計提案を行い、ペアプログラミングをしました。これは私たちのチームで最速クラスのスプリントの一つでした」
→ 自分がForce Multiplierになる方法を知ることは、10x開発者であることよりも価値があるように思える
→ 実際、優れたForce Multiplierの一つはチーム文化
4件のコメント
元記事を読んでいない状態で質問してしまって申し訳ないのですが、
「質問すること」の部分で
「それ(X)をどうやって知ったんですか?」という質問がありますよね。ここでの「それ」の例をいくつか挙げていただけますか? この部分が私はあまりよく理解できなくて… (泣)
ああ、そこでの「それ(X)」は、そもそもそれを尋ねたこと自体を意味します。質問者がAを尋ねたとき、回答者はそのAについての答えをどうやって知るようになったのかを尋ねている、ということです。情報をどの経路で得たのかを聞いている、と考えればよいと思います。
途中でメタな質問として挙げられていた「それをどうやって知ったんですか?」という質問は、本当に良いものだと思います。
その人がどんな経路でこれを知るに至ったのかが分かれば、さらに多くのことを学べそうです。
1年前に、この人が Bloomberg に入社して最初の1年を振り返った記事を共有したことがありましたが、これはその記事の続編です。
記事の後半には、上の記事で書かれていた項目について改めて書いた内容(Nuance と表現)があります。比較しながら読んでみてください。
「どうやって知ったのですか?」は、面接官として面接を行う際にも重要なツールでした。