【文系ほぼ未経験】42Tokyoのpiscineを受験した感想

こんにちは。
私は42Tokyoの2023年8月開催のpiscineを受験しました。
文系大学生でプログラミングほぼ未経験の自分が受験した感想と、多少役に立つかもしれない話を書いていこうと思います。

## 関係者の方へ
本記事ではpiscineの具体的な内容には触れないよう注意を払ってはいますが、もし問題のある内容がありましたらご連絡をお願い致します。速やかに対応させて頂きます。

## 目次

- [42tokyoとは](#42tokyoとは)
- [piscineとは](#piscineとは)
- [参加前の自分のレベル](#参加前の自分のレベル)
- [事前に行った対策](#事前に行った対策)
- [piscine前半](#piscine前半)
- [piscine後半](#piscine後半)
- [課題について](#課題について)
- [生成系AIについて](#生成系AIについて)
- [piscineのコツ](#piscineのコツ)
- [おわりに](#おわりに)
- [追記](#追記)


## 42tokyoとは

ざっくりいえばエンジニアリングの学校です。まずは[公式サイト](https://42tokyo.jp/)を読んでみましょう。
無料で24時間365日校舎の設備を利用することができ、経歴に関係なくコンピューターサイエンスを学ぶことができます。

## piscineとは

42tokyoに入学するための試験です。一か月に渡り行われます。
一か月というとなかなか大変そうですよね。
実際結構大変で、仕事や学校と両立してpiscineに合格することはなかなか難しいと思います。
同期受験者でお仕事と両立している方もいらっしゃいましたが、かなり辛そうでした。
課題や試験の都合で平日の昼間に予定が入ってしまうこともあるため、ある程度時間に余裕があるときに受験するのがおすすめです。

そして、事前に情報収集をされている方などはわかると思いますが、piscineではC言語を使います。Web系の知識などはほとんど役に立たないです。変なこだわりや過信は捨てましょう。

## 参加前の自分のレベル

2023年の3月頃からプログラミングをはじめ、多少JavaScriptやPHP、Linuxの知識があったくらいです。コーディングテストとかはちんぷんかんぷんというレベルでした。
コンパイル系の言語は完全に未経験です。
ちなみに大学は文系で、授業でのプログラミング経験などは全くありません。
とまあこんな感じで、ほぼ未経験ですね。

## 事前に行った対策

さすがに何もしないのは不安だったので、[Cの絵本](https://www.amazon.co.jp/C%E3%81%AE%E7%B5%B5%E6%9C%AC-%E7%AC%AC2%E7%89%88-C%E8%A8%80%E8%AA%9E%E3%81%8C%E5%A5%BD%E3%81%8D%E3%81%AB%E3%81%AA%E3%82%8B%E6%96%B0%E3%81%97%E3%81%849%E3%81%A4%E3%81%AE%E6%89%89-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%A2%E3%83%B3%E3%82%AF/dp/479815038X)に一通り目を通しました。ですが、サラッと流し読みしただけなのでなんとなく書き方がわかったくらいですね。ポインタなどはほとんどわかりません。
初学者の方にこちらの書籍はおすすめです。
Cのわかりにくい概念をイラスト多めで解説してくれているので、とっつきやすいと思います。

非常に有名な苦しんで学ぶC言語についてはまったく読んでいません。というか買ってすらいないですね。
余裕があれば読んで損はないと思います。
あとはシェルでの操作を少しおさらいしておきました。

## piscine前半

初日はサラッと始まります。丁寧な説明などはありません。
未経験の方などは何をしたらよいのか全く分からないと思います。とりあえず周りの人と相談してみましょう。手探りながらもだんだんやることがわかってくきます。
幸い私は最初のほうの課題に対してある程度知識があったので、比較的すんなりとpiscineに取り組むことができました。
ちなみに何をするかわからず一人で画面とにらめっこする時間は本当に無駄です。変なプライドは捨ててわかる人に聞きましょう。
これができずに最初の三日くらいで消える人は少なくないです。

そうしてなんとなくpiscineに慣れてきたころに、examがやってきます。
相談や調べものなどはできず、自分の力だけで取り組まなくてはならない試験です。
これがなかなか楽しく、特に初回のexamではとても面白い光景が見られると思います。楽しみですね。
まあ、ここでひどい成績をとってしまっても落ち込まないようにしましょう。
半数の受験者が同じような出来です。気を取り直して頑張ってください。

そして、このexamが終わると数人で一緒に取り組む課題があります。参加は任意ですので自分の進捗に合わせて決めてください。
これでようやく長い一週間が終わります。忙しいですね。
ここまで残った人は最後まで残れると思います。引き続き頑張りましょう。

## piscine後半

2週間もたつとすっかりpiscineに慣れて、雰囲気もワイワイした感じになってきます。この辺から課題の進捗にだいぶ差が出てくると思います。
進め方がわかってきてなんとなくだらけてきてしまうかもしれませんが、気を引き締めていきましょう。

ちなみにpiscineの課題はかなりボリューミーで、すべてを終わらせるのは常人には不可能です。
一部の突出した受験者は最後まで到達しますが、普通の人は全部終わらせようと思わないほうがいいと思います。

僕らの時は190人いた受験者のうち、3人ほどが課題をすべて終わらせていました。これはかなり多いほうです。そういうレベルですね。自信がある人はチャレンジしてみてください。

## 課題について

課題の具体的な内容は明かせません。始まるまでのお楽しみです。

ちなみに、42ではピアラーニングを大事にしており、piscineでも非常に重視されています。
具体的には、課題提出の際に生徒間でのレビューが行われるような仕組みが存在します。
これが非常に重要で、いろいろな人の知見を得られますし、自分のコードを説明する能力も鍛えられます。しっかりと取り組みましょう。

## 生成系AIについて

いまや多くの人々がChatGPTなどの生成系AIを利用していると思います。
非常に便利ですよね。わからないことは何でも答えてくれますし、コードを書いてとお願いすれば書いてくれます。

ですが、これに頼りきりになるのは正直お勧めしません。なぜならexamで何もできなくなるからです。
前述のとおりexamではこうした類のものは一切使えません。ですので適度に利用する分には問題ありませんが、課題を丸投げするようなことはやめたほうがいいです。そういう人は結構落ちてました。

## piscineのコツ

確実に合格する方法とか、楽に合格する方法とか、そういうのは知りません。
ただ、これを抑えておけばある程度順調に進められるというコツはあります。

まず、とにかく時間を使うことです。
たまにしか来ないとかは危険です。相当優秀でもきついと思います。

そして、とにかくコミュニケーションをとることです。そのほうが楽しいですしね。
友達を作らずに進めるのは桁違いに能力が高い人以外無理です。同期受験者で一人だけそういう人もいましたが、たいていの人には無理なので周りと助け合いましょう。

最後にたくさん質問しましょう。わかったふりとかは本当にやめたほうがいいです。自分の首を絞めるだけですよ。
ちなみに意外と時間はないです。課題に詰まったらとりあえず飛ばして先に進んでみるのもアリだと思います。

## おわりに

いろいろ書いてきましたが、最も重要なのは楽しむことです。実際楽しいですよ。

私は他の人に比べ圧倒的に能力が劣っていましたが、終始楽しんで取り組んだおかげで合格したと思います。未経験でも楽しくやればなんとかなります。

piscineを受験するか迷っている人はぜひ一歩踏み出してみてください。
普段出会えない優秀な人たちからいろいろなお話を聞けます。貴重な体験になると思います。

## 追記

この記事を書いてから一年以上が経過しました。
それにあたり、少し補足を述べておきます。

まず、42Tokyoの校舎は以前の六本木から西新宿へ移転しました。だいぶ前ですが。
これによって、いくつか考慮する点が生じたかと思います。

- 場所が若干行きにくいため、通学のハードルが上がった
- 校舎が複数フロアになり、全体の収容数が増加した一方で、一フロアあたりの定員が減少した　（他の受験生とコミュニケーションが取りにくくなる）
- 校舎のMacOSが絶滅し、OSがUbuntuになった

大体は瑣末な出来事かと思いますが、普段からLinuxを使っている方は少しだけ試験に取り組みやすいかもしれませんね。
あとは、どうでもいいですけど周囲の飲食店が結構微妙です。場所的に。