10年間のエンジニア経験:過去10年間を振り返って

雑記
スポンサーリンク

こんにちは、もんさんです
10年前、新卒として某大手IT企業に入社し、エンジニアとして働き始めました
それから10年が経ち、今に至ります
この10年間での私のエンジニアとしての経験を振り返り、学んだことや仕事の変化、キャリアの変化を紹介し、最後に私がエンジニアとして10年前に知っておきたかったことをアドバイスとしてお伝えします
この記事がエンジニアとしてのキャリアを積む上での参考になれば幸いです

エンジニアとしてのキャリア

学生時代

大学は電気情報系の工学部に進みました
学生の間、プログラミングとの関わりはC言語の授業のティーチングアシスタントだけで、それ以外ではプログラミングに触れる機会はありませんでした
なんとなく、ものづくりに関わりたいという漠然とした思いはあるものの、確信はないまま就活をし、内定がもらえたIT企業に新卒入社しました

ジュニアエンジニア時代(1〜3年目)

最初の研修でPHPとJAVAを学びました
先輩が1名、メンターとして担当になり、指導を受けながら開発に取り組んでいました
当時は指導を受けながら、時に一人でただただコードを書くことに専念していたように思います
メインで担当していたシステムの開発の他に簡単な業務ツールを作ったりもしていました
また、運用も担当しましたが、担当システムの重要性は低かったため、休日に対応することはありませんでした
今思うとこの時期は知らないことが多かったですが、当時の私は出来ることがどんどん増え自信に満ち溢れていたように思います
ただ、今思い返すとそれはエンジニアという仕事の全体像が見えておらず、一部だけを見て知ったような気になっていただけだと思います

ミドルエンジニア時代(4〜9年目)

気付けば指導を受けることはなくなり、一人で開発することが増えてきました
そのうちにペアプロやモブプロといった開発手法が流行り始め、指導や相談をしながらのコーディングの機会が増えてきました
また、コーディングだけではなく、設計や要件定義、リリース計画、インフラの構築、開発プロセスの制定など関わる領域が広くなってきました
担当システムの重要度も上がってきてオンコールでの運用や休日対応も発生するようになりました
この頃には自分が面倒を見ているシステムだけではなく、他の部署のシステムとの連携の相談も多かったように思います
エンジニア歴が長くなるにつれ、自分より若いエンジニアが自分より圧倒的に高いスキルを持っているということが珍しくなく、自信をなくしていった時期でもあります
晩年は当時のチームリーダーが後任を育てたいと思っており、後任候補の私の仕事にマネジメント領域のものが少しずつ混ざっていっていました

エンジニアリングマネージャー時代(10年目〜現在)

所属していたチームのリーダーになりました
マネージャーになった直後は今までのプレイヤーとしての動きを続けながらマネージャーをやろうとしていましたが、長時間労働を余儀なくされ潰れそうになりました
途中から仕事を委譲し、プレイヤーとして動きすぎないことを意識し始めてからは楽になってきましたが、コーディングをする機会は急激に減ってきており、エンジニアとしての勘が失われないかと思い不安になります
そんな不安からか、油断するとたまに「自分がやった方が早い病」が発病するのでどうにかしたいというのが現状の課題です

10年前の自分へのアドバイス

1.バカの山に居ることを疑え

何かが上達している時、全てがわかったような気持ちになることがある
それは本当に全てがわかったわけではなく、「知らないと知っていること」が少ないだけかもしれない

いわゆるダニングクルーガー効果の「バカの山」というやつだ
自信がついた時は油断せず、「知らないと知っていること」を増やすために行動しろ

2.ストレスと上手く付き合え

ソフトウェア開発という仕事は、不確定要素が多く、スケジュールが大きなストレス要因になる
全てを投げ出して逃げ出したい気持ちに駆られることもあるし、夜眠れなくなることもある

まず、突発的なストレスの悪影響を抑える方法を覚えろ
自分だけのコーピングリストを作り、急性のストレスで動けなくなりそうな時に使え

次に、慢性的なストレスの悪影響を抑える方法を覚えろ
ACTのような心理療法やマインドフルネス瞑想のような手法を使うのが有効だ
適度な運動や自然に触れることも効果がある
心拍変動を使ってメンタルの状態を測るのも良い

最後に、ストレスを力に変えろ
ストレスは決して悪者じゃない
目の前に危機があることを教えてくれ、危機を乗り越えるための力をくれる
動悸が早まったり、目が覚めたりするのは危機を乗り越えるための力を体が与えてくれているからだ
このマインドセットを持つことでストレスの影響はポジティブなものになる
「スタンフォードのストレスを力に変える教科書」を読んでおけ

3.意外と喋る仕事だから覚悟しとけ

エンジニアとは黙々と一人でする仕事だと思っているだろうが、そんなことはないから覚悟しておけ
確かに問題や課題を技術で解決するのがエンジニアの仕事だが、そのためにはどのような要求や要件があるかを理解する必要があり、そのための最も効果的な方法は対話だ
そうでなくても、設計やコーディングだって一人でやることはどんどん少なくなってきている
だから、コミュニケーションを避けず、覚悟を決めて人と関わっておけ

4.書籍はとにかく読んでおけ

書籍から得られるものは多い。だからひたすら読め

チームで動く時は共通の言葉や価値観が必要になる
優秀な先輩方は書籍から言葉や方法論を学び、それを使って会話をしている
何も学んでいない状態では同じ言語で会話できないと思え

他にも、書籍を読むことは自分が何を知らないのかを知る手段になる
本を読んで何かがわからないと思ったら、それは自分が「何がわからないかを知った」事になる
自分が何がわからないかを知っていなければ、調べることもでないし人に聞くこともできない
自分が何がわからないかを知っていれば、調べることもできるし人に聞くこともできる
技術を使って課題を解決するという仕事をする上で、この差は大きい

コメント

タイトルとURLをコピーしました