こんにちは、タクという名前でブログをやっています。
最近エンジニアとしての成長ってなんなのかな?と思うことが多いです。
僕の職場にもすごいエンジニアがいます。いろいろな実装を手掛けていて、それらひとつひとつがみんなに求められているものを作っています。社内表彰もなんどかされて、そのエンジニアがいるチームは技術的にもハッピーになる。
そんなエンジニアはどんな能力をもっているのか?今日はそれをまとめていきたいと思います。
僕と同じように、エンジニアとしての成長を感がている方に対して少しでも気づきになればと思い書きたいと思います。
すごいエンジニア
アンテナ力がすごい
アンテナ力が高いとは、知識を見つけてくるチャンネルが多いことを言います。有益なニュースサイトを知っているだとか、ものしりな友だちがいるだとか、何かしらオンラインサロンに入っていて情報に触れる機会が多い人のことです。
アンテナ力が高い人は、他の人の作った技術を心理的抵抗なく受け入れられる人です。何か問題があった時に普通の人だったら自分でなんとしたいと思うものです。ですが、自分ひとりだけでは限界があります。そのため、他人の作ったものや提案されているものを受け入れる力が必要なのです。
とりあえず試している
新しいプログラミング言語や、新しい技術を文章で学ぶことはできます。ですが、実際に使ったことがある人は細かな仕様だったり、メリットデメリットを肌で感じています。つまり、新しい技術をとりあえず試している人は、なにか問題にあたった時にできる選択肢が多いということとになります。この選択肢の多さがエンジニアとして成長だと思います。
もし知識だけを持っているエンジニアがいたとしたら、新しいことへチャレンジする時にスピード感が鈍ってしまいます。それは、使ったときの具体的な成果物の想像ができないからです。ある技術をつかったら何をどう解決できるかということを身をもってい体感しているエンジニアは強いです。
問題意識を持っている
問題意識とは、世の中の問題であったり、職場でのちょっとした問題だったりいろいろな問題にきづける能力です。世の中の事業というものはほぼなにか問題の解決です。そして、その解決のために技術が使われています。問題も解決策が一つあるわけではなく、いろいろな解決策の中から最も良い解決策を模索していく必要があります。そのため、エンジニアも課題に対してどのような技術が解決に導くのかを模索できる必要があります。
実際に問題意識を持っているエンジニアは、その問題を解決するために技術を覚えます。より大きな範囲を解決している技術を常に探すことになります。もし、問題意識を持っていない場合は、現状から進化しません。はじめに習ったことを自分のできる範囲で使うようなエンジニアになってしまいます。
まとめ
強いエンジニアがチームにいると、業務がどんどん改善していったり、みんなが得をするような仕組みがどんどんと増えていきます。
ただ、エンジニアにも方向性はあります。基礎的な技術をとことん突き詰めて、何かを実装するときの設計力や実装を進める力が強いエンジニアもいれば、ビジネス感覚をもって事業課題を考えつつ技術を使っていくエンジニアもいます。
しかし、共通しているのは今回挙げた要素だと思います。
余談:そんなエンジニアになりたいなと思いつつ、意識や姿勢をつけるのは難しいです。実際に課題解決をしないといけない場面に遭遇したり、とりあえず試してみないと進まない場面に遭遇したりなど、強いエンジニアにならざるを得ない環境に身を置くことが大事です。