挨拶
はじめまして、新卒エンジニアの鈴木です。現在は研修のコンテンツに奮闘中です。大学で情報系の学問を学んだり、友人とアプリ開発をしたりといった経験の中でエンジニアを志しました。
これから得た知識や経験をアウトプットする場としてQiitaを活用していこうと思っていますので、よろしくお願いします!
本記事のきっかけ
研修のリモートワークの合間に自己理解を深めようと、過去の読書メモ(「世界一流エンジニアの思考法」)を見返していたら、当時は「ふーん」で終わっていた言葉が今の自分にめっちゃ刺さったのでQiitaに書き残しておきます。
今後配属されて、さらに時間に追われるであろう方々や、すでに実務で苦しんでいる方々にもほんの少しは役に立つかもしれません。
刺さった考え方2選
1. 理解に時間をかけるのを恐れない
「早くできるように頑張る」は後の生産性をむしろ下げる。そして、どんなに頭のいい人でも理解には時間がかかる。
過去の経験で痛感したこと
「動くコード ≠ わかった」
アプリ開発で生成AIに丸投げで核となる機能実装はできたけど、後で仕様変更や追加機能が来ると「なぜ動いたか」が分からず全壊。結局、ほぼ0から書き直すことになりめっちゃ時間をロスする。
早く終わらせようとするほど遅くなる
焦ってコピペ → 例外 → デバッグ泥沼 → 教授レビューで再設計…を何度もループ。最初の30分で概念図を書いておけば3時間浮いたはず、という後悔が数え切れない。
推奨されている理解へのプロセス
問題に遭遇したら、ログを見る→いくつかの仮説を立てる→その仮説を証明するための行動をとる( まず仮説を立て、アプローチを選定してから動く )。
つまり、 「手を一切動かさず、頭を使う」 ことが大切である。思いつきによる「試行錯誤」は悪。
「理解は時間がかかるもの」として、急がず、徹底的に理解する習慣をつける。
2. マルチタスクは生産性が最低なのでやらない
メモによると
- 生産性 −40 %
- 仕事終了までの時間 +50 %
- ミスの発生 +50 %
これがマルチタスクよって発生する悪影響とのこと。
実際、研修タスクを 基本情報の勉強 と 寿司打 と 作業系タスク で行ったり来たりした日は、何も終わらず “やった気疲れ” だけが残るという地獄を経験済み。
マルチタスク防止策
1. WIP(Work In Progress)= 1
今手をつけている仕事を1つに限定すること。30~60分を割り当てたら、それ「のみ」に取り組む。すぐに終わらないものは、人に問い合わせるなど、物事を進めておいて、待ち状態にして、次のタスクに進む。1つのことをやっている時は、他のことは一切せずに集中する。
2. タスク中断前メモ
1つのタスクを中断する場合、すぐにその状態から再開できるように記録したり、整理しておいたりする。
タスクの残骸は消しておく。 ー 例:ブラウザのタブはそのタスクが終わったら閉じて、必要なものは記録しておく(そうしないと、気移りしてしまう)。
3. 毎日4時間は自分だけの時間を確保する
阻害するものをとにかくブロック。何かを変えたいなら「住むところ」「付き合う人」「時間配分」のいずれかを変えるしかない。だったら「時間配分」を変えるのが一番手っ取り早い。
おわりに
結局、だれが何を言うかで信用が変わるものだと思います。現状の私が語ろうがあまり響かないし、そもそも「世界一流エンジニアの思考法」のほんの一部を参照したに過ぎないので、少しでも「ためになりそう」「面白そう」と思ったらぜひこの書籍を買ってみてください。