FUNBREWの金井です。
エンジニアの仕事をしていると「なんでこんなにすごいんだ!」と思ってしまう人に出会うことがあります。
すごいという思うだけならまだいいのですが、強烈にその気持ちを刺激する出来事があると、「とてもではないけど勝てない」という気持ちになります。
別に戦っているわけではないので、勝つ・負けるというのは実際にはありませんが、「同じエンジニアなのにこうも違うのか」と心が折られそうになるわけです。
私も新卒でIT会社に入社してから、ずっと劣等感を感じながら日々を過ごしていましたが、気づいたら業界10年以上のキャリアになっていました。
今振り返ってみても、自分のエンジニア経験の中で、わかりやすくキャリアを積めたことは一度もありません。
というのは、プログラマー志望なのにプログラミングが一切やれなかったり、頑張りが評価された瞬間にメンバーの管理に回されたりと、自分の思い通りにならない期間が長く続きました。
ただ、会社員時代ではまともな実務経験が積めなかった自分でも、若手のエンジニアからは「凄い」と見られるぐらいには達しているようです。
それではすごいエンジニアとのはどんなエンジニアなのか。
どうしたら凄いと言われるエンジニアになれるのかについて考えてみたいと思います。
凄腕のエンジニアはスタート地点が違うことがある
エンジニアには、職業エンジニアと根っからのエンジニアの2つのタイプがあります。
職業エンジニアは聞き慣れない言葉だと思いますが、現在の日本のIT業界で人が足りていないと言われているのが、この職業エンジニアです。
職業エンジニアがどういった人かというと、業務を遂行するために一般的な設計・開発技術などを身につけた人のことを指します。
ただこの「一般的」という言葉が厄介で、SESとして現場に入るなら、例えば、Java、Spring、オブジェクト指向の理解などが求められます。
これらは多くの現場で要求される共通の知識であるため、現場常駐が多い会社ではあらかじめ研修があったりします。
このように現場で求められる知識を身につけていく働き方が職業エンジニアになります。
一方、好きでプログラミングやエンジニアリングをやっている人がいます。
好きで好きでやっている人たちのことを、私は根っからのエンジニアと呼んでいます。
例えば、根っからのエンジニアである人たちの経歴を聞くと、「小学校にあるパソコンを、独学で学んだプログラムを書いて全部ぶっ壊した」とか、ぶっ飛んだ逸話が本人から出てきます。
想像できるかと思いますが、凄腕のエンジニアというのは、根っからのエンジニアである人たちが多いです。
根っからのエンジニアである彼らは、仕事であろうがプライベートであろうがパソコンに向かって、技術的な何かに触れるということを当たり前にやっています。
趣味であり、仕事であり、ライフワークとして生活の一部になっている人たちですね。
働き始めるスタート地点は同じでも、根っからのエンジニアの人は資質の部分で大きなアドバンテージがあると言えます。
凄腕のエンジニアで、特にスタートダッシュを切れている人たちと比べることは、そもそものハードルが高めであるといえるでしょう。
ひたすら経験を積もう
精神論の話になりますが、凄腕のエンジニアになるにはひたすら経験を積んでいくしかありません。
今でこそ優秀なエンジニアも、昔はたくさん失敗をしているはずです。
様々な失敗を経験し、その過程で洗練されていき、いつの間にか凄いと言われるエンジニアに至ります。
もし既にエンジニアとして一歩を踏み出しているなら、あらゆることにチャレンジしてみてください。
幸い、エンジニアは転職も比較的容易であり、SESの形態であれば、さまざまな現場を経験できます。
現場の数だけ採用している技術や働いてる人の違いがあります。
がむしゃらに現場に適応していくだけでも、相当な経験になるでしょう。
エンジニアの仕事を長く続けること
経験を積むには、長くIT業界にとどまるのが一番の近道です。
根っからのエンジニアの話をしましたが、彼らの単純な強みはITに触れているという意味での経験年数が非常に長いことです。
先の話のように、常にチャレンジをしながら、長くエンジニアの仕事に触れておくのは最低限必要になることでしょう。
ただし、「長く続けろ!」と書くのは簡単ですが、何度も壁にぶつかることはあります。
凄い人を見ると劣等感を感じてしまいますし、簡単な間違いにも関わらず、一日中悩んでしまった…など、自分を卑下してしまう瞬間はたくさんあります。
でも、やめなければ、続けていれば、必ずと言っていいほど凄いエンジニアなれると私は確信しています。
凄いエンジニアといっしょに仕事をしよう
もし機会があるなら、凄いエンジニアを遠目に見るだけでなく、いっしょに仕事をしてみてください。
その人が凄い理由が直に体験できるでしょう。
私が社員時代にお世話になった先輩は、とにかく知識量が豊富でした。
それを裏打ちしているのは圧倒的な好奇心による経験量であったのですが、それは何度もいっしょに働くことで気づけたものでした。
今回は凄いエンジニアの定義は特に決めていませんが、その人が「なぜ凄いのか」、近くで感じられる機会があるなら逃してはいけません。
凄腕エンジニアの真似をしてエッセンスを体得する
凄い人が見つかったとき、その人の凄さ理解したとき、徹底的に真似してみてください。
真似をして同じ動作をするとき、実は技術ではなく、その人の考え方を学んでいることがわかります。
しばらく真似をしていると、その動き・考え方が当たり前になり、自分のものとなります。
そうなれば、一歩凄腕のエンジニアに近づいたと言えるでしょう。
プログラマーだと、写経と言ってコードを一から打ち込んで実行した経験があると思いますが、またそれとは少し違います。
真似をするときは、ぜひ、前後の文脈や状況も含めて真似してみてください。
「現場で作業をしていて想定外のトラブルが起きた」
「お客さんに追加の要望を依頼された」
様々なシチュエーションで凄腕エンジニアがとる行動に注目してみてください。
責任感を持って仕事をする
人は責任感が増えると成長します。
エンジニアの仕事も同じで、「この仕事を自分が完了させないと、プロジェクトが失敗する」となれば、必死で仕事をこなします。
大きな責任が一度に降りかかるとプレッシャーになってしまいますが、少しずつ責任を増やしていけば、その分だけ成長が早まります。
背水の陣という言葉がありますが、誰も助けてくれない状況は人を大きく成長させます。
幸か不幸か、私が携わったプロジェクトは一人で全てをやることが多かったです。
設計、開発、リリース、保守・運用まで通して自分でやるのですが、本当に他に誰もいないので一日休むのにも一苦労でした。(バス係数的にはよくありませんが)
プロジェクトのことを思うなら、予備の人員がいない状況は良くありませんが、自分がなんとかしないといけない状況は、結果重視の働き方を学ぶことができます。
仕事を好きになろう
根っからのエンジニアを見ていればわかりますが、彼らは技術的なことが大好きでしょう。
好きこそ物の上手なれとも言いますし、こういった人たちが優秀なエンジニアに多いのは異論はないと思います。
では後天的に、仕事としてエンジニアを始めた人はどうでしょうか。
ひとそれぞれ、ITの仕事を選んだ理由はあるかと思いますが、初めはどんな理由でもいいと思います。
ただ最後は、仕事が好きであることが大事だと私は考えています。
勘違いしてはいけないのが、技術を学ぶのが好きで仕方ないとか、プログラミングでシステムを作るのが好きだとか、技術に関わる「好き」に限定されないということです。
お客さんと打ち合わせして要件を詰めるのが楽しかったり、テストで不具合を発見することが楽しい、でも構いません。
仕事全体を通して、どこかに好きな部分があることが大事です。
そして、自分の好きなものを見つけるには、全力で仕事に取り組むことです。
一生懸命やってないことに楽しさを見出すことはできません。
若手のエンジニアだと、技術的に詰まることも多く、やりがいよりも苦労を感じることの方が多いでしょう。
それでも真面目にやっていれば、そのうち面白さが見えてきます。
そうなれば、あとは面白さに従ってひたすら進むのみです。
最後に
やはり、凄腕エンジニアへの道に近道はないだろうというのが私の考えです。
この文章を書くにあたっていろいろと考えてはみたのですが、経験に勝るものはなく、今までどれだけ体験してきたか、が優秀なエンジニアの分かれ目だと思っています。
この仕事をしていて落ち込むことは多々あります。
ただ繰り返しになりますが、諦めずに続けていくことが強いエンジニアなるための近道だろうと思います。
拙い文章ではありますが、ここまで読んでいただきまして、ありがとうございました。
ファンブリューではエンジニアになりたい人を支援しています。
現在こんなお悩みがあれば、ぜひ一度ご相談ください。
- プログラミングを学習したいが、何から始めたらいいかわからない。
- IT業界に就職するために必要な知識が何かわからない。
- 実務経験がなくて現場に入れない