現場で働いて分かった!優秀なITエンジニアの特徴

現場で働いて分かった優秀なITエンジニアの特徴
Writer:シン
現役フリーランスITエンジニア
【保有資格】Oracle認定 Java Gold・ITパスポート・SEO検定全級・全日本SEO協会認定SEOスペシャリスト【経歴】配送業→販売員→プログラミングスクール受講→プログラマー1.5年→独立【メインスキル】Java・React・Next.js|大阪在住|31歳
読者

優秀なエンジニアになるにはどうすれば良いの?寝る間も惜しんで勉強しないとダメ?

こんな疑問にお答えします。

この記事で解説する「優秀なITエンジニアの特徴」を読めば、技術力や市場価値を向上する方法を理解でき、優秀なエンジニアになるために必要な「思考」と「行動」がわかりますよ。

実際に僕は現役のエンジニアとして大阪のIT企業で働いています。これまで3つ以上のIT現場を経験し、優秀なエンジニアを数名見てきました。それらの知見をもとに解説していきますね。

ではみていきましょう。

目次

優秀なITエンジニアの特徴

まず、優秀なエンジニアといっても人によって定義が曖昧です。

なので、これまで僕が経験してきた現場の中で、優秀だと思ったエンジニアの特徴をあげていきます。

結論として、僕が見てきた中で優秀だと思ったエンジニアの特徴は以下の通りです。

  • 洞察力が鋭い
  • 感情より論理を優先する
  • 的確な提案ができる
  • 仕事のスピードが早い
  • 他人のミスを過大に取り上げない
  • 目標をもっている
  • 技術力が高い
  • 技術マウントを取らない
  • 言語化が上手い
  • 相手目線で考えている

順に解説していきます。

洞察力が鋭い

優秀なエンジニアは、みんな洞察力が鋭いです。洞察力とは「本質を見抜く力」のことです。

なぜ洞察力が鋭いと優秀なのかと言うと、エンジニアは問題を解決する職業なので、本質を見抜くことが早期にかつ的確に問題を解決できるから。

たとえば、プログラミングでエラーが起きたとします。優秀なエンジニアは「なぜエラーが起きたのか?」を考え、原因を特定します。

反対にそうでないエンジニアは、とりあえずエラー名で検索してコードをコピペして、動いたらOKという思考です。とはいえ、とりあえずエラー名で検索してコピペして動かそうというのは、別に悪いことではありません。

原因は後から特定しても良いです。重要なのは、最終的には原因を突き止め、次に同様の問題が起きた時にも即対応できる状態を作っておくことです。

感情より論理を優先する

優秀なエンジニアはみんな論理的思考力が高いです。そして感情よりも論理を優先する傾向にあります。

感情より論理を優先することは、仕事を的確にこなすために必要です。特にエンジニアは複雑な問題に出くわすことが多いため、感情的に仕事をして正確性に欠けると、ミスをしてシステムが停止することもありえます。

プログラミングを例にすると、たった1文字でも1行でも間違えると、エラーになったり予期せぬ動作をしたりしかねません。

「自分はこういう書き方が好きだからこうする!」と自分の感情を優先してコーディング規約や上司の提案を無視して仕事を進めてしまうと、実は間違っていてあとで重大なミスにつながりかねないです。

優秀なエンジニアは、たとえ部下の指摘だったとしても、指摘内容を論理的に考えます。その指摘内容が最適解なのであれば、その手法を採用する傾向にあります。

的確な提案ができる

問題が起こった時、優秀なエンジニアは提案ができます。

提案をするには、自力で原因と解決策を考える必要があります。提案ができれば相手が0から原因と解決策を考える負担を減らせます。

そして重要なのは、単に提案ができるのではなく、その場に応じた的確な提案ができること。

優秀なエンジニアはこれができる人が多いです。

仕事のスピードが早い

優秀なエンジニアは仕事のスピードが早いです。プログラミングや単体テスト、結合テストや資料作成など。

なぜ優秀なエンジニアは仕事のスピードが早いのかというと、それは「集中力があるから」なんですよね。

僕はこれまで3つ以上現場を経験してきましたが、エンジニアといっても集中力が凄い人と、そうでない人がいました。

集中力があるエンジニアは、自分の世界に入り込みパソコンと対話しています。それが声に出して対話しているかどうかは別として…。

反対に集中力がないエンジニアは、うとうとしていたり、すぐにトイレや喫煙にいったりします。

他人のミスを過大に取り上げない

