意思決定できるエンジニア
今年初参加の記念すべきトップバッターを務めさせていただきます。
私はエヌ次元でモバイルアプリ開発エンジニアをやっています。
意思決定をたくさんした 1 年
2022 年 11 月でエンジニア歴 2 年が過ぎました。
この 1 年は本当にあっという間に過ぎていったと感じています。
その一方で、たくさんの新しい経験をすることができた影響で 2 ~ 3 年くらいに感じる濃密な 1 年でした。
今年 1 年を振り返ってみると、 たくさんの意思決定をした 1 年 だったと思います。
そして、たくさんの意思決定をしたことで、エンジニアとして大きく成長できたと実感しています。
本記事では、「意思決定をすること」と「成長」の組み合わせに焦点を当てつつ、私の体験をお話したいと思います。
本記事を通じて、私のように 実務歴 1 ~ 2 年の若手エンジニアの方にも、業務中に率先して意思決定をし、成長する機会に恵まれれば大変嬉しく思います。
意思決定をするとは?
Wikipedia では、「意思決定」とは以下のように定義されています。
人や団体が特定の目標を達成するために、ある状況において複数の代替案から、最善の解を求めようとする人間の認知的行為である
引用元: 意思決定
私が認識している定義と、大きなズレはありません。
その他に、私は「意思決定」を実行する際には 2 つのものが付随してくると思います。
それは、 「自由」 と 「責任」 です。
「自由」というキーワードはとても響きが良い一方で、「責任」というキーワードはとても悪いイメージを思い浮かべますよね。
誰しもが自由に好きなこと、正しいと思ったことを選択したいけれども、責任を伴うならばやりたくない、誰かに決めてほしい。
そのように感じるのは、人間の性(さが)だと思います。
私も最終的には自身の判断で何かを決断しなきゃいけない時には、とても不安を感じます。
しかしながら、この自由と責任を伴う意思決定をすることは、人を大きく成長させてくれると体感しています。
これまでに触れてきた「意思決定をする」というキーワードに関心を持ったきっかけは、とあるパネルディスカッションがきっかけでした。
パネルディスカッションで頻出した「意思決定」
ちょうど今から 1 年前に、LayerX CTO(当時)松本勇気さんとSouzoh CTO(当時)名村卓(すぐる)さんによるパネルディスカッション「エンジニアのこれから」に参加しました。
このパネルディスカッションでは、お二方の口から「意思決定」というキーワードが頻出していて、とても記憶に残っています。
当時はパネルディスカッションで話していた内容を社内開発メンバーで共有したいと思い、メモ帳に書き残していました。
このメモ帳を眺めてみると、「意思決定」というキーワードは合計で 25 回も登場していました。
どのように「意思決定」というキーワードが使われていたかを以下に抜粋します。
- コード書けるエンジニアではなく、意思決定できるエンジニアが昔も今も、そして未来でも求められている(名村さん)
- 市場価値を上げるためには、意思決定をすることが大切である(松本さん)
- 意思決定をする人が大事であり、決断できるエンジニアが主要な場所にいてほしい(松本さん)
- 会社に求められる人は、意思決定できる人である(名村さん)
- エンジニアはコードを書くよりも、意思決定をする方が大切だと思っている(名村さん)
- 何を実現するために、何をやるのか、How ではなく、 Why を考えないと意思決定はできない(名村さん)
- アルゴリズムばかり学んでも、意思決定できる人間にはなれない(名村さん)
- 自分で意思決定できること、意思決定できる上司がいるかは大切です(松本さん)
このパネルディスカッションに参加した当時の私はまだ エンジニア 1 年目が終わる頃でした。
若手エンジニアということもあり、業務中に重要な意思決定をする機会があまりなかったので、お二人が話す「意思決定」の重要性を肌で感じることができなかったと記憶しています。
しかしながら、お二人の口から「意思決定」という言葉が頻出していたこと、「意思決定できるエンジニアが今も将来も重要である」ことは、かすかに頭に残りました。
今振り返ってみると、まだエンジニア 1 年目の私でも意思決定をすることに触れることができる恵まれた環境だったように感じます。
なぜならば、当時のモバイルアプリ開発チームリーダーが設計や実装方針の選択をする背景 Why を教えてくれたり、小規模な機能開発で詳細設計や工数見積もり、進行管理などを新人の私に任せてくれたことで、私が将来「意思決定」できる準備を整えてくれていたのかなと今は思います(ありがとう、T田さん!)。
どんな意思決定をしてきたか?
過去 1 年間にやってきた意思決定は、以下のようなものが挙げられます。
- 影響範囲を考慮して、このコードを残すのか、削除するのか
- 将来の運用や工数を考慮して、どの設計にするのか
- (メンバーの成長を期待しつつ)誰に課題を任せるのか
- コードレビューで、この実装方法を許容するのか、修正を依頼するのか
- ある変更を今回の本番リリースに含めるのか、含めずに次回本番リリースに回すのか
- WEB アプリケーション新規開発にどのアーキテクチャを導入するのか
- WEB アプリケーション新規開発にどの技術を導入するのか
- 1on1 のメンターとして、どんな話題をメンティーと話すのか
- 採用業務の候補者選定の中で、一緒のチームで開発したい人かどうか
また、私は意識してエンジニアリング以外の業務も率先してやるようにしていたので、エンジニアリングとは直接関係ない業務でも意思決定をするようにしていました。
なぜエンジニアリング以外の業務も率先してやるようになったのでしょうか?
それは、弊社代表取締役が言っていた 「エンジニアこそ、エンジニアリング以外の仕事も取り組むべき」 という言葉が影響しています。
エンジニアなりたての当初は「エンジニアはエンジニアリングに集中すべきだ」と思っていましたが、今は段々とこの言葉の意味と恩恵を分かるようになってきました。
そして、今では自身の座右の銘の一つにしています。
たくさんの意思決定をすることで変わったこと
意思決定をする中で、以下に上げるポジティブな変化が自身に起こりました。
- 携わるサービスへの当事者意識と責任感をより一層強く持つようになった
- 問題が発生しても、落ち着いて対処できるようになった
- 意思決定をするスピードが上がった
- 振り返りの KPT で、たくさんの Problem と Try が出てきた
- エンジニアリングに関係なく、多方面の分野に関する本をたくさん読むようになった
特に 1 つ目に挙げた項目は、私が「プログラマーからエンジニアになる」ために必要な意識の変化だったと思います。
エンジニア 1 年目の時に、弊社代表取締役が言っていたことは今でも鮮明に記憶に残っています。
皆さんはプログラマーではなくて、エンジニアになってもらわなければなりません。
エンジニアは、システムに対して社会的に責任を負うということになります。
こうしたポジティブな変化がある一方で、ネガティブな問題も発生しました。
私が意思決定をすることで発生する問題
私が意思決定をすることにより、チームメンバーが意思決定をする機会を奪ってしまっていると感じています。
意思決定をすることで大きく成長できると私が体感している以上、チームメンバーの成長を阻害してしまっています。
この問題を解決するために、以下のような取り組みを行っています。
正直な話をすると、私が期待しているほど実践できていない事実がひどく残念です。チームメンバーの皆さん、ごめんなさい。
- 本人の力量を超える課題レベルでも、信頼して任せると同時に、無駄な口出しをしない
- コードレビュー時のフィードバックに「なぜそのように考えたのか」を共有する
- 質問されても、回答は出さずに、ヒントになるものだけを渡す
- 課題発見から問題解決までの思考法を文章で書き起こし、メンバーに共有する
1 番目と 3 番目に挙げた点は、意識していてもなかなか改善できないでいます。
よく会話をした後に、「あぁ、言わなければよかった」と後悔することが多々あります。
最近読んだ書籍で述べられていたことを実践してみる価値はありそうだなと思っています。
それくらい無駄な口出しをしたり、余計なことを言ったりしてしまう自分を本当に改善したいです。
沈黙という「可能性が詰まったもの」の中に、丸1日飛び込んでみることをすすめています。「24時間だけでいいから耐えられれば、より優れた聞き手になれます。自分の言葉がいかに重要でないか、そして他人の言葉がいかに重要か、学べます」
引用元: 「LISTEN――知性豊かで創造力がある人になれる Kindle版」314頁
今後は、チームメンバー一人一人が意思決定をし、自身で課題発見から問題解決を行っていける環境を作っていきたいと思っています。
そのような環境を作ることで、私がボトルネックになる問題を解消するとともに、チームメンバーの成長を促す良い循環を生み出すことができると考えています。
なぜ私は意思決定をする機会に恵まれたのか?
これまでに触れてきたように、私は意思決定をする機会に恵まれました。
なぜ意思決定をする機会に恵まれたのでしょうか。
単純に運が良かったからでしょうか?
前任者のチームリーダーが退職して、そのポジションを引き継ぐ機会に恵まれたからでしょうか?
これらの要素が影響していることは否定できませんが、何よりも自身でどんどんアピールして手を上げるように取り組んできたからだと思っています。
例えば、1on1 の場では以下のような希望を頻繁に声を上げていました。
- アーキテクチャ選定や技術選定に携わりたい
- WEB アプリケーション開発、特にバックエンド側の設計と実装をやりたい
- モバイルアプリのネイティブ開発をしたい
上記の希望は、この 1 年間で全て実現することができました。
これらが実現されるように働いた背景には、弊社には「声を上げる人にチャンスを与える」文化があるからだと思います。
とある採用面接にて、応募者から以下のような質問がありました。
エヌ次元に入社して良かったことはなんですか?
それに対して、私は以下のように答えました。
大きく成長できたことです。
自ら手を上げて、やりたいことを声に出してアピールする能動的な人にはチャンスをどんどん与えてくれる会社です。
そのため、能動的で成長意欲のある人にはとても良い環境だと思います。
終わりに
先述のパネルディスカッションでは、名村さんは 「目の前にくるボールを期待以上に打ち返すことを続ける」 ということも述べていました。
実は、この言葉がパネルディスカッションを聞いていた当時の私に一番影響を与えた言葉でした。
来年も引き続き成長し続けれられるように、「意思決定できる環境」に常に身を置きながら、「たくさんのボールを期待以上」に打ち返していきたいと思います。
Discussion