スタートアップでエンジニアに求められる能力

要約

スタートアップでエンジニアに求められる能力まとめ

  • コードを動かす(当たり前)
  • レビューする
  • 自動テスト書く&CI回す
  • コスパを求める
  • 技術的負債を(時には)許容する
  • 小さく作る
  • コーディング大好きでも、判断はクールに
  • 手を動かす

何様か、なぜ書くか

スタートアップでリードエンジニアでかれこれ5年以上やってきたので、そのなかで感じた、必要な能力をまとめたメモ。

コードを動かす

当たり前なんだけど、自分の書いたコードが動くことをちゃんと確認すること。そもそも人数がいないので、一人一人が自分が最終責任者だと思ってチェックする。

レビューする

チームが大きくなってくると、ソースコードの質を落とさないようにソースコードレビューを神経質なくらいにやる必要がある。メンテナンス/新規機能追加コストが落ちるので、そうなってくるとスタートアップとして致命的になる。

自動テスト書く&CI回す

メンテナンスにコストできるだけかけずに攻めるほうにコストかける必要があるので、自動化できるところはできるだけやる。

コスパを求める

問題解決するのに、一番時間がかからないやり方があればそれを使いたおす。聞ける人がいれば1回ググって手がかりなければすぐ聞く。時間あたりの生産性をあげることをさぼらない。

技術的負債を(時には)許容する

リファクタリングとかソースコードの質を上げ始めるとエンジニアとして楽しくなってやりすぎがちなので、適度なところでストップできるようにする。

小さく作る

検証したいと思っていることが検証可能なもので、最小限でつくる。大きく作るのは誰にでもできるが、小ささを保証するのはエンジニアしかできない。なぜならメンテナンスコストを自分ごとできるのがエンジニアだけだから。

コーディング大好きでも、判断はクールに

コード書いてて楽しいとか、ハマってて解決できるまでやりたいとかあるけど、常にそれが優先度高いかを判断してやめるときはやめる

手を動かす

新しいアイデアは考えてても進まないので、手を動かす、作る