優秀なエンジニアは他人のミスを過大に取り上げません。

まず、エンジニアは問題解決が仕事なので、必然的に他人のミスを指摘しないといけない場面が多いです。そして誰でもミスを指摘されると良い気はしません。

でも指摘をしないと仕事を円滑に進めることができないので、指摘すること自体は仕方ないです。しかし、多くのエンジニアは指摘の仕方がよくないと思っています。

たとえば、自分がミスをした時は「あっ、わすれてた」で終わらせるレベルのことを、他人が同じミスをした時は全体チャットで重大な問題かのように取り上げて指摘をする。といった行動をとりがちです。

もちろん全体チャットで指摘することで、チームメンバー全員にそのミスを共有して次に繋げるという思考は素晴らしいです。しかし、あたかもミスをした人を蹴落とすかのように、言い方などの考慮が一切なく鋭い指摘をするエンジニアが多いのも事実。

重要なのは指摘の仕方で、優秀なエンジニアは他人のやる気をなるべく落とさず、かつ正確に指摘ができます。

目標をもっている

エンジニアといえば、みんな勉強熱心で休みの日も勉強しているのではないか?と思う人がいます。

実際に僕は多くのエンジニアと会話をしてきましたが、休日に勉強しているエンジニアの方が少ないと感じています。

でも、優秀なエンジニアはもれなく勉強熱心でした。

僕がはじめてIT受託開発企業に入社した時の部長を具体例に挙げてみます。部長はとても優秀です。頭の回転が早く、僕がミスをして上司に怒られている時もかばってくれるようなやさしい人でもあります。

そんな部長は昔、1年に1つ資格を取ると決めていたそうです。実際に基本情報と応用情報、Java言語の資格など多くの資格を保有しています。

別に資格をもっているから優秀というわけではなく、何かの目標を掲げてそれに向かって行動することで、専門性が高まるから優秀になるんだと思います。

技術力が高い

優秀なエンジニアはほぼ全員技術力が高いです。そもそもエンジニアとは、日本語では「技術者」と呼ばれることが多いです。

優秀なエンジニアとは、言い換えるなら優秀な技術者です。つまり、「優秀」である条件として、「技術力が高い」ことがあげられます。

優秀なエンジニアはなぜ技術力が高いのか?これは先述した目標をもっているからというのも理由のひとつでしょう。そしてもう一つは、「エンジニアという職業が好き」だからですね。

僕は3年目にとあるTypeScriptの現場に入りました。その現場には、実務経験1年なのに3年は経験しているんじゃないか!?と思うくらい優秀なエンジニアが在籍しています。プログラミング能力が高く、タスクをガンガンこなし、他者とのコミュニケーションも円滑に進められる能力があります。とても経験1年とは思えないほどです。

そんな優秀なエンジニアと会話をした時に、「この職業が好き」と口にしていたので、まさに天職なんだろうと感じました。好きだからこそ能動的に仕事ができて吸収できるから成長が早いんでしょう。

もちろん好きとまではいかなかったとしても、収入を上げたいとか資格をとりたいとか、他にも自分でサービスを作りたいとか。何でもいいと思います。

何か原動力となるものがあり、それに向かって走り続けられるからこそ、技術力が向上しやすいのです。

技術マウントを取らない

僕が今までみてきた優秀なエンジニアの中で、技術マウントをとっている人を見たことがありません。

まず技術マウントを取る人の心理は、自分に自信がないから他人を攻撃し、自尊心を保とうとしているんですよね。よくない意味での承認欲求が高いんです。

いうまでもなくそのような心理の持ち主は、周りから良い印象を持たれにくいので、優秀であるはずがありません。

もちろん技術力が高いエンジニアでも、なかには技術マウントを取る人はいます。でも、エンジニアは技術が全てではないので、技術以外の人間性の部分が欠けてたりすると、それは優秀とは言い難いです。

技術力が高いけど技術マウントを取らない、かつ人間性もよいエンジニアこそ僕は優秀だと考えています。

言語化がうまい

優秀なエンジニアは言語化がうまいです。エンジニアはチームで開発することが多く、必然的にコミュニケーション能力がもとめられます。

世間的なエンジニアのイメージといえば、リモートワークでパソコンに向かってただカタカタしているだけで、コミュニケーション能力が低い人に向いている職業だと思われがちですよね。

しかし、実際はチームで開発することが多く、現場によっては毎日ミーティングをするなど頻繁にコミュニケーションを取る機会があります。

