文系大学生、42 Tokyoで彷徨いながら気づけばエンジニアになってた話 (上)

この記事は42Tokyo Advent Calendar 2024、20日目の記事です。
https://qiita.com/advent-calendar/2024/42tokyo

42 Tokyoとは何か、とか、Piscineって何？みたいな話は本記事ではしていません。気になった方は、他の方の記事もぜひ読んでみてください。


# はじめに

こんにちは、種村尚大（たねむら しょうた）です。文系の大学生をしながら、気づいたら42 Tokyoに入学してプログラミングを学び、今はMIXIでサーバーサイドエンジニアとして内定者アルバイトをしています。正直、自分でも「なんでこうなったんだろう」って思っています。

もともと大学では国際関係論とか統計学を専攻していて、プログラミングとは全然関係ない生活をしていました。でも、あるとき「サイバーセキュリティってちょっと面白そう」と思って、興味本位で42 Tokyoの試験を受けたんです。で、なんだかんだ入学して、そこからは課題をやったり、壁にぶつかったりしながらも、なんとかここまで来ました。

この記事では、42 Tokyoに入る前の話とか、入ってからどんな生活を送ったかとか、エンジニアとしてアルバイトをするようになるまでのことを書いてみます。文系でプログラミング未経験の人とか、「エンジニアってなんか遠い世界の話っぽい」と思ってる人に、「意外といけるかも？」って思ってもらえたら嬉しいです。

それでは、ぼちぼち始めます。

# Piscineを受けようと思ったきっかけ

もともと大学では国際関係論とか安全保障論を勉強していて、「情報技術とかサイバーセキュリティって、国際的な安全保障にどんな影響を与えるんだろう？」って興味を持っていました。特に中東では、イスラエルが国家レベルで情報技術をどう活用しているかが気になって、10ヶ月間エルサレムに留学していろいろ調べたりもしてました。

ただ、調べれば調べるほど「自分、技術的な知識ぜんぜんないな……」って思うようになってきて。なんか、表面的なことはわかるけど、技術的に深い話になると全然ついていけないんですよね。これじゃあ、結局ちゃんと理解できないまま終わるんじゃ？って焦りを感じていました。

そんなとき、たまたまSNSで42 TokyoのPiscine体験会の告知を見つけました。「Pythonを使ったコンテンツがある」って書いてあって、「あ、これならプログラミングの勉強になるかも」って軽い気持ちで参加してみることにしました。ちょうど統計学の授業でPythonを触ることもあったし、「まあ、Pythonできるようになったら便利だよね」くらいのノリです。しかもコロナ禍だったのでオンライン開催だったし、「とりあえずやってみるかー」くらいの気持ちでした。

でも、いざ体験会に参加してみたら、想像以上に難しくて。「え、全然わからん……」って感じで、自分がどれだけ技術に疎いかをこれでもかと突きつけられました。特に印象的だったのが、体験会に参加していた42 Tokyoの学生さんたちが、すごい勢いで難しいことを話してるのを見たとき。「俺もこんなふうにコンピューターのことを理解して話せるようになりたいな」とか「プログラミングで何か作れるようになりたいな」と強く思ったんです。

そこから、「よし、やるか」と思い直して、42 TokyoのPiscineを受験してみることにしました。正直、めちゃくちゃ不安もありましたけど、「ここでやらないと、この先も多分変わらないだろうな」と思ったのがきっかけです。

# Piscineの思い出

Piscineの内容については秘匿されているので詳しくは話せないのですが、一言で言うと「めちゃくちゃ難しかった」です。とにかく詰まることばかりで、毎日頭を抱えていた記憶があります。でも、周りには自分より能力や知識のある人たちがたくさんいて、そんな人たちに質問しまくったり、逆に自分が学んだことを他の人に教えたりしながら、なんとかやりくりしていました。思い返すと、あの「持ちつ持たれつ」の感じがすごく楽しかったです。

当時はコロナ禍だったこともあって、オンラインとオフラインのハイブリッド形式（現在は完全オフライン制）での実施でした。オンラインが中心だと、やっぱりちょっと寂しさや不安を感じることもあったんですが、同期の受験生たちとボイスチャットを繋ぎっぱなしにして、雑談したり励まし合ったりしながら毎日を過ごしていました。なんだかんだで、あの期間は楽しかったなあと思います。

そして、受験を終えてなんとかPiscineに合格することができました！ただ、当時は留学中の長期休暇を利用してPiscineに参加していたので、正式に入学するのは帰国後になりました。そのため、実際に42 Tokyoに入学したのは合格から半年後のことです（ちなみに現在はこのように入学時期を選ぶことはできないそうです）。

# 入学後のバタバタと最初の大きな壁

42 Tokyoに正式に入学したものの、同期Piscineの人たちと入学時期がずれてしまったので、入学同期の人たちはほとんど知らない人ばかりでした。自分は初対面の人とはそれなりに話せるし、人当たりも悪くないと思うんですが、「友達を作る」みたいな距離感を詰めるのが本当に苦手なんですよね。だから、とりあえず入学日はひたすら情報収集をして過ごしました。

ちなみに、この頃の状況をざっくり説明すると、留学から帰国したばかりで、卒論や就活、場合によっては院進学の準備も進めなきゃいけない時期だったんです。そこに42 Tokyoが入ってきて、正直なところ「てんやわんや」という表現がぴったりでした。で、もうこれは無理だなと思って、思い切って大学を休学することにしました。卒業後のことからは一旦離れて、ずっと勉強したかったコンピューターサイエンスに専念するためです。

ただ、休学を決断するにあたって、ゼミの担当教員とかコース長、そして親からもいろいろ言われまして。まあ、不安にさせたのはわかるんですが、「ちゃんと説得しないと……」と悩んだ結果、先輩学生にいろいろ聞いて、「これくらい勉強したらこういうスキルが身につくし、それが自分の目標にこう役立つから休学します！」みたいな感じで説明できるように準備しました。この説得劇は今でも記憶に残っています。

話を戻すと、入学してから取り組む課題は、とにかく難しかったです。Piscineとはまた違う方向の難しさで、課題を解くというよりは、まずC言語を理解して、何が求められているかを噛み砕き、それを元に設計してものを作る。わからないことがあれば調べる、それでもダメなら他の人にうまく聞く。そんな流れです。ただ、初めてやることだらけなので、慣れるまではとにかく大変でした。

さらに、休学を機に関西から東京に引っ越して、校舎に通いながらオフラインで課題に取り組んでいたんですが、日に日に同期入学生の姿が校舎から消えていくんです。気づけば、校舎にいるのは自分と、かなり先の課題に取り組んでいる先輩学生だけ。話しかけづらい雰囲気の中、「辛いなぁ」と思うことも多かったですが、「自分でなんとかしなきゃ」と必死になるしかありませんでした。とはいえ、必死になればなるほど他人と話す余裕もなくなり、友達は増えず……という感じで、孤独な戦いが続きました。

そんな中でも課題を進めていくうちに、とうとう最初の大きな壁にぶつかりました。それが「minishell」という課題です。この課題との戦いが、自分の42 Tokyo生活の中でも印象に残るエピソードになっていきます。

# 話は続くのですが一旦休憩
節目で振り返っておかないと、いろいろ困る場面があるので……と思い書き始めてみたものの、思いのほか長くなりました。長くなると、自分で後から読み返すのが面倒になり困るので、一旦ここで記事を分けることにします。後ほど、続きを書いて投稿しようかなといった感じです。

あと、自分の文章は硬くて読みづらいと言われがちなので、今回は生成AIに編集者をやってもらいました。少しでも読みやすくなってたらいいのですが……。