ほとんどのプログラマーはスキルに自信が無いと思う

ほとんどのプログラマーはスキルに自信が無いと思う

こんにちは。
「プログラミングに自信が無い。」
「今の会社ではやっていけてるけど、世間的に自分のレベルが通用するとは思えない。」
「馬鹿にされそうで、他のエンジニアと技術的な話をするのが怖い。」
という方、けっこう多いのではないでしょうか?
僕もそうです。

むしろ、自分の技術に100%自信を持っている人というのはごくわずかではないでしょうか?

この記事では、

  • 技術コンプレックスを抱えているのは自分だけではない(気に病む必要は無い)
  • 自信が無くても、積極的に広い世界に出ていく勇気を持つべき
  • プログラミングスキルがすべてではない

ということを、プログラミングスキルに自信が無い方に知ってもらいたいです。

スキルに自信が無いというのは正しい感情

プログラミングに自信が無い。というのは、ある意味当然のことであると思います。

なぜなら、プログラミングの技術は常に変化し、ある時点では有用だったスキルも、数年後、あるいは数カ月後にはほとんど使い物にならない可能性があります。

つまり、仮に今の時点の最新技術を身につけて自信を得たとしても、それがずっと続くわけではありません。

どんどん変化していく技術に対応していく必要があることを考えると、「今のスキルに自信が持てない」「今の自分に満足していない」というのは、むしろエンジニアとして正しい感情だとすら思います。

大事なのは、現状に満足せず、常に変化する技術に対応すること。
そして、技術そのものが目的ではなく、問題解決やニーズを満たすために技術が存在するということを意識することだと思います。

技術がまだまだ未熟だから、もっと磨かなければならない。という感情は正しいです。
ネガティブにとらえず、過剰に考えないようにしましょう。

小さな世界に閉じこもってはいけない

ネガティブ思考になるのは良くありません。

たとえば、

  • 今の会社以外で通用する気がしない
  • 他のプログラマーと技術的な話をするのが怖い
  • もうやり方が凝り固まっていて、新しい技術を身につけられる気がしない

という考えになってしまうのは、絶対ダメです。
今の自分に満足していないという感情を、なるべくポジティブにとらえるようにしてみましょう。
たとえば、「出来ないのではなく、今はまだその技術を知らないだけ」
「これから学べば、成長できるキッカケになる」と考えると、怖くなくなります。

成長するためのポジティブ思考や、失敗を恐れないことについては、以下の記事にも書いています。

失敗するのが怖いから、現状を変えるのが不安だから、という理由で小さな世界に閉じこもるのはもったいないと思います。

技術そのものが目的ではない

プログラマーとして仕事をする以上、最新の技術を習得することや、スキルを磨くことは重要だと思います。
しかし、「一番重要ではない」とも思います。

僕らの目的はコードを書くことではなく、何か問題を解決することや、顧客のニーズを満たす、新たなニーズを掘り起こすことです。
最新の技術を駆使していても、誰の役にも立たないものを作っていては意味がないのです。

そして、ちょっと違う話になるかもしれませんが、超高度な技術を持っているけど、高圧的だったりコミュニケーションが難しい人よりは、技術がそこそこでも、協力的で一緒に仕事をしていて心地良い人の方がプログラマーとして上だと思います。
※今時そんなタイプのロボットプログラマーは少ないかもしれませんが。

僕らは人と人同士で協力しながら、人のためにコードを書きます。
プログラミングスキルそのものに固執しすぎず、コミュニケーションスキルに目を向ける必要もあるかもしれないですね。

プログラマーにとってコミュニケーションスキルがいかに重要かということが、以下の本にも記されています。
SOFT SKILLS ソフトウェア開発者の人生マニュアル
プログラミングスキルそのものではなく、社交術、自分を正しくアピールするための戦略、交渉術、キャリア形成などについて知りたい方は必読の本です。

まとめ

  • 技術がまだまだ未熟だから、もっと磨かなければならない。という感情は正しい。ネガティブに考えない。
  • 自信を持てないことで、閉じこもってはいけない。積極的に技術を学んで、成長するチャンスを作る。
  • 技術そのものに固執しすぎない。新しい技術をなぜ身につけるのかを考える。