エンジニアの技術力とは?🤔

この記事で扱っている"エンジニア"とは主に IT エンジニアのことを指しています。

よく IT エンジニアの界隈では

「あの人は技術力が高い」
「技術力がまだまだだから勉強しなきゃ」

など"技術力"というワードがでてくるシーンが多くあります。

なんとなく使ってるけど、"技術力" ってわりとふわっとしていますよね?

私は経験4年程度のエンジニアです。

エンジニアになる前やエンジニアになりたてのころは単に、
技術領域(言語やフレームワークなど)に詳しく使いこなす力 = 技術力

くらいに考えていました。

しかし、ある程度いろいろなエンジニアに出会って仕事でもいろいろな経験をしてきて認識も変わってきたので言語化しておきたいと思います。

■結論、技術力とは?

結論、IT エンジニアにおける技術力とは

IT技術を使って課題を解決する力

じゃないかなと思っています。
「そりゃそうだろ」「当たり前だろ」って感じた人もいるかもしれません。

すみません、気づくのが遅かったです。

話を戻して、

なので、特定の技術に対しての知見が深いこと=技術力ではないです。

できるエンジニアはこの課題解決のプロセスを実行するのがやたら早いし的確にできます。

  1. まず、課題を特定する

  2. 課題に対する解決策を考える

  3. 解決策を実行する

技術力の高い人は手段(技術)にとらわれない

本当に技術力の高い人は、手段つまり技術にとらわれずに課題を解決しようとします。

前述した
2. 課題に対する解決策を考える

ここで普通のエンジニアは自分の知っている技術もしくは Google などで調べた技術的な解決策を手段として、課題の解決を試みると思います。

このとき、エンジニアにありがちな行動パターンとして
自分の知っている技術を使うことにこだわり過ぎてしまうことがあります。

例えば、

React というフレームワークに使い慣れているエンジニアが、ノーコードツールを利用した方が良い可能性があっても React を使おうとしてしまう。

MySQL に慣れているエンジニアが、NoSQL を使った方が良い場合にも MySQL を使おうとしてしまう。

などがあり得ると思います。

少し話がそれますが、
人間は自分の知っているものや慣れているものに価値があると感じる傾向があります。

この人間の性質は、"認知バイアス"や"現状維持バイアス" という人間の心理法則から説明ができます。

本当に、技術力の高い人は自分の知見や経験にとらわれず課題に対してダイレクトに効果がありそうな解決策を提示できます。

課題を特定するのも的確だし、
この課題に対してはどうすれば良いのだろう?

と考える能力が高いです。

なんなら、
課題を特定した段階で

「それ技術うんぬんで解決しようとしなくても仕組みをちょっと工夫すれば良さそうじゃない?」

とか言えちゃいます。

さいごに

経験が浅いエンジニアはとくに、特定のプログラミング言語やフレームワークの知識などを詰め込もうとしてしまいがちです。

もちろんそれも大切だと思います。
そういった知識がないと課題に対して技術を使って解決できる場面で力を発揮できないからです。

しかし、本当に仕事のできるエンジニアというのは、その人の思考習慣や考え方にあります。

いわゆる、ソフトスキルというやつ。
※ 反対に特定の技術に対する知識などはハードスキル

よく言われる
"問題解決力"
"思考力"
"言語化力"
"課題認識能力"

などがそれにあたると思います。

ソフトスキルが伴ってくると自然と技術を吸収するスピードも早くなります。

毎日の時間が限られているなかで、何を学習して向上させていけばいいか迷う場面もあると思います。

ソフトスキルはハードスキルに比べて向上させるのに時間がかかります。

日々30分でもいいので、メモ書きや文章を書くことなどを通じてソフトスキルを向上させていくことをおすすめします。

そして、それと並行してエンジニアとして仕事に求められる技術を勉強することが重要です。

毎日時間が限られているなかでわたし自身も少しずつ、ソフトスキルとハードスキルを磨いている最中です。

いっしょにがんばりましょう。


この記事が気に入ったらサポートをしてみませんか?