42TokyoのPiscineを受けた感想

ブログとやらを始めたいと思いつつ先延ばしにしていましたが、今回Piscineという貴重な体験をしたので忘れないうちに感想を残しておこうと思いました。(本当は色変記事で始めたかった)

国語が苦手なので大目に見ていただいて…

C-Piscineについてだけ読みたい人は諸々飛ばしていただいて…

 

↑ 目次が勝手に生成されるの、すごい

軽く誰

まず私についてですが、非情報系出身でプログラミングはPythonを趣味で競技プログラミングを通して独学で覚えました。

きっかけはAtCoder社の社長chokudaiさんのtwitterを見ていて、この面白い人がやってるサービスも面白そうだと思ったから、それだけです。以降、沼です。

累計500日くらい新規問題を解いたらしいので趣味プログラミング歴2年くらいでしょうか。

名前の読み方は特にないです、適当につけ過ぎて反省しています…。

一旦は開発に興味を持ったこともありましたが、Udemyの講座の写経をして応用の仕方何も分からないとなって終わっていました。知らなさ過ぎて興味の持ちようがない状態だったかなと。

今は競プロ以外にも幅広く興味を持っていて、Piscineを機にAtCoderのLongest Streakも切れたことですし…*1 競プロはゆるふわ勢にシフトして、CSの基礎などから勉強しています。

 

2021.10月 Piscine体験版 (Python Piscine) を受けた

競プロ以外も勉強したいがどうしたらと思っていた時、42Tokyoというエンジニア養成機関がありまして存在を知ったのは多分2021初旬、無料なのにどうも胡散臭くなさそう…? (すみません) と興味を持ち、これまたtwitterでターミナルゲームに受かると1次試験免除というのを知り無事1次免除*2。残すは4週間に及ぶ試験Piscineを受けるだけという状態に。

Piscineは一度しか受けられないらしいし (得体が知れないし) どうしようかなーと放置していたところ、2021.10月に外部の人も誰でも参加可の Python Piscine ( C-Piscineの2週間体験版・合否など特になし・オンライン) が開催されると知り、色々怖かったですが勢いで登録。

 

Python Piscine体験版については内容を言っても良いということを確認済みなので引っ張り出してきた初日の日記です。

2021.10/25

いや時間ない~

Git, Linux, Shellとかを1日で独学とは~~

早くPythonパートに行きたい~

既に疲れてますね。何も知らなかったので調べることがとにかく多くて大変でした。

なんとかPython課題に入ってからは初めて (!) 趣味競プロの経験が活きて割とすんなり進められ、実用的で面白い内容が多く、初めてのチーム課題も体験してかなり忙しかったですが充実していて楽しかったのを覚えています。

(※ これらはあくまでPython Piscine体験版の話であり、C-Piscineについての言及ではないです。)

この時知り合った方達とはその後も競プロ精進を一緒にしたりボードゲームカフェに行ったりして楽しかったです。ボードゲームカフェならいつでも行きたいので誘ってください…!

 

正確には覚えていないのですが、最初200人?300人?400?500人?くらいいた人が最後の課題では40~50人くらいになっていました。

この体験版は42 Tokyoの本科の方も多く参加しており、最後まで残った外部の方や本科の方に面白い人・すごい人が多かったことや、課題を通して教え合い・議論し合って勉強していく面白さを知ったことで、これは多分C-Piscine受けるなーと思えたので体験版にとても感謝しています。(胡散臭くなかった…!)

 

またDiscordで知らない人と話すなんて緊張しちゃう無理そうどうしようと思っていましたが、慣れてしまえば知らない人と気軽に話すの新しい発見だらけでむしろ楽しい…?という自分の知らない一面も見え、このおかげでC-Piscineでは最初からおよそ人見知りには見えないムーブをしていたような気も。一応、人好きの人見知りのつもりです…。

 

事前準備

ある程度書けるPythonでも体験版で相当大変だったので、これが未履修のC言語になり更に倍の4週間となるときちんと準備して臨まなければいけないと感じ、時間捻出の調整もあり2022.6月にC-Piscineを受けることに。

 

結局1ヶ月前くらいから本腰を入れてC言語を勉強し、合計70時間くらい。

有名な苦Cを全部読み、ポインタという概念が初めてだったのでYouTubeでポインタの再生回数の多いこの動画を見てざっくり理解しました。英語の強めのアクセントがちゃんと聴こうと思えて良かったです。図解も分かりやすい。

youtu.be

 

言語は読むだけより書いて馴染ませたいので、実行するためのコンパイル・コマンド周り・デバッグの設定などは早めに済ませ、ネットに転がる演習問題を解いたり、ポインタがよく分からなくなったらアドレスを片っ端から出力するなどして色々なエラーも出してみて解決策を自力で探す練習をしたりして、取り敢えずはC言語書けるかも状態にしました。

