才能がないプログラマの生存戦略【才能がなくても諦める必要はありません!】

更新日:

私はプログラミングをできるものの、才能あるプログラマに比べてると、どうしても劣るような気がしてなりません。
それでもプログラミングを続けるべきでしょうか?


記事の内容


プログラマという職業をやっていると、誰しもが「こいつには敵わない」というエンジニアと出会うことがあります。
私もそれを経験したことがありますし、クックパッドの創業者である佐野さんも大学生の時に、「こいつには敵わない」という経験をして起業家を目指したそうです。
とは言っても、才能がある人に出会ったとしても、プログラミングを諦める必要はありませんし、必要以上に他人と比べる必要もありません。
つまり、「自分には才能がない」と言って諦めるのはナンセンスだということです。

この記事では、才能に関係なく、自分が得意なフィールドを見つけて戦っていく戦略を説明します。

才能に天井はないので、気にする必要はありません

プログラミングを生業として働いていると、できるプログラマに出会うことがあります。
上を見れば、世界には以下のような天才達がいくらでもいます。

世界にいる天才達

  • Google、Apple、Amazonなどのシステムを作った人達
  • Bitcoinを考えた人
  • LinuxやGitを作った人達
  • Ruby on Railsを作った人

彼らの多くは、20代にプログラマとしての才能を開花させています。

また最近では、IT業界未経験の女医が転職して、Googleに入社したという話がエンジニア達から注目を集めていました。

世界中に目を向ければ、スゴイ人達はいくらでもいます。
そのような才能ある人達のことを考えだしたらキリがないので、あまり上を気にしすぎないようにしましょう。

IT業界での労働は、天才のためだけにあるわけではありません。
あなたには、あなたが戦うべきフィールドがあるので安心して下さい。

プログラマに必要な基本的な3つの才能

超人になるための才能は置いておいて、IT業界で普通のエンジニアとして働くための大事な才能を紹介します。
この3つは、エンジニアとって重要だと言われています。

プログラミングを楽しめる

プログラマとして給料を貰う以上、プログラミングは仕事なのですが、それでもプログラミングを楽しめる人は長く業界に残っています。
「どうやったら、この処理が早くなるか?」といったことを楽しめる能力が、プログラマには大事になってきます。

学習意欲が高い

web業界の進化のスピードは非常に早いです。
10年前までは、スマホはありませんでしたが、今では全世界で多くの人がスマホを使っています。
ということは、この10年間で、エンジニアは、スマホで動くアプリに対応する必要がありました。
このような変化に対して、積極的に学習していく能力が、プログラマには求められます。

論理的思考能力

プログラミングを書いていると、何らかの問題にぶつかることは、日常茶飯事です。
そういった時に、問題の理由を切り分けて考えつつ、自分の力で調べていける能力が、プログラマには必要とされます。


プログラマが必要なスキルは業種によって異なります

上記の3つの才能をベースにして、業種ごとに求められてくるスキルを紹介します。
順番に例を見ていきましょう。

ゲーム業界

よく使われている言語;C++、C#、Unity

比較的、難易度が高い静的な言語が使われやすく、実行速度が求められます。
数学や物理の知識も必要になってきます。
エンジニアとしては、難易度が高めの業界になります。

広告業界

よく使われている言語;C、Node、PHP

実行速度が求められる業界です。
アルゴリズムを知っている方がいいです。
広告を早く表示するために、通信の知識が求められます。
また、最適な広告配信を行うために、統計的な知識も必要とされます。

ECサイト

よく使われている言語;PHP、Ruby、Java

データベースの設計が重要になってきます。
実行速度はあまり求められません。
ビジネス側とコミュニケーションを取るスキルが大事になってきます。
また、最適な在庫情報を出すために、統計的な知識も必要とされます。

その他のWebサイト

よく使われている言語;PHP、Ruby、Java

実行速度はあまり求められません。
プログラミング、データベースの設計、サーバーやインフラの知識などが幅広く求められます。
また、ビジネス側とコミュニケーションを取るスキルも大事です。

データ分析

よく使われている言語;R、Python

統計や数学的な知識が求められます。
また、ビジネスへのコミットが求められるので、コミュニケーションが大事です。

地味な仕事らしいので、興味がある人はこちらを読んでみて下さい。

こうやって見ていくとわかるように、業界ごとに求められる能力はまったく異なります。
ということは、ゲーム業界では仕事ができる人でも、ECサイトの業界で働いたら普通の人という可能性もあります。

逆もまたしかりです。
実行速度の早いプログラムを書けても、コミュニケーションができなければ、ただの変人扱いされるかもしれません。
つまり、数学力が活かされる業界もあれば、物事を順序立てて考える論理的思考やコミュニケーション力が求められる業界もあるということです。
というか、むしろ後者の二つが活かされる業界の方が多いかもしれません。

これが、私が「才能」をあまり気にする必要はないと言った理由です。

才能よりも幅広い知識が求められることがあります

さらに、才能に関係なく個人が戦える戦略を考えてみます。

プログラミングに関することで、一つのことを極めることは難しいのですが、幅広く理解する分には難易度が下がります。
「一つのことを極めた方がいい」という意見もありますが、開き直って幅広く理解するのも一つの戦略です
下記に、エンジニアの職種の一覧を紹介します。

