こんにちは。アキゾラです。
今日は、プログラマと資格について。
プログラマに資格は必要か、新卒や未経験者がプログラマになるために資格がいるか?など現役プログラマであるアキゾラの独断と偏見でみてみます。
プログラマに資格は必要か?
この問いは、受け止め方が2通りあると思います。
一つ目は、プログラマになるために資格が必要か?
二つ目は、プログラマとして仕事をする中で、資格が必要か(役に立つか)?
プログラマになるために、資格が必要か?
まず、一つ目の、「プログラマになるために資格が必要か?」
この答えは、NOです。
プログラマは、資格がなくてもなれます。
プログラミングをする人は、みんなプログラマです。
仕事としてプログラミングをする人も、趣味でプログラミングをする人も、大きなくくりでみんなプログラマ。
プログラミングの資格を持っていないとできないプログラミングの仕事、というのは存在しません。
自分でプログラマです!と言えば、プログラマなわけですw
ここはシンプルですね!
プログラマとして仕事をする中で、資格が必要か(役に立つか)?
二つ目の、「プログラマとして仕事をする中で、資格が必要か(役に立つか)?」
これも、基本的にはNOの立場です。
ただ、その資格のレベルだったり種類に関係してくるところがあるかな、というのが現役プログラマの所感です。
基礎的なレベルの資格は、仕事をする中で役に立つのではなく、それが当たり前となるベースの知識
例えば、プログラマになる人がまず最初に目指すことが多いと思われる、国家試験である「基本情報技術者試験」。
プログラマにも色々種類がありますが、基本情報技術者試験はだいたいどの分野のプログラマでも基礎的なベースとなる知識を問われているレベルかなと思います。
この資格に関して言えば、ここで問われる知識があって仕事に役立つ、というものではなく、ここで問われる知識をベースとして日々仕事をする、というイメージです。
ざっくり言うと、プログラマであれば、知っていて当たり前、できて当たり前というようなところ。
なんて大口叩いてますが、基本情報って、逆に出題範囲が広くて、難しいところもあったりするのも事実w
ただ、午後にアルゴリズムとかプログラミングの問題がでます。
これが未経験者には難易度が高いと言われていたりするのですが、現場で働くプログラマの人からすると、ここは特に勉強しなくてもできるなという部分。
後のものは、勉強(暗記)しないといけないので、ちょっとてこずることあり、というのがアキゾラの感覚です。
専門性の高い資格になると、自分の携わる仕事で役に立つことも出てくる
この業界には、基礎的な資格よりも難易度の高くなってくる、専門的な資格試験があります。
IT業界の資格は様々なものがありますが、例えば国家試験であれば、以下の高度試験(高度な知識・技能のところ)に区分されるもの。
この辺になってくると、資格の勉強をすることが、自分が携わる仕事で役に立つようになってくることもあると思います。
逆に、この資格を持っているから、あの仕事につける、というような自分のやりたい仕事に携われるようになる可能性が高まることもあるかなと。あるからってなれるわけじゃないし、資格によるところありですが。
資格が先か、仕事が先かっていうところですけどね。
いずれにしても、資格があることが、ある程度仕事で有利に働くようになることもあると言ってもいいかなと思います。
アキゾラは高度試験の分類でいえば、情報処理安全確保支援士試験に合格しているだけなので、偉そうなことは言えませんが、この資格を取ったことで情報セキュリティ分野の仕事に異動しやすいというようなことはありそうです。社内で、ですね。
高度試験は、ネットワークだったり、データベースだったり、専門性が高くなってくるので、その分野に対して深い知識を持っていることの証明にはなってきますね。
その他、オラクルとかPHPとか、民間の試験も色々あります。
あんまりアキゾラは民間試験詳しくないのですが、この辺もどっちかというと、プログラマとしての基礎的な幅広い知識、というよりその中でも特定の専門的な知識を問うものが多いように思います。
プログラマとして働く中で、資格がなくてもスキルがある人はいる?
これはYESだと思います。
資格試験を受けることと、プログラミングができること、自分のスキルが高いこと、は別問題ですので。
ただ、これも一現役プログラマのアキゾラの所感ではありますが、一緒に働いていて仕事ができるなと思う人、技術力が高いなと思う人っていうのは、だいたいそれ相応の資格を持ってる人も多い印象です。
資格とスキルが全くリンクしないわけじゃないんですね。
まぁこのあたりは会社が資格を受けることを推奨していることが多いということも関係していると思いますが。
スキルのある人は、やっぱり仕事が忙しかったりしても、試験は試験で受けてる人が多いのかなという印象があります。
資格は、他人に自分のスキルを証明することのできるツール
何となく論調的に、プログラマに資格は必要ないに一票、みたいな感じですが、やっぱりね、あって損はないものだと思います。
プログラマにとっての資格は、大部分は他人に自分のスキルを証明することのできるツールとしての意味合いが大きいと思います。
まぁプログラマに限らず、資格って基本的にそういうものだと思いますがw
プログラマにとっては、資格がないと仕事ができないわけじゃないけど、やっぱりあるに越したことがないものなんです。
プログラマにとって資格が必要なのはどんな時か?
特にプログラマにとって資格が役に立つ、資格を持っておくと有利、と言えるのは、おおまかに以下のような時だと思います。
- 転職する時、新しい案件に携わる時
- 昇給などの条件
はい、いずれも他人から評価される時、でしょうか。
客観的に判断できるものがあると、分かりやすいですよね。うん。
逆に言うと、日常的な業務で資格が必要になることはほぼありませんし、もっと言ってしまえば、自分は転職しないし、昇給も別に望まない、もしくは昇給にそういった資格の条件がないのであれば、ぶっちゃけ資格試験を受けなくてもいいと思います。
ただ、人生何があるか分かりませんしねぇw
スキルの証明としては、やはり高度試験レベルのような、難易度の高い試験に合格しているほど、高いスキルの証明(目安)になりますね。
新卒や未経験でプログラマになる場合に、資格は必要?
結局、プログラマに資格が必要かどうか?って考える人って主にここが知りたいのかな、とも思います。
既にプログラマとして働きだしちゃってると、そこまで意識することもないので。
新卒に関して
まず、新卒はほぼ不要だと思います。
入ってから取ればいいんじゃないですかね?アキゾラはそうでしたw
もちろん、入る前から資格取得を目指して動くのは素晴らしいことだと思いますし、やっている方はその姿勢で是非頑張ってください。
まぁ会社によると思うんですが、文系OKとうたっているようなところであれば、入社前に持ってたらそれに越したことはないけど、ないからってNGになることはないと思います。(人事じゃないので、あくまでアキゾラの考えです)
ただ、入る前に必須ではないけど、入ってからは、早いうちに取るのを推奨しますw
うちの会社で言えば、いつまでも基本情報が取れない人っていたりするんですが、やっぱりちょっと悪目立ちします。。
え、まだ取れてないの?みたいなね。。
基本情報ってプログラマ界隈ではそういうレベルの資格なんですね。ベースです。
資格に全くこだわりがないところとかもあるかもしれないので、どこの会社もこうだとは言えないですけどね。
基本情報取れているからって仕事ができるわけじゃないんですが、基本情報取れてないのにバリバリ仕事ができる、という人はあまり見たことありません。(新卒で入ってる人の話ね。うちの会社はそれなりに資格にうるさく、基本情報は取らないとまずいので、そういう感じになります)
未経験の転職に関して
これ、あくまで現場の一現役プログラマの考えです。採用担当者の考えと一致するかは分からない、ということはご理解ください。
未経験(転職)に関しては、個人的には、基本情報技術者試験くらいは取っておくといいんじゃないかと思いますね。
あったからと言って受かるかどうかは分からないのですが、やはり客観的にベーススキルの証明にはなるかと。
アキゾラは、転職じゃないんですが、過去に協力会社さんでほぼこの業界未経験の人の指導をすることになったことがあるのですが、その人は基本情報持ってませんでした。
これを聞いたときに、最初に思ったのは未経験でさらに基本情報も持っていないって、どのくらいこの現場で仕事ができるスキルがあるのだろうか?という不安です。
実際ね、仕事をしてみたら、本当に基礎的な事から説明しないといけないレベルでした。
新卒のOJTじゃなくて、ある程度即戦力となる人を求めていた現場でしたので、基本情報レベルの事が分からない人だと、正直きつかったです。
単体テストとは、結合テストとは、というところから説明するのですが、これ基本情報で出てくるレベルの話なわけです。
このように、基本情報があれば、圧倒的に有利になる、という訳じゃないけど、ある程度の基礎的な事は分かるのかな、と客観的に思ってもらえる可能性があります。
少なくとも、現場レベルでは、そう思います。
あ、この協力会社さんのそもそもの問題は、合格を出したうちの会社と、現場で求めるスキルに大きな差があったことが原因で、この未経験の人が悪いわけじゃなく、うちの会社の問題。と思っているんですけどね。
経験者採用というか、同業種間の転職時の場合は、これまでやってきた仕事内容なんかで、ある程度資格がなくてもスキルが分かったりするところもあるかもしれませんが、完全別業種の未経験となると、現状で最低限IT系のスキルがどの程度あるのか、この業界でやっていく気はあるのか、といったところも含め、客観的に示すためにも基礎レベルである基本情報はあった方がいいと個人的には思ったりします。
まぁ結局はその会社がどのようなレベルを未経験の人に期待しているのか、によるとは思うんですけどね。
新卒、未経験者の双方に言える。ITパスポート試験はプログラマには不要
よく、基本情報の前段階として、「ITパスポート試験」を受ける人、受けると良いと勧めるサイトなんかあるんですけど、この業界で働く現役プログラマからすると、ITパスポート試験は不要です。
先ほどもちらっと出した、以下の図を見ても分かる通り、ITパスポート試験はITを利活用する側、ユーザ側のスキルです。
あくまでアキゾラの所感ではございますが、これをプログラマの資格として何等か評価しているっていうのは、聞いたことがないです。
ただし、上記の図に、「すべての社会人」と書いてあるように、社会人として働く上でのIT知識/スキルの証明という意味では、知っておくといいものなのかも。
プログラマとして、ではなく、社会人として、事務職だったりITを活用して仕事をするユーザ側のスキルとして、にはいいのかもしれませんね。
すみません、本当にあまりITパスポートについてよく知りません・・w プログラマ界隈では、ほとんど意識されていない資格だと思います。
基本情報技術者試験以上の、専門的な資格はいらないと思われる
じゃあ、転職の時に基本情報技術者試験よりも専門性の高い、高度試験などを持っていたらもっと有利なのか、というと、それはYESだとは思うのですが、高度試験になってくると、そんな簡単にとれる資格じゃないというところも大事ですw
(基本情報技術者試験も未経験からすると、そんなに簡単な試験ではないですけど)
これを取ってから転職活動しよう、とかやっていると、その時間がもったいないし、実務で経験することが資格の勉強に役立つということも出てきたりするので、資格優先で取り組むと、効率が悪い、対費用効果が低い、と思います。
もちろん、学生さんで高度試験受かる方もいるので、不可能じゃないのですけどね。
高度試験は、既にプログラマの人でも苦労するものは多々ありますので、ここまで未経験の段階で手を出す必要はないと思います。
もちろん、入社の条件になっているとかであれば話は別ですけどね。でももう、そんな場合だと未経験OKとは思えないような気がしますが。
実際にプログラマとして働く上で大事なのは実践的なスキル
プログラマとして働くうえで、一番大事なのは資格(に合格する知識)ではなく、現場で使える実践的なスキルです。
これは間違いありません。
プログラマでも、資格試験に力を入れている人、資格マニアみたいな人っているんですけど、こういう人でも、一緒に働くと特に光るものがないというか、ええ?!そんなに資格持ってたの?!という人がいるのも、結構実体験だったりします。
色々な資格試験の知識があれば、現場でめちゃめちゃ使えるのかというと、そんなことなかったり。
やっぱり資格試験は資格試験の勉強、現場の仕事は現場の仕事、だったりするんですね。
で、実際働くうえで身につけたいのは100%実践的なスキルです。
まぁこういう資格マニアの人は、合格の報奨金目当てだったするもする場合もありますがw
なので、プログラマになったら、資格よりも、その現場で自分ができることは何か、日々勉強し使える実践的なスキルを高めていくことが重要だと思います。
まとめ
プログラマに資格は必要ない?新卒や未経験は?結論から言うと、資格は取っておいて損はない。でした。
プログラマになるのに、資格は不要ですが、転職や昇給など、他人に自分のスキルを判断してもらうときに分かりやすいツールとなるため、取っておいて損はないです。
これからプログラマになりたいという人、特に未経験での転職の場合は、基本情報技術者試験の資格は取っておくと良いと思います。
なくてもプログラマにはなれると思いますが、あると有利になることもあると思いますし、基本情報の勉強をすることはプログラマの仕事をする上でベースとなる知識が多いので無駄にならないと思います。
もちろん、プログラマの種類によっても必要な資格だったり、評価される資格だったりがありますので、自分の目指すものに沿った資格があれば、それを取ると良いのではないでしょうか。
ではでは!
コメント