> For the complete documentation index, see [llms.txt](https://np-complete.gitbook.io/c89-the-way-of-programmer-life/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://np-complete.gitbook.io/c89-the-way-of-programmer-life/how-to-be-a-programmer.md).

# プログラマのなりかた

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

## 大学に行って新卒採用

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

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

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

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

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

## 技術力で就職する

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

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

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

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

* オープンソース活動
* 技術コミュニティや勉強会の運営
* SECCONやISUCON、AtCoderなどの競技
* セキュキャンなどの学生向けテクノロジーイベント
* ~~ガチクラック~~ 自主的なセキュリティ調査

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

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

## まとめ

* ひとくちにプログラマと言っても硬い業界からゆるゆるな業界までいろいろある
* それぞれに合った入り方がある
* Web業界ならクズでもニートでも留年してても中卒でも技術さえあれば入れる