そのため、報告の際にしっかり言語化して相手に自分の状況を伝えなければなりません。

どんなに複雑でわかりづらい問題を抱えていたとしても、それをうまく相手に伝わるように言語化する必要があります。そして優秀なエンジニアは、この言語化が上手い人が多いです。

相手目線で考えている

優秀なエンジニアは常に相手目線で考えています。

特に顧客と対話する際は、ビジネスが絡んでくることが多いため、相手目線で考えることが信頼性の向上=ビジネス成立につながります。

たとえばフリーランスエンジニアは特に相手目線で考える必要がありますね。相手が何をどうしたいのかを考えて期待に添えるように行動するのがポイントです。

そうすれば顧客からの信頼性があがり、人間関係も良好になって仕事がしやすくなります。優秀なフリーランスエンジニアはこれができています。

相手目線で考える習慣のあるエンジニアは、必然的にチームメンバーに対しても相手目線で考えられます。

なのでメンバーからは「この人との会話はストレスが少ないし、自分の気持ちを汲み取ってくれるから仕事をスムーズに進められる」と思われ、結果的に周りから「あの人は優秀」と判断されやすいです。

優秀なITエンジニアになる方法

最後に優秀なエンジニアになるにはどうすれば良いのかを解説しますね。

結論として、下記が優秀なエンジニアになるために重要なポイントです。

  • できるエンジニアの良い部分を真似る
  • いろいろな現場を経験する
  • 専門性を高めることに全集中する

できるエンジニアの良い部分のみ真似する

優秀なエンジニアになるには、自分が良いと思うエンジニアの良い部分のみ真似をすると良いです。シンプルに良い部分を真似することで、自分に足りない知識を補えるからですね。

できるエンジニアを真似するなら、対象は1人である必要はないです。2人3人と複数でOK。むしろ、いろいろなエンジニアの良い部分だけを吸収することで、より幅広く専門性を高められます。

もし、今の職場で自分が尊敬できるエンジニアが周りにいないというのであれば、転職するかフリーランスになって現場を変えてみるのも手段のひとつです。

いろいろな現場を経験する

いろいろな現場を経験することで視野が広がります。「こういう時はこのやり方が最適」とか、情報の引き出しが増えるんですよね。

だからこそ一つの現場に長くい続けるよりも、ある程度1年や2年単位で現場を変える方が僕は成長しやすいと思っています。

SES企業に勤める会社員エンジニアやフリーランスエンジニアは色々な現場を経験できるので、その点大きなメリットですね。

下記では、フリーランスエンジニアにおすすめのエージェントをまとめているので、フリーランスになろうか検討中の方はぜひ参考にしてみてください。

専門性を高めることに全集中する

専門性を高めることに全集中すると良いですね。なぜなら、どんなに人間性が良くても、結局エンジニアはスキルが重要だからです。

もちろんスキルだけあれば良いというわけでもありません。でも優秀なエンジニアになるために必要な要素として、特にスキルが最重要項目です。

そのため、スキルアップをし続けて専門性を高めることに集中するのが、優秀なエンジニアになるためのポイントです。

スキルアップのコツは1点集中

これは自論ですが技術は浅く広く身につけるよりかは、学びたいプログラミング言語やフレームワークを一つ決めて、まずはその一つを極めるのが得策です。

理由としては、大体のエンジニアの案件では「〇〇言語経験〇〇年以上」というように、1つのスキルにたいして長期的経験が求められる傾向にあるからです。

たとえば僕は、Javaの実務経験を3年積み上げ、Javaの最難関資格JavaGoldも取得しました。Javaをある程度極めた後は、ReactエンジニアにスキルチェンジできるようにReactや、ReactのフレームワークであるNext.jsを習得しようと学習しています。

このように自分が習得したい技術を一つ決めて、それを習得したらまた次というように、徐々に専門性を高めて行くことがポイントです。

まとめ

優秀なエンジニアからは学びが多く、自身の成長にもつながります。

この記事で取り上げた優秀なエンジニアの特徴を参考にしていただき、市場価値を高めてみてください。

今回は以上です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人:シン
現役フリーランスITエンジニア
大阪在住|31歳【保有資格】Java Gold・ITパスポート・SEO検定全級・全日本SEO協会認定SEOスペシャリスト【経歴】配送業▶︎販売員▶︎プログラミングスクール受講▶︎プログラマー▶︎独立【発信内容】プログラミング・エンジニア転職・フリーランス
目次