エンジニアの職種一覧

  • サーバーサイドエンジニア
  • フロントエンジニア
  • デザイナー
  • iOSエンジニア
  • Androidエンジニア
  • ネットワークエンジニア
  • サーバー管理者

会社によっては、この中の一つのを極めている人が求められることもあれば、複数のことを知っている人が求められるケースもあります。

例えば、このケースでは当然、高スキルの人が求められます。

高スキルのサーバーサイドエンジニア  普通のサーバーサイドエンジニア

でも、アプリエンジニアも求められている時には、このようになるかもしれません。

高スキルのサーバーサイドエンジニア 
(普通のサーバーサイドエンジニア + 普通のアプリエンジニア)

外国人が多い職場だと、このようになるかもしれません。

高スキルのサーバーサイドエンジニア 
(普通のサーバーサイドエンジニア + 英語力)

つまり、いくつかの能力を持っていれば、それを活かせる会社があるということです。

持っているとプラスになるスキル

エンジニアとして、持っておく方がよい汎用的なスキルも紹介します。

英語力

日本企業では、英語力はなぜか評価されます。
英語力があっても大して使う機会はないのですが、「グローバル化」という流行りのキーワードにのって、日本企業では英語ができる人材を求める傾向にあります。
また、英語でプログラミングに関するドキュメントを読んだり聞いたりすることもあるので、英語力はあって悪いものではないでしょう。

また、英語ができればブリッジSEとして働く選択肢が出てきます。

数学力

上記の説明と矛盾するようですが、数学力もあるに越したことはありません。
とは言っても、何も難しい数学をやれと言っているわけではありません。
まずは、「プログラマの数学」に書かれているレベルの数学から始めましょう。
結城先生の著書は、いい本ばかりです。

UML

UMLとは「Unified Modeling Language」の略で、プログラミングを書く時に作成する設計図のようなものです。
UMLを使うとロジックが整理されるし、視覚的にもわかりやすいので、他人とロジックを共有しやすくなります。
世界的にもよく使われている製品です。
プロジェクトマネージャーやリーダーになる人は、勉強するに越したことはありません。
UMLは、きっと強い武器になってくれるはずです。

UMLの勉強には、この本がオススメです。

コミュニケーション力

他人とコミュニケーションをとるということは、営業だけでなくプログラミングでも重要な能力です。
これは意外と見過ごされやすいので、他人と差をつけやすいところです。
プログラミング力に自信がない方は、是非とも他人との気持ちよいコミュニケーションを心掛けましょう。

まとめ

ここまで読んでもらえれば、特別な才能を持っていない人のエンジニア戦略が見えてきたはずです。
才能に負けない方法をまとめると、以下のようになります。

才能に負けない方法

  • 自分の能力を活かせる場所で働く
  • エンジニアのスキルを水平的に広げる
  • 「英語力」+「UML」+「コミュニケーション力」を身につける

最初は難しく感じるかもしれませんが、一気に勉強をする必要はありません。
地道に、少しづつ勉強をして積み上げていきましょう。

少し話は違うかもしれませんが、最近、DMMの亀山会長の面白い記事を読みました。
その中の一節がよかったので紹介します。

DMMを辞めて物流会社に転職した社員と会ったときに、「どうよ。新しい会社は?」って聞いたんだ。
そしたら、「会社で俺が一番ITを分かってるもんで、頼りにされてます」と笑ってた。
うちにいたときは目立たなかったやつなんだけど、転職先ではITのスキルを必要とされて、やりがいがあるみたいだった。

こうやって、自分の持ち味が生きる場所に転職することも立派な戦略ですね^^

また、一人でキャリアプラン考えることが苦手だという方は、転職エージェントに相談してみるのも一案です。
きっと、あなたに合った場所を一緒に探してくれるはずです。
転職エージェントは、今の市場で何が求められているかをよく知っているので、話して情報交換をするだけでも勉強になります。

私のお勧めする転職エージェントはdodaです。
dodaのエージェントさんは、相談した時に非常に親身になって相談にのってくれました。
転職エージェントへの登録や相談は無料で使えるので、安心して使ってみて下さい。

今すぐ詳細を見てみる

ちなみに、外資系を狙いたい人にはエンワールドがオススメです。
転職エージェントを一社しか使ってはいけないというルールは特にありません。
むしろ、2社ぐらいの転職エージェントを使うことは普通です。
これから転職活動を始めようと思っている人は、是非、2社とも登録してみて下さい。
担当者の当たりハズレもあるので、2社登録することは本当にオススメできる方法です。

情報収集のために、今すぐ登録して相談する

文系出身の方でプログラミングに興味がある人は、この記事を読んで下さい

アジャイル開発について興味がある人には、この記事がおすすめです

エンジニア組織について興味がある人には、この記事がおすすめです

プロダクトマネジメントについて興味がある人には、この記事がおすすめです

IT業界についてより詳しく勉強したい人には、この記事がオススメです


Webデザインをより詳しく勉強したい人には、この記事がオススメです


各都道府県にあるプログラミングスクールを知りたい人には、この記事がオススメです

-エンジニアの処世術

Copyright© プログラミング道場 , 2024 All Rights Reserved Powered by AFFINGER4.