こんにちは。
この記事を読んでいるあなたは、

「エンジニアにはどんな性格が向いてるの?」
「自分はエンジニアに向いている性格なのかな?」
このような疑問を持っているのではないでしょうか。
特にエンジニア未経験だったり、エンジニアになって間もなかったりすると、どのような人がエンジニアに向いているか分かりづらいですよね。
そこでこの記事では、そんなあなたのために以下のような内容を解説します。

・エンジニアに向いている人の性格
・僕の職場で活躍しているエンジニアの性格
・エンジニアとして活躍する人に共通する性格
最後まで読むことで、エンジニアとして活躍するために必要な性格を理解することができます!
[体験談]僕のまわりで活躍しているエンジニアを分析してみた
![[体験談]僕のまわりで活躍しているエンジニアを分析してみた](https://www.mame-blog.site/wp-content/uploads/2022/05/suitable-personality-for-engineer02-1024x682.jpg)
それではまず、僕がメーカーやIT企業で働く上で、実際に活躍している人を何人か紹介したいと思います。
前職でエンジニアのアーキテクト担当をしていたAさん
このAさんは、僕が前職のメーカーで働いていたときの同僚です。
そのとき、プロジェクトでは新しいシステムの立ち上げをしており、Aさんはアーキテクト (システム全体の方針を決めたり設計をしたりする人)を担当していました。
上っ面の知識だけでなく、ソフトウェアの本質を理解しているんだろうなぁ、と思わせるような人で、僕が見てきた中でもトップレベルに優秀な人でした。
仕事をする上でも、システムの方針を決めるスキルやセンス、他の人のプログラムのレビューをするセンスも抜群でした。
そんなAさんですが、性格はちょっと変わっています。
とにかく、手を抜こうとするのです。
もう少し詳しく説明すると、できる限り働く時間を短くしようとするのです。
朝も始業時間ギリギリに会社に来てましたし、残業も、文字通り1分もやりません。
定時が来たらスパッと帰ってしまいます。
そんな性格なので、その性格もあり、効率の悪いことを非常に嫌います。
とにかく効率を重視し、「その状況でやらないといけない最低限度のことは何か?」を見極めて仕事をするようなスタンスでした。

あまり優秀ではない人は、いろいろな仕事をズルズルとやってしまい、残業時間が延びる傾向にあります。
また、Aさんは非常に淡々とした性格でした。
なので、他の人とのいざこざにあまり巻き込まれることがなかったように思います。
人や自分に対する感情に左右されることなく、常に、「システム的に好ましいかどうか?」で物事を判断していました。
言い換えると、
・課長や部長などの偉い人からのコメントであっても、システム的にイマイチと思うものは断る
というような、非常に合理的な性格だったと言えるでしょう。
プログラミング大好き!で、技術レベルがトップレベルだったBさん
続いても、前職の同僚エンジニアの話です。
Bさんは、非常に優秀なエンジニアとしてチームや課、部だけでなく、社内全体で認められるくらいの人でした。
そんなAさんと、僕は数年間同じチームで仕事をしたことがあります。
とにかくプログラミングが大好きで、家に帰っても、時間さえあればプログラミングをやっているような人です。
趣味は?と聞かれれば、迷わず「プログラミングです!」と答えていました。
社内のエンジニアからも信頼されており、様々な技術的な質問を受けています。
彼の技術レベルは社内でも有名で、いろいろな人から、システムの立ち上げ時などに声がかかっていました。
そんな質問や問い合わせに対して、嫌な顔ひとつせず、優しい雰囲気で答えていました。
彼は、そうやっていろいろな人との関わりができることを楽しみにしていましたし、何かシステムを作りたくて困っている人を助けるところにも楽しみを見出すような人でした。
そんな性格もあって、チーム内でもプログラミング勉強会を主催したりしていました。
僕も彼が主催するRuby on Railsのプログラミング勉強会に参加し、チュートリアルをやっていたことを覚えています。
今の職場で様々な立ち回りをするCさん

続いては、IT企業で同僚だったCさんの話です。
このCさんは、エンジニアとしてのスキルを持ち合わせつつ、ややプロジェクトマネージャー寄りのスキルの人です。
IT企業でiOS(iPhone)のスマホアプリを出すときは、Appleのレビューを受ける必要があります。
ただ、このレビューが非常に曲者なこともあり、彼はApple社との調整をしていました。
英語での会話になりますし、Apple本社はアメリカにあるので、時差も発生します。
場合によっては夜中にメールを返信する必要もあります。
そんなタフな状況にも関わらず、彼は率先してその役割を引き受けてくれていました。
また、プロジェクト全体を見て、手が回っていない箇所には自分で手をまわしていくような人でもありました。
特に新規サービスの立ち上げをするときは、やることが山のようにあります。
基本的に、「自分は自分の決められた担当範囲をやります」という考え方だと、いつまで経ってもリリースできません。
何か進んでいないタスクがあれば、自分から進んで対応していく必要があります。
Cさんはそんなところにも気づいて行動できるような人でもありました。
また、Cさんはチームの管理職をやっており、チームのメンバーに対して、優しく接していました。
企画者から何か無理難題を言われても、(嫌な顔をしつつも)何をやりたいのか?をヒアリングします。
そして、その結果、本当にプロジェクトの成功に必要と思われるものだけを選びぬいて実行に移すことができます。
このプロジェクトは、おそらく彼の頑張りがなければ、リリースできていなかったことでしょう。
僕のまわりにいる、優秀じゃないエンジニア

一方で、これまで僕が接してきたエンジニアの中には、「この人はあまり優秀じゃないなぁ」と思った人も少なからずいます。
そこで、続いては優秀じゃないエンジニアの具体例を説明したいと思います。
好き嫌いが判断の中心にあるDさん
Dさんは、前の職場で同じチームで働いていた人です。
この人は、他の人に対して、「自分が好きか嫌いか?」を判断の軸にしています。
具体的には、
・嫌いな人(自分が認めていない人・スキルが下だと思われる人)からのコメントは一切受け付けない
こういった特徴がありました。
Dさんは、自分の好きな人や認めている人からのコメントは、特に何の反論もなく受け入れます。
仮にそれが「本当にその内容で大丈夫?」と思われるような内容であっても、です。
一方、自分が嫌いな人からコメントがあった場合は、それを受け入れることはほとんどありません。
常に何かしらネガティブなコメントを返したり、否定をすることになります。
さらに、その人と違う意見を出すと、自分が否定されたかのように受け取り、非常に攻撃的なコメントをすることさえもあります。
仕事をする上で意見が食い違うのは健全な議論として必要です。
仕事に対する意見やその方向性が食い違っているだけで、その人自身を否定しているわけではありません。
ただ、Dさんは否定的なコメントをされると、あたかも自分が攻撃されたかのように受け取ってしまい、非常に攻撃的なコメントをしてしまうような特性を持っていました。

仕事にこだわりを持てない性格のEさん
Eさんは今、僕が職場で一緒に働いている人です。
仕事をしている上では、考えが足りていなかったポイントについて指摘が入ることもあります。
指摘をされた側は、指摘を受けたとき、それを本当に受け入れるべきか?を自分の頭で考え、「受け入れた方がいいな」と思う場合のみ、受け入れる必要があります。
そうしないと、指摘をした側が間違った方向に誘導してしまうこともありますし、何より「他の人から言われたことをやるだけ」という、あまり価値がない状態になってしまうからです。
Eさんは他の人から何かしらの指摘を受けたとき、「あ、それでいいです」と言って考えるのをやめてしまうのです。
エンジニアの仕事は、プログラミングも含め、基本的に考え抜くことが必要です。
企画や他の関係者が言っていることをそのまま鵜呑みにしていても、いいものは作れません。
そして、他の人から言われたことを鵜呑みにすると、ほとんどのケースで手戻りが発生してしまうのです。
事実、彼の担当する領域では幾度となくやり直しが発生してしまっています。
「自分はどのようなポイントが大事だと思うのか?どのようなことをやりたいのか?」というこだわりがないことで、結果的に彼の持っている力もうまく発揮できていない状態になってしまっています。
ラリー・ウォール(Larry Wall)の提唱する「エンジニアに向いている性格」

ここで、Per言語の開発者ラリー・ウォールの言う、「エンジニアに向いている性格」をまとめます。
プログラミングの第一人者だからこその重みがあります。

怠惰: 全体の手間や工数を減らすための工夫
1つ目は、開発に関する全体の工数を削減するための工夫です。
エンジニアの作業の中には、例えば単純なデータ入力など単調作業もあり、面倒なこともあるでしょう。
そんなときには、その作業を自動化することにより、自分の作業時間を減らす努力をします。
エンジニアの仕事はプログラミングだけではありません。
他のエンジニアや営業などの関係者に説明をすることがあります。
エンジニアはそんなプロジェクト関係者に対する説明を何度もしなくていいように、ドキュメントを書くことで、今後の説明時間を削減します。
短気: 問題が起こったときに、今後の再発防止まで含めた上で対策をする
エンジニアをしていると、不具合が起きたり意図しない問題が起きたりすることがあります。
そのときに、その場しのぎで対策をするのではなく、「今後二度とこの問題を起こさないためにはどうしたらいいか?」という観点も含めて対策をします。
傲慢: 自分の書いたプログラムに自信が持てるような技術を身につける
プログラミングのスキルはかなり奥が深いものです。
そこで、優秀なエンジニアは自分のプログラミングに自信が持てて、他の人からも「すごい!」と思われるようなレベルに到達するまで努力することができます。
現場で活躍するエンジニアに共通する性格5つ

それでは続いて、現場で活躍するエンジニアに共通する性格を5つ、まとめます。
あなたもこれらの性格を持っていれば、エンジニアとして活躍できる可能性が高まるでしょう。
真面目であること
エンジニアにもいろいろな人がいますが、最も共通しているのは、全員真面目であることです。
どれくらい仕事にコミットするか?の温度感はバラバラです。
一方、仕事に関しては非常に真面目でした。仕事中にサボったりしている人を見たことがありません。

優秀なエンジニアの方が仕事が終わった後はプライベートの時間を楽しんだりスキルアップを頑張りたい、と思っている人の方が多かったように思います。
仕事中に真面目に働くからこそ成果が出ます。
そして、周りの人からも認められた結果、次の仕事につながり、そこでも結果が出る、といういいループになっていたように思います。
こだわりを持っている
2つ目は、こだわりを持っていたり、どうしても譲れないポイントがある点です。
優秀な人は、「こうあるべきだ!」という強い信念を持って動いています。
例えば、
・仕事の進め方は「こうあるべきだ」という想いを持っている
といったものです。
各自の「こだわり」ないと、重要な局面で「まあ、いいか」という妥協をしてしまい、いいサービスやシステムを作れなくなってしまいます。
優秀なエンジニアの働き方を見ていると、「自分、あるいは今作っているサービスやアプリの観点から、何は譲れて何は譲れないか?」がはっきりしていました。
例えば、アーキテクト(システムの方針を決める人)の立場で働いている人は、以下のようにこだわりのある箇所・こだわりのない箇所がありました。
・一方、見た目(UI)に関するところのプログラムの書き方は、(今後頻繁に変わることを理解しているため)あまりこだわらない
「自分の立場でこだわるべきポイント」を持っているのは、優秀なエンジニアの性格といえるでしょう。
問題が起きても忍耐強い

3つ目は、忍耐強い点です。
優秀な人の仕事を見ていると、毎日が順調というわけではなさそうでした。
場合によってはプログラミングの不具合でハマっていることもありましたし、他の部署や社外の関係者ともめていることもありました。
プログラミングをやったことがある人には分かるかと思いますが、プログラムが思い通りに動かないとなかなかストレスになります。
また、他の部署や関係者との調整がうまくいっていないと、せっかく作ったプログラムが無駄になってしまうこともあります。
そんな面倒で大変な状態であっても、優秀なエンジニアは忍耐強く問題解決に動くことができていました。
ニュートラルな性格
4つ目は、ニュートラルな性格をしている点です。
これは言い換えると、「物事を平等に捉えることができる」となります。
具体的には、「誰が言ったか?」ではなく、「内容が良いか?正しいか?」で判断できるのが、ニュートラルな性格をしている、といえるでしょう。
よりいいシステムや製品、サービスを作る上で重要なのは、当たり前ですが「サービスをいかによくしていくか?」です。
また、ときには前例にとらわれることなく、ニュートラルな立場や観点でシステムや製品をよくするためのいいアイデアを出す必要もあります。
優秀なエンジニアはこのことをよく理解しています。
システムや製品を良くするためのアイデアであれば、誰が言ったか?に関わらず積極的に採用します。
また、必要であれば、これまでの前例にとらわれること意見を出し、議論することができます。
柔らかい雰囲気をしている
5つ目は、柔らかい雰囲気をしていることです。
エンジニアの仕事をしていると、他の人と議論になることもあります。
その議論の中で、誰か他の人に対して攻撃的になっても仕方ありません。
攻撃的になっても、その人とやりづらくなるだけです。
優秀ななエンジニアは、心の中でどれくらい「こいつ・・・!」と思っていたとしても、表面上は穏やか接することができる人です。
そして、彼らは柔らかい雰囲気をしていると他の人から声をかけられやすくなり、結果的に自分により良い仕事が集まりやすくなる、というメリットもあります。
柔らかい雰囲気をしていると目の前の仕事がやりやすい→他の人からも情報や仕事が集まる→よりレベルの高い楽しい仕事ができる→楽しくてさらに柔らかい雰囲気になる
優秀なエンジニアは、このような好循環に入っているように思います。
[最後に]エンジニアとして求められる性格を意識しつつ、エンジニアを目指してみよう
![[最後に]エンジニアとして求められる性格を意識しつつ、エンジニアを目指してみよう](https://www.mame-blog.site/wp-content/uploads/2022/05/suitable-personality-for-engineer08-1024x682.jpg)
ここまで、エンジニアに必要な性格をまとめてきました。
どのような性格をしていると活躍しやすいのか?優秀と思われるのか?がお分かりいただけたのではないでしょうか?
性格は一朝一夕に身につけることも変えることもできません。
少しずつ、あなたが目指すような性格になれるように意識をすることをオススメします。
そして、もしあなたがこれからエンジニアを目指すのであれば、性格を少しずつ変えながら、スキルを身につけることをオススメします。
この記事ではあまり取り上げてきませんでしたが、プログラミングなどエンジニアのスキルを身につけるのも、性格と同じくらい大変で難しいことだからです。
このブログでは、未経験からエンジニアになるための最短時間でできるプログラミングの勉強法や、オススメのプログラミングスクールを紹介しています。
もし気になれば、これらの記事も読んでみてくださいね。
あなたがこのブログを読んで、エンジニアとして成功できる日をお祈りしております。
この記事は以上です。
ここまで読んでくださり、ありがとうございました!
コメント