プログラマになるために資格は必要か

      2018/01/02

ここ最近のエンジニア需要増大に伴って、プログラマやエンジニアになりたいと考え始める人が周りにも増えてきました。

そんな時によく聞かれるのが「プログラマになろうとしたら、資格とか取ったほうがいいの?」という内容。

確かに、真っ黒な画面に向かってカタカタ英語や記号を打ち込んでいるTHE 専門職であるプログラマという職業には、何かしら資格が必要に思えるかもしれません。

今日はそんなプログラマ・エンジニアを目指していて、最初の一歩として資格取得を検討している人に向けてプログラマになるのに資格が必要かという疑問に応えてみようと思います。

先に結論

プログラマになるために、資格は全く必要ありません。

資格勉強をする時間があるならば、自分の作ったサービスやソースコードを公開した方が100倍効率的です。費用対効果抜群です。

迅速にバッサリと結論を出してしまいましたが、ここ先になぜプログラマになるために資格が不要なのか、資格勉強ではなく何をすればプログラマとしての就業に繋がるのかについて説明していこうと思います。

なぜプログラマになるために資格が必要ないのか

プログラマの働く環境では技術の移り変わりが早い

プログラマと言っても使用するプログラミング言語やサービスの形によって扱うモノは変わってきますが、基本的に必要とされる技術・知識の移り変わりが激しいです。

そもそもの歴史として浅く、発展の最中にある技術ですし、日々ツール等も進化しています。

そのため3年前までは有益だった情報が今では全く役に立たない、なんてこともザラにあります。それは扱う言語やフレームワークのバージョンアップによる影響であったり、代替技術の台頭によって発生する悲しい現象です。

資格試験において、これらの最新技術に対するキャッチアップを測ることは不可能です。

資格で測ることが難しい

技術の移り変わり以前にそもそもプログラマという職業の技量をたかだか数時間の選択問題で測ることが難しいです。

無理やり測ろうとしたところで精度はたかが知れているでしょう。

プログラマは日々様々な要望やトラブルを解消しながら、知識や技術を蓄えています。優秀なプログラマであればあるほど、所持するスキルは複雑かつ多岐に渡るわけです。

そういった多くの要因が絡まって構築された価値を把握しようと思ったら、それこそ模擬プロジェクトなどを用意して、優秀な試験官に見張らせ続けて評価を行う他ないでしょう。

そもそもソースコードや成果物で測ることができるものを、そこまで手間をかけて資格に落とし込む必要があるとも思えませんけどね。

資格の役割がない

そもそも資格というのは、大体がその仕事ができるのかをアピールするための必要とされます。

また危険であったり、他人の人生を左右しかねない立場の職業につくための免許的な役割を果たすこともあります。要するに

  • ○○の技術を持っていますので、○○の仕事ができますよ
  • ○○な知識を持っていますので、安心して任せてください

といったメッセージを雇用主や顧客に伝えるための証明書であるわけです。

プログラマ以外の職業の場合

確かに弁護士や医療関係、建築関係の職業につくときには、上で述べたような証明が必要になるでしょう。

下手したら人の命に関わったり、大きな金銭が動くわけですし、技術・知識を持っていることを資格以外で証明することが難しいからです。

全く未経験の人間が、

  • 自分で家を建てたことがあるので貴方の家を設計させてください!
  • 友達を弁護して冤罪から救ったことがあるので、弁護士として雇ってください!

といったところで頭がおかしいと思われてつまみ出されるに違いありません。

プログラマの場合

しかしプログラマやエンジニアの場合、自分の知識や経験を簡単にアピールしたり、証明することができるんですよね。

詳細は先の方に書きますが、ソースコードを公開したり、自分の作ったものをサービスとして世間に提供することが簡単にできるわけです。

弁護士や建築家を目指す人には難しい自己アピールを、確かな根拠を持って提供することができるのがプログラマという職業の面白いところです。

そういったアプローチが可能であることから、プログラマにとっての資格というのは形骸的になりがちで、実際に雇用する企業も資格を軽視する傾向があります。そもそもプログラマの提供する価値と資格という制度の相性が非常に悪いわけです。

資格勉強ではなく、何をすればプログラマになれるか

では資格を取るというわかりやすい努力の方向を失ったら何をすれば良いか。

必要なことは冒頭でも話しましたが、ソースコード・サービスの公開です。

ソースコード公開サービスを活用する

GitHubというサービスを使えばオンライン上に自身のソースコードを公開して、世界中のユーザーから評価を受けることができます。プログラマとして面談や商談を受ける際に、このGitHubのアカウントを聞かれることもあります。

サービスを作って公開する

一見難易度の高く見えるこの目標ですが、しっかりとした意志を持って本気で取り組めばWebサービスの公開はそう難しくありません。

僕は以下の流れでRubyの学習を行ない、未経験言語であるのにも関わらず、フリーランスと派遣でそれぞれ契約を獲得するにまで至りました。 Ruby/Ruby on Railsの概要を

今の時代サーバーを借りてサービスを公開する手順なんてネット上にいくらでも転がっています。

最初はそれらのノウハウに出てくる用語がわからず、目が回ってしまうかも知れませんが、その用語について調べて、少しずつ前進していけば完璧に理解できずとも目標を達成することは十分に可能です。

僕はWebエンジニアとして活動しておりますが、自分が作成し、実際に公開しているサービスを紹介すると、毎回食いついてもらってます。

今だったらAWS上にRails on Rubyを使ってWebサービスを公開できれば、未経験でもそれだけでオファー来るんじゃないかってレベルです。

どうしても自分で成果物を作るのが難しそう・・・

それでも資格のような分かりやすいアピール要素が欲しい・・・という場合はプログラミングスクールを検討するのもありです。

とはいえ費用も時間もかかりますので、その辺りの判断は慎重に行なっていきましょう。

スクールによってはプログラミングの基本中の基本から体系的に教育してくれるものもありますので、よく吟味して自分にあったスクールを選ぶようにしましょう。

当ブログではプログラマの視点から高いパフォーマンスが期待できるプログラミングスクールを紹介しておりますので、興味があれば読んでみてください。

最近のプログラミングスクールは、就業サポート・業務で役立つ教育を掲げているところがかなり多くなってきました。というかこの2つを満たしていないスクールはもはや存在価値が薄くなってきて

まとめ:資格は不要です

いかがだったでしょうか。プログラマやエンジニアを目指す上で資格の要否を悩んでいた人のお役に立てたならば幸いです。

 - エンジニア入門