プログラミング
PR

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

現場で働いて分かった優秀なITエンジニアの特徴
shin-memo
記事内にプロモーションを含む場合があります
読者の悩み

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

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

運営者:シン
運営者:シン
Profile
フリーランスエンジニア|大阪在住|31歳【保有資格】Java Gold・ITパスポート・SEO検定全級・全日本SEO協会認定SEOスペシャリスト【経歴】配送業▶︎販売員▶︎プログラミングスクール受講▶︎プログラマー▶︎独立【発信内容】プログラミング・エンジニア転職・フリーランス
プロフィールを読む

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

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

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

まず、何をもって優秀かというところですが、これは人によって定義が曖昧です。

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

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

上記の通り。順に解説していきます。

洞察力が鋭い

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

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

たとえば、プログラミングでエラーが起きたとします。ここで優秀なエンジニアは「なぜエラーが起きた?」と考え、原因を特定します。反対にそうでないエンジニアは、とりあえずエラー名で検索してコードをコピペして、動いたらOKという思考です。

優秀なエンジニアは問題が起きた時に、常に原因を考えてから解決策を導き出します。とはいえ、とりあえずエラー名で検索してコピペして動かそうというのは、別に悪いことではありません。

シン
シン

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

感情より論理を優先する

優秀なエンジニアはみんな論理的思考力が高いです。

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

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

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

シン
シン

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

的確な提案ができる

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

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

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

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

仕事のスピードが早い

4つ目は、仕事のスピードが早いです。プログラミングや単体テスト、結合テストや資料作成など。

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

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

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

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

シン
シン

他にも仕事のスピードが早い理由はたくさんありますが、概ね集中力があるというのが、いちばんの要因だと考えています。

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

エンジニアは問題解決をする仕事なので、必然的に他人のミスを指摘しないといけない場面が多いです。

そして誰でもミスを指摘されると少し落ち込んだりいい気はしませんよね。でも指摘をしないと仕事を円滑に進めることができませんので、指摘すること自体は仕方のないことです。

しかし、多くのエンジニアはこの指摘の仕方がよくないと、僕は思っています。

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

もちろん全体チャットで指摘することで、チームメンバー全員にそのミスを共有して次に繋げるという思考は素晴らしいです。

しかし、あたかもミスをした人を蹴落とすかのように、言い方などの考慮が一切なく鋭い指摘をするエンジニアが多いのも事実。

シン
シン

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

目標をもっている

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

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

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

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

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

シン
シン

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

技術力が高い

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

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

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

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

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

シン
シン

もちろん好きとまではいかなかったとしても、収入を上げたいとか資格をとりたいとか、他にも自分でサービスを作りたいとか、単純に仕事が好きとか。何でもいいと思います。何か原動力となるものがあり、それに向かって走り続けられるからこそ、技術力が向上しやすいんだと考えられます。

技術マウントを取らない

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

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

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

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

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

言語化がうまい

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

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

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

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

シン
シン

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

相手目線で考えている

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

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

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

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

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

シン
シン

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

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

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

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

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

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

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

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

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

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

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

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

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

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

あわせて読みたい
フリーランスエンジニアに最もおすすめのエージェント3選
フリーランスエンジニアに最もおすすめのエージェント3選

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

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

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

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

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

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

まとめ

以上が優秀なエンジニアの特徴についてでした。

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

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

運営者情報
運営者:シン
運営者:シン
フリーランスエンジニア|大阪在住|31歳【保有資格】Java Gold・ITパスポート・SEO検定全級・全日本SEO協会認定SEOスペシャリスト【経歴】配送業▶︎販売員▶︎プログラミングスクール受講▶︎プログラマー▶︎独立【発信内容】プログラミング・エンジニア転職・フリーランス
記事URLをコピーしました