専門学校に入学した頃はまともに就職できるのかすら不安でしたが、なんやかんやでいい会社に入れたという事実に困惑しています。 その業界に入ってみないと案外わからないことだらけだなという印象を持ちました。 なので、プログラミングほぼ初心者で専門学校に入学し、そこから約2年半で内定に至るまでに役立った情報を書こうと思います。
記事を書こうと思い立った理由は、ゲーム系のこの手の記事を見たからです。 ai-gaminglife.hatenablog.com
- 対象読者
- 筆者の経歴
- 専門入学からの経歴(半年毎)
- 就活について
- インターンについて
- 面接について
- SNSツールについて
- Web系に就職するには何をすべきか
- 自分が思っていた事に答えます(Q&A)
- まとめ
対象読者
俗に言う今を時めくWeb系企業とやらにプログラマーとして入社したい人
筆者の経歴
出身高校
地元では1、2を争う低レベル校
専門学校
関西にある某デジタル分野の専門学校
専門入学当初のPC経験
PCゲームにはどハマりして最低限扱えたが、プログラミングはほぼネットでコピーした20行程度のじゃんけんゲームが最大作品(1日勉強したら作れる)
専門入学からの経歴(半年毎)
1年目前期
この頃はプログラミングなんて全然わかってなかったので、学校で配られたC言語の課題をただひたすらに進めていました。 課題とは言っても10〜20行程度でAtCoderに出てくる一番簡単な問題くらいの難易度。 それと同時期になんか成長できそう、くらいの感覚でプログラミング系の部活に入部しました。
テストの点数は悪かった......
1年目後期
部活の活動で、文化祭に出すための作品を作ることになりました。高校時代まではグループになると端っこで一言も喋らず傍観している私でしたが、何か変わらねばと焦燥感にかられプロジェクトリーダーに立候補。(なんでそんな決断ができたのか今でも謎に包まれています) 初めてのゲーム作成に携わり、当時はC言語とDxライブラリでクイズゲームを作成。 デスマーチを重ね、見るも無残ながら完成させたゲームはなんとか展示され多くの人にプレイしていただきました。
この時期には体力の持つ限り開発をし続け、冬休みにサボりつつも大小合わせて4本のゲームを作りました。
2年目前半
学校ではJavaの授業が始まっていましたが、学校で習うレベルのことは1~2週間程度でさっさと済ませてしまいました。
それと同時に地域のイベントに無料WiFiを敷設するボランティアの手伝いをして、インフラの知識とネットワークの知識を学びました。
2年目後半
この時期にリーダブルコードという綺麗にプログラミングするための要素が詰まった本を読みました。 この本のおかげで一つのブレイクスルーが起きて、ガリガリコードを書けるようになりました。
この時期からインターンというものに興味を持ち始めて探すんですが、関西にはこの時期からインターンをやっている会社は非常に少なくて見つけるのに苦労しました。 しかし1社だけ2dayのインターンに参加してwebアプリケーションの勉強をしてきました。 勉強会にもハマって週1で大阪の勉強会に出没していました。
3年目前半
春休みの時期にサポーターズの1on1逆求人イベントに参加して、多くの企業さんとつながりを作って7,8月には学校を1ヶ月サボった上で3社のインターンに参加しました。 ここでインターンに参加した3社のうち、1社ではその後にリモートアルバイトをやらせていただき、1社には入社することになりました。
3年後半
インターンに参加した企業さんの面談やらアルバイトやらをこなしながら10,11月に内定が出ました。 その後もインターンで学んだことを怒涛のアウトプットで作品を作りまくりました。
4年目前半
// TODO: これから
就活について
この時代にプログラマーとして就活をするなら逆求人イベントが一番です。私はほぼこれでしか就活をしていません。 サポーターズさんやジースタイラスさんのイベントしか参加していませんが、自分にあったイベントに出会うとトントン拍子に話が進んでいきます。 参加条件は簡単で何か作品を作っておくことさえできれば大丈夫だと思います。
インターンについて
逆求人イベントからの流れが一番早いと思いますが、特に夏のインターンに参加することをお勧めします。 夏のインターンは多くの人が就活を始めるよりも随分と早い時期に開催されますので、その分レベルの高い人材が集まっている傾向があります。 インターンに参加すると濃縮された学習ができたり、インターンに参加するための勉強でもっと強くなれたり、他のインターン生とのつながりができたり、結構なお金がもらえたり、とメリットが多すぎるので絶対に参加した方がいいです。 Webアプリ、スマホアプリ、ゲーム、AIなどかなり幅広い分野での募集があるので、自分にあったインターンに参加するといいです。
面接について
企業さんから遠い場合、Skypeなどのツールを使って顔を写しながら遠距離面談をやることが多いです。上がりやすい人は遠距離面談だと余計緊張してしまうかもしれないので、少し慣れが必要かもしれません。思っているよりカジュアルな面談であることが多いのであまり気負いすぎないのがいいです。
SNSツールについて
企業さんと連絡先を交換するときは複数のパターンがあります。単純に電話やメール、Facebook、Lineなどが多いです。特に特定の人事さんと繋がる場合はFacebookが使われやすいのでできれば登録しておきましょう。
業界の情報収集にはTwitterが一番だと思います。 数は力、とはよく言ったもので、フォローした人たちの調べた情報が一箇所に集結して日夜有益な情報が流れ続けるわけですから、情報の宝石箱やーと叫びたくなるような素晴らしい情報ツールです。 そのほかにも、自分でインプットした内容をアウトプットしてみたり、他の人からモチベーションをもらったり、素敵な画像や動画で癒されたり、炎上ツイートを眺めて癒されてみたり、たまにはDMでスカウトが来たりとTwitterさまさまです。
Web系に就職するには何をすべきか
めっちゃアウトプットしましょう
インプットはもちろんTwitterやQiita、はてなブログなどなんでもいいですが常にする必要があります。 でもインプット3割:アウトプット7割が一番いい比率と言われますから、やっぱりアウトプットをどんどんしていかないとせっかくインプットした知識も使えないんですよね。 具体的なアウトプットの例というと、アプリを1年で5本作ってみるだとか、技術ブログを1月に1本投稿してみるだとか、目に見える作品をどんどん作っていく必要があります。
これは自らの成長のためという側面が大きいですが、就活するにあたって目に見えにくいプログラマーの能力を表すには大量のアウトプットがあった方がいいんですよね。 なので就活までに最低でも年1本はちゃんと物を作り、5本くらいは技術記事を書いていると非常にいい感じだと思います。 実際にやってみるとわかりますがこれは難しくもなんともない量です。働きながらでも余裕でこなせる量ですので、とりあえずやってみましょう。
人として最低限の文化的な会話能力をつけましょう
技術があればコミュ力はいらないなんて嘘です。 ここでいうコミュ力とはうぇーい力ではなく、人として最低限の文化的な会話ができるという能力のことです。
物作りを楽しみましょう
結局のところモチベーションの大元は物作り自体を楽しむことです。 ちなみに私は専門入学当初、プログラミング楽しいけど家でやるほどでもないかなー、なんて思ってましたができるようになってくると楽しくなるものです。1年後半や2年前半あたりからはひたすらプログラミングするようになっていました。
そして物作り自体を嫌々やっていると、作ったものにその気持ちが反映されてしまいます。 本当にいいサービスを見ると、作者がこのサービスを本当に愛しているということが伝わってきます。
自己防衛
この業界、死ぬその時まで常に学びが終わりません。 やはり学び続けるにはモチベーションが大事です。 モチベーションを上げる方法はいっぱいありますが、まずは下がりにくい環境に身を置くことが大事だと思います。 もともと学習意欲の高い人たちに囲まれていれば自然とモチベーションは上がりやすくなりますが、逆の環境に身を置けば みかん箱の中のカビのように悪い空気が伝染します。
特に学力の低い学校などにいるとこういう空気を持った人が多いです。 専門学校は悪い空気を持った人が半分、それなりにいい空気を持った人が4割、異常なくらいいい空気に包まれたガチ勢が1割という分類が多いです。 普通の大学以上にこれらのグループが独立するので、一度最高の1割に入ればあとは最高のサイクルをひたすら回すことができるのでどんどん成長できます。 最初のポジション取りは重要です。
自分が思っていた事に答えます(Q&A)
Q. 学歴は必要?
ほぼ必要ないです。 日本の優良企業やメガベンチャー、世界でも有数の学歴社会であるアメリカにあるGoogleやAppleやIBMなどでも学歴は不要です。 技術力や経験などが物を言う世界です。
ただ、学歴がいらない == 勉強しなくてもいい、と単純に考えると死にます。 いい学校に入っていると言うことはそれだけ勉強して脳回路が鍛えられている訳ですから、そこに差が出る可能性は高いです。 なので学歴がなかろうと、もう就活まで時間がなかろうと、少しでも自分の頭を鍛える必要はあります。
Q. Web系の給料は?
それなりに高いです。世界的にエンジニアの需要や技術力は高まっており、新卒800~1000万なんかも珍しくありません。 しかし日本企業は世界の流れから壊滅的に外れており、いまだに3~500万あたりが多いです。 ですが、ゲームやCGなどの給与水準よりは随分と改革が進んでいます。 400万超の企業はどんどん増えており、優良企業はその流れに取り残されないように徐々にですが水準が上がっています。
Q. 働く環境はブラック?
今時の企業であれば一切ブラックとは無縁です。 残業なんてありえない企業も多いですし、普通の企業なら月45時間を超えるような企業はまあありません。
Q. プログラミングを始めるには?
Progateというプログラミング学習サイトでRails、HTML/CSS、JavaScript、SQLなんかをやっていけば取っ掛かりはつかめるので、とりあえず始めてみましょう。
Q. 全てにおいてプログラミングを優先したいほど好きじゃない場合は?
ほとんどの人はそんなのです。その上、ある程度上達した上で言うならまだしも、やり始めてほんの少しではまだまだわかりません。 ゲームをプレイするときにも、上手くなってきてからが一番楽しいのと同じです。
Q. 才能がない場合は?
とりあえず10000時間やってから話してくれますか? それだけやれば才能なくても余裕で稼げますので。
もちろん飲み込みが遅いとかはあると思いますが、その分効率の良いやり方を模索したり、脳を鍛えるトレーニングをしたり、人より多くやってみたり、いろんな施策である程度切り抜けられます。 なんならその不向きを武器にしてブログを書いたり、マネジメントしてみたり、教えてみたりするのもアリです。 最早やりたいと言う気持ちが才能です。 私がそうでしたし、3年間でアプリ等を30本以上作ったり、50冊くらい本を読んだら、相当戦えるようになりました。
Q. 専門学校と大学、どっちにいくべき?
専門学校に通うメリット・デメリット
メリット
- 通常科目などはなく、技術的なことだけ勉強できる
- 卒論などもなく結構な自由時間ができる
- 周りは全員プログラマーなのでその手の話やグループ開発の機会に恵まれる
- 授業としてプログラミングができるので、独学より最初のハードルが低い
- 常にその話題で溢れているのでモチベーションを維持しやすい
- 現場で働いていた先生や同級生から話を聞いたり、人脈作りなどがやりやすい
- 学割や学校の一括購入でソフトウェアなどが安く手に入る
デメリット
専門学校とは
結局専門学校だろうが大学だろうが、どこにいっても自ら動かない限り上は目指せないというのは当然な話です。 専門学校は大学以上に自ら動くことが成功への鍵になっています。自ら動くだけの力がない人の落下速度は大学以上に激しいと思います。
どちらがいいのかと聞かれると大学と答えますが、実際に私が大学に行っていたら今ほどプログラミングはできていなかったと思います。 専門学校の方が最初のハードルが低く、そのハードルさえ超えてしまえば自走できるようになるタイプの人は専門学校をお勧めします。
まとめ
- 専門学校からでも余裕です
- 逆求人イベント参加しましょう
- 環境を武器にしましょう
- アウトプットが命です
- Twitterは良いぞ