プログラマのなりかた

プログラマになるにはどのような方法があるのでしょうか。 世間では長く就職難が続いているようですが、ソフトウェア業界は常に人不足と言われ、 もしかしたらかなり特殊な状況なのかもしれません。

大学に行って新卒採用

もちろん、普通に大学に行き普通に就職することでなれます。 プログラマに直接関わる学部としては情報工学科などがあります。

BtoBの場合、SIerなどの最上流は普通に超大企業なので、 一流大学や情報工学科を卒業しないと、まず新卒で入ることはできません。 一方、下流の企業は常に奴隷不足に悩んでいるため、たぶん人間でありさえすれば入れるのではないでしょうか。 大卒である必要もありません。

どちらも入社時にプログラミング能力はあまり問われません。 前者は大企業なので手厚い研修とOJTが用意され、 後者は1週間の研修終えると実務経験3年のプログラマとして売られていくなんてうわさ話を聞きます。

Web業界の場合、大企業とそれ以外とで大きく変わります。 大企業の場合は、SIerと同じように将来性を買われて未経験でも採用されますが、 実績があると圧倒的に優遇されます。 研修はありますが、それほど手厚いというレベルではありません。 研修は実績があるとスキップできたりします。

一方、中小企業の場合は、新卒段階で十分なプログラミング能力が要求されます。 そもそも新卒採用をしていない場合もあり、その時は実績を持って突撃するか声がかかるのを待つしかないでしょう。 もちろん即戦力が前提で、研修など期待してはいけません

技術力で就職する

他の業種ではなかなかできない方法だと思いますが、Web業界の場合、 年齢・学歴・職歴にかかわらず技術力さえあれば就職できます。 人格も問われません。 極端な話、中学卒業直後からトップ待遇の給料で働くこともできます。

Web業界では、人月の神話は完全に否定されており、 生産性は能力により何十倍も開きがあることを実体験として理解しています。 プログラマではない人事部では、その能力を測ることが難しく、伝統的に採用に強い影響力を持っていません。 プログラマの採用面接はプログラマが行っている会社も多く、 現場のプログラマこいつと働きたいと言えば、何より強力な採用動機となるのです。

エンジニアが選ぶのでエンジニアの世界でまともな人間であればよく、 つまり世間一般では破綻した人格でも問題ありません。 それどころか、破綻していることを考慮して、いろいろ便宜を図ってくれる場合があります。

技術力で就職するには当然、技術力を何かしらの方法で可視化しなければなりません。 現代ではたくさんの方法があります。

  • オープンソース活動

  • 技術コミュニティや勉強会の運営

  • SECCONやISUCON、AtCoderなどの競技

  • セキュキャンなどの学生向けテクノロジーイベント

  • ガチクラック 自主的なセキュリティ調査

技術コミュニティも本人が技術に明るくないと人は付いてこないため、 結局はすべて実際にプログラムを書いて動かすことが何よりも重要だと言えます。 基本的にすべてコードは公開したほうが良いでしょう。 コードを公開しない場合、競技プログラミングの実行時間など数値的に比較可能でないと判断できません。 例えばクローズドソースでゲームを作っても全く評価されないでしょう。

この業界は技術さえあれば生きていけるので、 声がかかった瞬間に学校を辞めて就職しても、将来困ることはないと思います。 学歴を気にする人も少ないので学歴差別もされません。 実際、現場のプログラマも「こいつ今すぐ学校やめてウチ来てくれないかな」なんて話をよくします。

まとめ

  • ひとくちにプログラマと言っても硬い業界からゆるゆるな業界までいろいろある

  • それぞれに合った入り方がある

  • Web業界ならクズでもニートでも留年してても中卒でも技術さえあれば入れる