私は都内某所にあるweb系の企業に就職することが決まっており、今年の4月からはフルタイムのソフトウェアエンジニアとして働くことになる。
数年前の高専を卒業してからの進路をあまり考えてなかった状態から、どうやってここまでの意思決定をしたのかを書き残しておこうと思う。
きっかけ
高専は5年制である。中学校卒業後に入学し、1-3年生は高校と同等、4,5年生は大学の1,2年生に相当するものとして扱われる。
高専3年の頃、教授から「ちょっとインターン受けてみない?」と声が掛かった。
当時の私はサークルに対しても積極的にコミットすることなく、ちょうどやることを見失っていた時期だった。
バイトも特になく、かつ結構有名所企業だったのでまあ試しに受けてみるかと選考を受けたところ、1次面接で落ちた。
流石に何もせずいきなり面接に臨んだわけではなく、たまにサークルのLTはやってるし、ネットワーク系構築記事でqiitaのエントリを1本書き上げたこともあり、普通に受かるつもりでいた。
そこで不合格を告げられ、正直めちゃくちゃ焦った。
3年生なんて進路も何も考えていないもので、私もそうだった。
だが、ちょっと期待して申し込んだインターンに普通に落ちてしまったので、これはまずいということで進路に対する危機感は上がり、技術の勉強や就活関係の情報収集を始めた。
これが私が就活を始めるきっかけだった。
技術習得
就活で選考に進むぞ!となる前に私はまずインターンに参加していた。
就活の選考では企業が我々を品定めするように、我々もそこで働いていけそうか(≒生きていけそうか)を見極める必要があると思う。
その目的を達成するためには「面談」という限られた方法では判断材料が足りないと思っていた。
最初からそんな風に考えていた訳では無いが、地元のその辺で適当にバイトするより遥かに(ソフトウェアエンジニアリングや将来の仕事に繋がるものとして)学べるものはあると思っていた。
私は結構いろいろ試してみるタイプで、バイトも飲食店の接客からコールセンターの仕事まで色々やった。
しかし、やはり学校で学んでいる情報系の知識を生かしたバイトをしたい(そしてあわよくば放課後とかの暇な時間でバイトをしたい)というモチベーションがあった。*1
自分一人で開発する個人開発と、MRを出してレビューがもらえる業務での開発は本当に違うもので*2、私はインターンと(情報系の)アルバイトでソフトウェアエンジニアリングのいろはを学んだ。
学校で学んだ内容が役に立っていない、というわけではないと思うが、その基礎知識のうえで現場でどう開発がされているのか、というのは自ら飛び込んで手を動かさないとわからないものもあると思う。
就活イベント
ある程度技術が身につき始めると、他の学生エンジニアと交流したり企業主催の就活イベント等があったりする。
私はこれに参加し、学生とのつながりや企業とのカジュアル面談などに繋がった。
学生同士の繋がりができることで、就活をしている "仲間" を見つけることが出来るのは大きいと思う。
私の学校ではこのようにイベントに参加したりして積極的に就活をする人は稀で、多くの就職希望が5年になって4,5月で学校求人から何社か選び受ける、と言う感じだった。
少なくとも情報系においては、学校に来る求人というのは最低限学校の勉強が出来れてれば良い、くらいの人を取るもので、比較して web 系企業や就活イベントに参加するような企業は、ある程度手が動く人を求めている印象を受けた*3。
逆求人
就活イベントといっても交流会やLT会といったカジュアルなものから、逆求人イベントといったフォーマルなものまで色々ある。
逆求人ではイベントを通して企業担当者に対し5分程度でスライド等を使いつつ私の説明を行い、その後企業担当者側からの軽い説明、お互いの質問タイム、といった形で進んでいった。
イベント自体は1日を通してあるので結構大変なのだが、いろんな企業の話を聞けてかつ、自分のことを簡潔に伝える練習としてこれはかなり有用だったと思う。
伝え方
面談を続けていると、ほんとにこれで良いんだろうか、とか、自分は嘘をついていないか、とか思う時がある。
でもそれは伝え方や考え方でカバーできることもあり、意外と自分の良さを自分自身が知らなかったりする。
それこそ逆求人イベントとかでは、こちらが企業ごとに面談の感想や評価を記入する代わりに、企業担当者も自分に対してコメントをくれる。
客観的な意見を参考に自分のことを理解していくのも良いのではないか。
就活というプロトコル
就活、というとなんとなくマイナスなイメージを持っていることもあると思う。
ただ、これは企業の担当者が自分の会社に人を「採用」するという意思決定を下すためのプロセスであり、我々はそのための確認や評価をされているのである。
しかしそれも 「就活というプロトコル」に則ったコミュニケーションであり、普段私達が他人と話すものと極端に異なるものでは無いと思う。
だから、その「就活というプロトコル」に則っていないと人事が判断した場合はお祈りメールが来ることだってあるし、その基準自体RFCとかで定められているものではないのだ。
その「プロトコル」に則って社会性をシュミレートできればそれでいいのであって、変に逆張りすると大変じゃない?と思う。
人が人を評価する(好きになる・好み)基準が違うように、会社も人を選ぶ基準は違うため、もし hoge 社に落ちたとしても piyo 社には受かるかもしれないし、その違いは採用担当者との相性だったりするこもありえるのかもしれない。
私にとって合う会社を見つけてやるんだ、くらいのマインドがいいかもしれないし、就活というのも雑に一つのイベントだと思ってやってみるのは悪くないなと思うし、私の就活はこの方針だった。
Honahuku の場合
少し個人的な話になる。
私は高専3年くらいのころにある web 系企業の季節インターンにインターンの選考として初めて通り、 GCP 関連のタスクをやらせてもらった。
その後人事から、長期インターンかアルバイトをしてみないか、という誘いが来た。
願ってもないことだったが、当時別の情報系の企業でアルバイトをしていたこと、まだこの会社が1社目なので他の企業も知っておきたいということで、期限の定めのある長期インターンをすることになった*4。
ただ結局そのままこの会社を気に入ってしまい、アルバイトに移行し、本選考を受け、内定を承諾した。
長期インターンの時点で、なんとなく私がこの会社と合っていそうでそのまま入社してしまいそうだな、という気はしていた。
ただ他を知らず盲目的にここを選んでしまう、という状況は本当に嫌だったため、割としっかりめに就活をしたと思う。
逆求人イベントや個別でのカジュアル面談を合わせると30社超えの企業さんと話をし、その中でも15社くらいの本選考に応募し、結果として5社の内定を頂いている。
それは私がただ天才だから、というわけではないと思う。私なり何度も自分と向き合い、自己紹介やエントリーシート*5をブラッシュアップする血の滲むような努力をし、その結果としてあるものだ。
その努力が出来たのは確かに私の特性なのかもしれない。
成果物と言われても
私はコンピューターネットワークからこの世界(情報工学)に興味を持った*6ので、やったことと言っても何かの構築をしたり、実験をしたり、という感じだった。(≒ソースコードがあまり無いので GitHub に上げられるものが少ない)
しかしそれでは他人から私を評価することが難しいので、積極的に Qiita や Zenn の記事を書くようになった。ソースコードをあまり書かなくて GitHub が潤わないのなら、記事を書くのは結構おすすめだと思う。
実際にESにも記事のリンクを貼れるし、面談相手もそれを事前に軽く読んで質問をしてきてくれたりする。何もわからないものに対して質問されるよりある程度(周辺知識も)把握している自分の記事に対する質問や雑談は、自分にとってはかなりやりやすい話題だった。
おわりに
就活は確かに気合を入れて取り組むと大変なものかもしれない。
しかし、自分がこれまでやってなかった言語化をする機会だと思ってやってみると、私はなんとか乗り切れたかな、と思う。
*1:私は高専在学中5年間寮に住んでおり、基本的にバイトは長期休みでやっていた。情報系のバイトであればリモートで寮の自室から出来るのではないか、というものかなり大きかったと思う
*2:OSSだったり有名なプロジェクトのメンテとかであればサポートが受けられることもある
*3:と思うくらい待遇に違いがあるし、聞いている限りでは入社後の流れもかなり違う
*4:この会社では長期インターンは入社時にn週間働きます、といって期限の定めを行うもの、アルバイトはその定めが無いもの、という感じで別れていたがどちらも契約書上はアルバイトだった
*5:履歴書はほとんど要求されなかった。私が受けた企業は代わりにESとGitHub等の成果物を要求していた
*6:高専入学の動機は少し違っていて、元々PCが身近にあり存在しているソフトウェアを使うのではなく自分でなにか作れるようになりたいというものと、映像制作などクリエイティブなことをやってみたい、というものだった。私の学科はプログラミング,ネットワーク, コンテンツといった3つの分野をやる学科だった