ある程度勉強したということが少しは安心材料になったと思います。ポインタまだまだなので完全に理解したい…。

 

また過去のPiscineについて検索すると受験前にDiscordが作られて交流が始まった、などの情報も出てきて受験前に知り合いができるのはありがたいなと思い、夜な夜な検索し続けてDiscord発生を待ったのですがなさそうだったので自分で作りました。(Python Piscineを受けていなかったらこういう積極性もなかったです多分)

最終的に7人くらいサーバに入ってきてくれ、そこでDiscordの使い方の練習や、話す練習(?)、Python Piscineについてや勉強おすすめサイトの情報共有をしたり、C言語について分からないことを教え合ったりとすごく良い雰囲気で、勇気を出して作って良かったなと思っています。

試験が始まってからここで知り合った人とどこかで会う度にリラックスできました。どこの誰かも分からない人がやってるサーバに入ってきてくれてありがとうございました!

 

2022.6月 C-Piscineをオンラインで受けた

本題の合格したC-Piscineについてですが結果の詳細と感想を。

結果

42の説明会で事前に2022.6月受験者が普段より多いということを聞いていました。どうもCMを打ったらしくそれを見て参加したという方に多く遭遇しました。その為か実際にDiscordに参加した人が220人くらいいてその大半の方がプログラミング未経験者のように感じました。

人数が多いと受かりやすい・受かりにくいなどの憶測が流れましたが、最終的に合格した人は知ってる範囲で25人弱なので多分25人くらい。属性はこの記事の分布と概ね同じだと思います。

prtimes.jp

記事には通算でPiscine受験者3,342人・合格者870人とあるのでPiscine受験まで辿り着いた中からの合格率は約26%とすると、今回は約11%となり受験者が多いからといって多く受かるという訳ではなさそうです。1次試験が停止中であったというのも影響していそうですが。*3

 

今回合格者はプログラミング未経験で参加した方は多分5~10人、業務で使ってる方が数人、あとは何らかのプログラミング経験がある方でした。

オフラインの方は最後10~15人くらい?しか来ていなかったようですが、この内多分10人くらいは合格していたかなと。オンラインより最後まで残った中からの割合が多いように思いますが、そもそも地方から遥々来ていたり毎日準備をして六本木の校舎に通ったりできる方達なのでやる気が高く、校舎ならではの良い関係性があったんじゃないかなと思います。

プログラミング未経験の方やオフラインの方の体験談もぜひ読みたいですね…誰か~。

 

Piscineの合格基準については明かされておらず、他の方の過去のブログでも言われている通り目に見える指標以外の判断基準がありそうというのは今回も感じました。基本的には順当…というイメージですが5人くらいこの方が…?という不思議があり心苦しかったです。

 

合格に向けた考察はdone_sanのnoteがすごいのでぜひ!言語化とまとめがうまい…。

note.com

こちらも今回合格者の個性ある体験談です。みなさん仕事が早いです。

 

感想

私はというと割と時間をフルに使って好きなように行動してしまったので、合格へ最適化した振る舞いみたいな話は特にないです…。そのような振る舞いをしていた方は結構いて素直に尊敬しました。

 

まず初日にDiscordに人が続々現れチャットがブワーっと流れていきいよいよ始まった…!というあの感じ、懐かしいです。

特に親切に進め方を教えてくれる訳でもないのでみんなで試行錯誤しながらどうにか進めます。指示がなくても与えられた情報から自然に求められているであろう流れができる光景はPython Piscineに続き本当によくできているなと思うばかりです。

さっそくボイスチャットで初めましての人同士会話が始まっていたので参加してみたり、疑問点を投げかけてみたり、逆に知っていることは質問に答えたり。

 

今回私はいわゆるフルコミットというやつで、時間をなるべく使って課題を通しての勉強はもちろんのこと、面白い人を見つけてコミュニケーションを取りたいという気持ちがあったので積極的にチャットに参加していきました。(このような積極性もPython Piscineを受けていなかったら n 回目です。)

そのおかげかよく色々な人の質問に答えてる人みたいな認識を持ってもらえたみたいです。人数が多い中、覚えてもらえるのは普通に嬉しいです。 *4

 

体感では社会人の方が多く、夜22時くらいには人がほぼおらず朝7時くらいから活発になるような、健全な時間帯に活動してる方が多かったです。

課題をみんなで議論し合いながら徐々に解決し、確認し合う。やることが多くてスピード感もすごいのですがこれが4週間休みなく続きます。本当よく続いたなあ…。

プログラミング経験やググり力、情報の吸収スピード、分からないことを人に素直に質問できるか、その質問の仕方が上手いかどうか、などの違いにより早いうちに進度にバラつきが出ました。

 

そういえば1つ、Piscineを受験する方に確実なアドバイスがあるとしたら「まずはログイン後のサイトで押せるボタンは全部押して全部読もう」です。

