ITエンジニア歴20年、転職3回の今だから思うこと
ITエンジニアとして20年。転職は3回。
振り返ると、コードを書いていた時間よりも、
「環境って大事だな......」と感じていた時間のほうが長い気がします。
技術は進化し、言語は変わり、
フレームワークは生まれては消え、
「あれ?これ昨日までの正解じゃなかった?」みたいな世界で生きてきました。
そんな中で、最近しみじみ思うのがこの3つです。
- エンジニアも社会人もスポーツも、結局「基本・基礎」が一番強い(新卒の会社が基礎を教えてくれる会社でよかった)
- 地力をつけるのは才能じゃなくて「環境」(転職した少人数ベンチャーで何でもやらざるを得なかった)
- 人間関係も仕事も生活も、わりと「運」や「業界・会社選び」で決まる気がする
今日はその話を、少し書いてみます。
結局、基本が一番裏切らない
新卒で入った会社は、C言語やJavaを使ったソフトウェア開発会社でした。
今思えば、かなり"地味だけど良い会社"だったと思います。
派手な技術はありません。
「最新フレームワークで爆速!」みたいな文化もありません。
でも、その代わりに徹底していたのが基礎でした。
- メモリって何で、どこで事故るのか
- 例外やエラーの扱いを雑にすると、なぜ後で詰むのか
- 設計の"筋"が悪いと、なぜ保守で地獄を見るのか
- ログ、デバッグ、切り分けの順番を間違えると、なぜ時間が溶けるのか
当時は正直こう思ってました。
「もっと新しい技術やりたいんだけどな......」
でも20年経った今、はっきり言えます。
あの基礎、ずっと使ってる。
スポーツと同じで、
- 速く走る前にフォーム
- 強いシュートの前に体幹
エンジニアも同じで、
- フレームワークの前に「データ構造と処理の流れ」
- 便利ライブラリの前に「原因切り分け」
- クラウドの前に「OS・ネットワークの基礎」
流行りは消えるけど、基本は残る。
これは間違いないです。
地力は「才能」じゃなく「逃げられない環境」でつく
転職して入った少人数のベンチャー。
ここで人生観が一気に変わりました。
人数が少ないので、役割分担という概念がほぼない。
- サーバーが怪しい → 自分
- 仕様があいまい → 自分が整理する
- クライアント対応 → 自分
- 採用 → なぜか自分
- 社内バックオフィス対応 → さらに、なぜか自分
「それ、誰の仕事ですか?」と聞くと、
「やれる人がやる」という、非常にシンプルかつ厳しい回答が返ってきます。
逃げ場はない。
助けも少ない。
でもその分、否応なしに力がつきました。
ここで学んだのは、
人は「必要に迫られた分だけ成長する」
という、あまり優しくない真実です。
ただ、これって裏を返すと、
「成長したいなら、ちょっと背伸びが必要」ってことでもあります。
人間関係もキャリアも、結構「運」だと思っている
20年やってきて思います。
努力や実力よりも、影響が大きいものがある。
それが「どこで」「誰と」働くかです。
- 上司との相性
- 会社のフェーズ(拡大期なのか、縮小期なのか)
- 業界の波(追い風か向かい風か)
- たまたま一緒になったメンバー
これ、正直コントロールできません。
どれだけ真面目でも、
どれだけスキルがあっても、
環境が合わなければ消耗します。
逆に言えば、良い環境に当たると、
同じ自分でも驚くほど伸びます。
これは甘えじゃない。
長くやったからこそ、そう思います。
「運」を引き寄せるためにできること
じゃあ運任せでいいのかというと、そうでもないです。
やっておいて良かったことは、だいたい地味なことでした。
- 基礎をサボらなかった
- 「わからない」を放置しなかった
- 人を雑に扱わなかった
- 小さな仕事をちゃんとやった
派手じゃない。
バズらない。
でも、後から効いてくる。
運はコントロールできないけど、
運が来たときに掴める準備はできます。
20年やって、今いる場所で思うこと
今は、現場も見つつ、人も見て、考える立場になりました。
だからこそ思います。
- 基礎を大事にしている人は、結局強い
- 環境は人をつくる
- キャリアは直線じゃない
- 結果「運」も大事
もし若い頃の自分に言うなら、こう言いたいです。
焦らなくていい。
ちゃんとやってれば、思ったより遠くまで来れる。
そしてこれは、エンジニアだけじゃなく、
社会人にも、スポーツにも、
たぶん人生にも、同じことが言える気がしています。
どこかで、エンジニアの価値を少しでもベースアップする手助けが出来てれば幸いです。