私はソフトウェアエンジニアになって10年が経ちますが、今までたくさんのプログラマーの方とお話しする機会がありました。社内はもちろん、社外の取引先や業種が異なる方とも一緒に仕事をすることもありました。
そんな中、私はもちろん、多くのプログラマーは特殊な才能や能力は持ち合わせていないということに気付きました。
プログラマーになろうか悩んでいる方は是非読んでください!
今まで出会ったプログラマーには共通点があった
実は私が会ったプログラマーの方たちは、自分がエンジニアだからといってプログラミングや技術のことが好きかというと驚くことに実際はそうでもなかったのです。もちろん、本当にプログラミングが好きで仕事している人もいますが、ほとんどのプログラマーはそこまでプログラミングのことを好きではなかったのです。
私はというと後者(そこまで好きではない)になります。
そして、様々なプログラマーの方と話していると、共通している部分があることに気付きました。同時にこれらの共通点はプログラミングに必要なスキルであると確信しました。
プログラミングに必要な3つのスキル
それでは実際にプログラマーになるために必要なスキルについてお話ししていきます。
それは、
- ググる力
- 根気よく問題を解決する力
- そこそこの英語力
です!!
これを見るとほとんどの方が「ウソでしょ!?」と言うでしょう。
が、
本当なのです。
ソフトウェアを扱っているんだからJavaScriptやらC#、Pythonといったプログラミング能力が絶対必要でしょ!と思いますよね?
しかし、少なくとも私はプログラミングするために必要な構文や必要なライブラリが全て頭の中に入っているというプログラマーに会ったことはありません。もちろん、規模の小さいプログラムであれば何も調べずにプログラミングすることも可能でしょう。
ですが、ほとんどの方は企業に務めていますから、大きなシステムを開発する機会というのもあるでしょう。そういった場合、自分の頭の中にある情報だけでは上手く開発できないことがしばしばあります。
そこで必要となってくるスキルが先に挙げた3つの項目(ググる力、根気よく問題を解決する力、そこそこの英語力)になるのです!
では、実際になぜこの3つのスキルが必要になるのか解説していきます。
ググる力
まずは「ググる力」について解説していきます。
「ググる力」=「リサーチする力」のことです。
先にも書きましたが、全て自分の記憶だけではプログラミングはできません。必ず「調べる」という作業が入ってきます。
今はネットに答えが全て落ちている時代なので、分厚い参考書とかを購入する必要は全くありません。もちろん、興味があったりプログラマーとしてレベルアップしたければ参考書を読む必要は出てきます。しかし、たいていの方にとってはむしろお金の無駄なので、代わりに英語の単語帳を買うなり別の使い道を検討しましょう。
さて、「ググる」こと自体はとても簡単なことですが、注意すべきポイントがあります。
それは、答えがすぐに出そうな検索キーワードを意識してググることです。
例えば、アプリケーションを終了させるためのコードを書きたいときに、「アプリ 終了」と検索するよりは「C# アプリケーション 終了 コード」といったように、使用言語と何を調べるのかを明確にしたほうが早く答えにたどり着くことができます。
実際にプログラミングを書くときは、膨大な検索をすることになるはずです。そのときに、早く答えにたどり着くことができた方が作業効率が上がりますし、リサーチ力も身に付けることができます。
プログラミングでコードを書いていると、だんだん短い時間でたくさんのコード量を書くことができてきます。要は対象のプログラミング言語のコーディングに慣れてくるのですが、このときに検索する時間が掛かってしまうとコーディングのスピードも落ちてきてしまうのです。
最初は慣れないかもしれませんが、「検索キーワード」は意識してググりましょう!!
根気よく問題を解決する力
私は「根気よく問題を解決する力」が最も重要なスキルだと確信しています。
プログラムを組んでいくと設計通りに動かないことが多々あります。これはプログラマーにとって精神的ダメージが大きい現象なのです。
例えば、
- 開発環境では動いているのに、量産機器に組み込むと動かない
- Windows7から10にするとアプリが落ちてしまう
- .NETのバージョンを上げるとアプリが動かなくなる
- ネットワークに繋げるとアプリが固まる
- 別のアプリのアップデートのタイミングでアプリが落ちる
- 英語板のOSだと動くけど日本語板だと動かない
などなど、挙げればキリはありませんが、星の数ほど上手く行かないことがあるのです。しかも、これらの問題は簡単には答えにたどり着くことができない場合が多いです。
いくらリサーチしても解決しない場合は、日本語ページ以外に英語ページも調べる必要が出てきますし、Microsoftなどのサードパーティのベンダーの規約を確認する必要も出てきます。
そこで必要となるのが「根気よく問題を解決する力」=「根性」です。
これについては、精神論的な位置付けになってしまいますが、ソフトウェアエンジニアには最も重要で必須のスキルなのです!!
このスキルさえあれば、99%の問題は解決できるでしょう。残り1%は問題が予想できても解決までに至らないことがあります。この1%は自分の作成したプログラムが悪いというわけではなく、もはや修正しようがないといった場合がほとんどです。
そこそこの英語力
プログラミングを書く言語は日本語ではなく当然英語です。そのため英語力は必須のスキルになります。
とはいえ、英語が得意ではないという方も沢山いるでしょう。むしろ、多くの日本人は英語に苦手意識があります。
最近は新卒でもTOEIC600点以上の新人がゴロゴロいますが、私自身、新卒時はTOEIC350点くらいでした。そんな私でも問題無くプログラミングすることができます。
英語力についても「ググる力」と共通していますが、結局は知らない単語は調べれば良いのです。「そこそこの英語力」と表現している理由としては、意外とみんな間違った英語の使い方をしていたりするためです。
なので、とてつもなく高い英語力は絶対に要りません。
まとめ
いかがでしたでしょうか?
この記事を読んでいただいた方はプログラマーになれる自信ややる気に近い気持ちが沸いてきたことでしょう。
そうなんです!
プログラマーには誰でもなれるのです!!
特殊な技術は必要なく、できることをコツコツと実行していけば誰でもプログラマーとして食べていけますよ。
そして、今バリバリ働いているプログラマーの諸先輩方も必ず同じスキルを持っているはずです。
プログラマーになりたい、という方は勇気を持って一歩踏み出してみましょう!!
コメント