当たり前のことかと思うのですが意外とちゃんと読まない方が多いです。未知な試験なので最初に全体像を把握することはとても大事かと思います。

 

どの進度にいても誰かしら同じところにいて同じ内容について話し合え、そこで全員分からなくても進んでる人が誰かしら教えてくれる、それを更に次の分からない人に教えるという良い循環が本当に起きていて大変は大変なのですがとても居心地の良い空気感でした。

今回みなさんの助けもあり私は割と先頭集団の中の1人という感じで、たまにものすごい追い上げをする方、急にいなくなってしまう方などはいますが、最後までほぼ集団のメンバーは変わらなかったと思います。

合格者の少なさからも分かるように、こと合格となると先頭とまではいかなくても基本は頑張って食いついていく必要は多分あって、それができる人が伸びもすごかった印象です。その為にはやはりプログラミング経験に関わらず多くの時間をかけられるというのは大きいと思います。時間が割けず泣く泣く…という方も多かったです。

 

私は途中ルーティン化してきた辺りでちょっとやる気がどこかに行った時期があったのですが、同じくらいの進度の人が頑張ってる姿勢を見て自分ももう少し頑張るかーと維持できたところが大いにありとてもありがたかったです。

たまに私の言動でモチベーションが上がったと言ってもらえることもあり、シンプルに嬉しかったです。こういうのをちゃんと言葉で伝えるのは大事ですね…嬉しいので。

 

また私は知っている人のコードを見るのが好きなので日課のように毎日多くの時間を人のコードを見て会話する予定で埋め、合間に関係のない人のコードを覗き見に行き、合間にコミュニケーションを取り、更にその合間に課題を頑張る生活をしました。

回数で言うと恐らく1番こなしたのではないかと思います…せっかくの機会なのでここに多く時間を割くのが勉強にもなるしお勧めですが、睡眠時間や課題に取り組む時間を削ってしまったのはちょっと反省です。

とにかく話したいだけ色々な人と話せる機会があり、コードを見ることができ、学習意欲があって真面目で個性的で良い人が多く、興味が似ていて基本的な目標が同じ。これがかなり貴重な場だったかなと。

 

結果に関係なくPiscine自体の満足度が高いという理由を体感できたのも良かったですし、多くの方もそう感じているようです。

今のところ受験機会は一度きりなので、合格を優先するなら自分が悔いなく力を出せそうなくらいある程度準備してからの参加、が個人的にはお勧めです。

140人くらいが最初の課題をクリアせず終わっていたのはとても勿体無いと感じたので、よく言われているとりあえず1週間は諦めない、というのは本当に大事かと思いました。その後でこの仕組みが合うか合わないかを考えても遅くなさそうです。

 

最終日の怒涛の活発具合なんかは続けた人にしか分からないものがあるので1番のお勧めはやはり最後まで。

 

後日談
  • Piscineが終わった後も別のサーバにみんなで集まって打ち上げや雑談・質問・輪読会・競プロ・趣味共有など色々な活動が起こっていて楽しいです。
    こういうのいつかは過疎るらしいですができるだけ続けていきたいです。
  • いわゆるコミット時間:28日間で約390時間
    さすがに全時間を使い過ぎた感は否めないです。ちゃんとした睡眠・食事・運動は大事です自戒。
  • なんだか楽しかったことばかり書いていそうに見えますが、辛いことは大体課題についてなので言えないだけです…いや、面白かったですが。人によっては辛い方が勝ってる場合も多そうです。
  • 合否通知、2週間以内 / 程度ということでしたが私たちの時は18日後の夜に一斉にメールが来ました。参考までに。
  • 受けた人だけ分かる話? 最終日の1日前にバーンと恥ずかし体験をしたので何かいただけたりしないかななんて淡い期待をしましたが当然何の連絡もなかったです。
  • 公式のオープンソースのものは受験前にどこからか知っていました。
  • ブログ、書くのに時間がかかり過ぎて文章を書く全ての人を尊敬しました。
    小見出しとかをたくさん作るのが良さそう。関数分けに通ずるものがあるかも…難しい。

 

全て一個人の感想ですが、Piscineを知らない方・興味がある方・これから受験する方などに少しでも面白そうと思ってもらえたら慣れない文章を書いた甲斐があります。
この記事に関する質問・感想・注意等ありましたらtwitterまで。

 

最後に、Piscine前・Piscine中にコミュニケーションを取ってくださったみなさんありがとうございました。面白い方達との交流のおかげで続けられました。

良ければこれからも引き続きよろしくお願いいたします!

 

*1:両立できるかと思ってましたがちょっと余裕なかったです…。

*2:2021.9月時点の情報です。その後ターミナルゲームによる1次試験免除制度はなくなった気がします。

*3:試験の最新の情報は公式HPを確認してください。

*4:今思うと好き勝手に発言しすぎた気もしていて反省はしました。