🏊

フロントエンドエンジニアが42TokyoのPiscineに参加したよ記録

6 min read

※当記事はnoteからの移行記事です。 内容一緒です(でした)。

https://note.com/hrim710/n/n8b2abdfe4ba5

2021年1月Piscineに参加してきました。その記録です。
42Tokyoとは?Piscineとは?みたいな記事は他によいものがたくさんあるので省きます。

〜警察の方へ〜
今後参加する方が苦……楽しめなくなるような情報は書かないように気をつけてますが、もしNGのものがあれば@hrimmmmmまでご連絡ください。

自己紹介

  • フリーランスのフロントエンドエンジニア
  • 20代後半
  • エンジニア4年目

参加した動機

  • 基礎が足りないな〜とか知識が偏ってるな〜とか思うことがよくあったので、一度勉強し直したかった
  • コロナ禍でリモート中心になって引きこもりが加速していたので人と関わりたかった
  • フリーランスだし時間を作るのが容易だった
  • 無料だから

ざっくり感想

詳細なことを書く前にざっくり感想を書いておきます。
結論から言うとめっちゃ楽しかったです。参加してよかった。

↑に書いた私の動機にはぴったり合致している内容でした。
エンジニア養成学校と銘打っているので基本的にはこれからエンジニアになりたい人向けではあるのですが、基礎を学び直したい人にもとても良い環境だなと思いました。

逆に合わないのは、もう既に基幹システムの開発しててCやらJavaやら完璧だぜ!な人かな。多分つまらないと思う。入学した先はわからないけど。
あと単純に仕事しながらはキツいだろうな〜と思いました。両立してた方々は本当に尊敬します。

参加者について

2021年1月Piscineの参加人数は100人ちょっとくらい。過去の参加者や先日始まった2月Piscine参加者の話を聞く限り、少なめだったのかな?(学生の試験期間と被るから?完全リモートじゃ…と思う人が多かったから?)
そのうち最後まで泳いでたのは半分くらい。

大学生〜20代前半がボリュームゾーンでしたが社会人も多く参加してました。現役プログラマは思ったより少なかったかも。

IT業界へ就職or転職希望の人が多めではありましたが、ITだけどプログラム書く仕事では無い人が勉強しに来ていたり、直接エンジニア志望ではないけどどんなことをしているのか知りたい人だったり、いろいろいて面白かったです。

1週目

どんな精神状態だったのか(笑)、1週ずつ振り返っていこうと思います。

まず1週目、自己判断ですがきっとたぶんコロナにかかっていて(ずっと体がだるかったからそういうことにしている)ほとんどDiscord眺めるしかしてなかった。あ、Piscine中のコミュニケーションは全てDiscordで行われてました。

何をしたらいいかわからない、何がわからないのかもわからないカオス状態の中、先陣切って航路を作ってくれていた人たちには本当に感謝しています。立派な船に紐つないでゆらゆらしてました。ありがとうございました。

このときのTwitter等を振り返ると(今は全てツイートキレイキレイしました)、目立って引っ張ってくのは貧乏クジじゃん〜とか言ってた。もっと頑張れよ。

目立ちたくないとは言いつつも、たくさん話すことになった人たち(ネタバレになるのでできるだけぼかす)にいろいろ解説したりして、今までなぁなぁにしていた部分の理解が深まったり、意欲的に学んでいる人に教えるのは楽しいなと思ったりしました。ピアレビュー、よい仕組み。

2週目

とりあえず何をすればいいのかはわかった2週目。コロナ(仮)も無事治りました。

1週目はDiscordにチャンネルがとにかく乱立していて、どこで何を言えば??探したい情報はどこ??状態だったんですが、2週目に入る頃には総合的なQ&Aのチャンネルと課題別のチャンネルとに落ち着いてきていました。まあ落ち着いたのは単純に人が減ったっていうのもあるんですが。

そんなこんなで今後泳いでいくメンバーもなんとなくどんな人がいるのかもわかり始めてきたし、もっとわかっていけたらな〜と思い、各々のTimes作りませんか? と提案。真面目なチャンネルだけじゃいやだ!ゆるい話がしたい!!推しアイドルの布教をさせろ!!!!!
※Timesとは?→「Times Slack 分報」あたりで検索

結構みんな続いてTimes作ってくれて盛り上がったので嬉しかったです。

そしてTimesのせいで私の素性がバレ始める。なぜならローカルの環境構築メモを延々垂れ流していたから。おい、ゆるい話がしたいってのはどこ行った

快適コーディング環境を手に入れたのと引き換えに、こいつコード書ける奴やんけ……というのがだいぶバレてしまったので、隠すのはやめました。

たくさん話すことになった人たちその2と、詳細設計っぽいものを書いてモブプロしたの楽しかったな。そのうち上流工程行くのも悪くないかなと思うようになりました。まだゴリゴリプログラマしてたいけど。

3週目

Piscine始まる前はリモートだし多少他のこともできるかな〜と思ってたんですが、なんやかんやフルコミットしてしまってコード書く以外のことをほとんどしない生活になっていました。熱中してるとつい食事を忘れてしまうせいか、Piscine前より2キロ痩せた。 あとレビューで人と毎日話すので明らかに顔が痩せた。やったぜ。

それにしてもこの寝て起きてコード書いて寝る生活が染み付いてしまって、Piscine終わった今でもまだ完全には元の生活に戻れていません。生活を書き換えられてしまった。

この頃になると課題の内容も基礎的な構文理解とかだけではなくプログラミングしてる〜!って感じになってきてどんどん楽しくなってきました。ここに達する前に溺れちゃった人、もったいないなあ〜!!

たくさん話すことになった人たちその3……は残念ながら叶わなかったのですが(理由はネタバレに以下略)、『現時点で完璧に理解するのは難しいけどざっくり表面だけ知っておこうの会』を開いて先生役したりしました。疲れたけど楽しかった。3週目まで残ってる人はみんな意欲的で向上心があるので話すのが本当に楽しい。

ここらへんから明確に、先を切り開く第一集団、食らいつく第二集団、合格よりも自身の勉強にシフトしていく第三集団に分かれてきた感じ。私は第一集団のお尻でみんなに風除けしてもらってました(クズ)

そしてなぜかレビューの予定が入りにくくなっていて、あまり進捗が離れすぎると相互レビューできない?といろいろPiscineの仕組みについて考えたりとかしました。結局よくわかってない。バグだった可能性もあるかも。

4週目

ついに最終週。終わってしまうのが本当に寂しかった。けどこれ以上同じ環境で続けていくのもしんどいだろうな…とも感じていたので(濃度が高すぎる/単純に飽きる)、1ヵ月って絶妙。

総仕上げみたいな課題では、まずテストケースをひたすら書き出して、役割ごとに関数のプロトタイプを作って、単体テストして、組み合わせて、ってあれ、これ仕事か……?
2週目では詳細設計まで書いてたんですがここでは基本設計までに留めて、あとは信頼しておまかせみたいなことができる状況になっていました。みんなC言語チョットカケル。 すごい。
そしてこの課題めちゃくちゃ頑張ったので、点数が出た時は叫んだし泣きました。ここ数年で一番嬉しかった瞬間かもしれない。精神的には受験よりしんどかったけど。

Piscineというより42全体かもしれないけど、

  • 基礎を学ぶ課題
  • その応用にあたる課題(ある程度スキップ可能)
  • 基礎で学んだことを組み合わせて成果物を作る課題

と段階が用意されているのが良いな〜と思いました。
基礎で何だこれ?何がしたいんだ?と思ったことが、ここでこう使うんだ!とわかるようになってる。スポーツと一緒ですね。プログラミングはスポーツだ!(練習はおにぎりだ!のテンション)

総仕上げみたいな課題を頑張りすぎてしまったせいで、その課題が終わったあとは完全に燃え尽き症候群になってましたが(笑)最後まで無事泳ぎ切ることができてよかったです。

5週目〜(Piscine外)

虚無。 まじで虚無。

急に陸に上げられてどうしたらいいかわからない。とりあえずコード書かないと息ができない体になってしまっていたので、流れでAtCoderを始めました。あと数学I+Aの白チャート買った。

結果が1〜2週間後ってことでいつ出るのかわからないので、ずっとそわそわして過ごしました。受かる夢も落ちる夢も見た。しんどい。

そしてきっちり2週間後に合格通知を頂きました。長かった……。

悪い点

あまりにも持ち上げる記事になってしまうのはよくないと思うので(笑)Piscineおよび42Tokyoの悪い点や改善してほしい点も挙げておきます。

まず日本語のドキュメントに翻訳間違いが多い。本当に多い。これのせいでどれだけ混乱したか。
まぁでも実務でも日本語ドキュメントなんか読めたもんじゃないところも多いから(A○Sとか)そういうのを教えてくれている……のか……?いや……?
Piscine中に一番アクセスしたサイト、42ドメインのものを除くと多分DeepL。

また、サーバーエラーがよく起こる。オンラインの環境がまだ整いきってはいないかな?と。レビューに使うサーバーは複数用意されてるので回避ができないわけではないけど、支障ありまくりだったので改善されていってほしいなー。

学習の仕組みの面では、意欲的な人しかいない環境というのはとても楽しくはあるんですが、実際の現場ではそうはいかないよなー……と。そういった理不尽と戦えないのはちょっとリアルではないかもしれないので、Piscineめっちゃ楽しい!エンジニア楽しい!というノリで就職してがっかりする人がいないといいな、と……多分いらん心配だと思いますが。

あと本当に残念なのが、これだけ頑張ったのにポートフォリオに載せられない。Piscineの内容は外部に出してはいけないので。わかってるけど……わかってるけど……!!!

オンライン開催だったことについて

校舎に通って受けられてたらな〜という思いはあるものの、オンラインだったからこその部分もあった気がするので結果的には良かったなと思ってます。

まずメリットですが、以下。

  • 移動が無いので体が楽。コードを書くことだけに集中できる。
  • 仲良しグループみたいなものが比較的できにくいかも。Discordのボイスチャンネルは基本的にオープンなので誰でもふらっと入って会話に参加できる。

反対にデメリットはこのへんかな。

  • 一部実施できないカリキュラムがあった。多分これが最大のデメリット。
  • 「隣の人」が存在しないので、わからないことを誰に聞けばいいのかわからない。特に最初の1週間。
  • コードレビューもオンラインだし、教え合うのに画面共有を使ったりするので、他人のコードをスクショしたり保存したりが容易にできてしまう。実際私の書いたコードをほぼコピペで提出されたりとかしてちょっとモヤっとしたりしました。理解した上でならいいんだけど。

メリットともデメリットとも言えないところもありました。

  • コミュニケーションが全てDiscordなので、ヒントになるものがどんどん蓄積されてしまう。ドキュメントを残せ!という鉄則からすると良いのですが、難易度を下げることになってしまっていたかも?

コロナ禍ですっかり働き方も変わってしまっているし、加えてエンジニアは割と出社したくない人が多い気がするし、今後もきっとリモート中心の働き方が続いていくんじゃないかなと思うので、「対面よりコミュニケーションが取りづらい」みたいな部分はデメリットとは思わず取り組みました。結果、フルリモートでもこれだけ仲良くなれるんだ!という自信(?)に繋がったかなと。

まとめ

とっても良い経験になりました。
(良し悪しよりも精神的に)理想的な環境で濃度高く学べる1ヵ月間を無料で提供してもらえる。最高かな???

ちょこっと内容に触れると、主に学ぶ言語はC言語ですけど、Cに特化した内容かというと別にそうではないと感じました。確かにモダンな言語では意識して書かないようなことばかりやらさr……学びましたが、根底を知っておくことは大切なので。良い土と良い肥料が無きゃ良い作物は育たない。

初学者でも経験者でも楽しめるようになっているので、合格するかどうか/入学するかどうかに関わらず、ちょっとでも気になってて、まとまった時間を作れる人はぜひ参加してみてほしいなと思います。おわり!

Discussion

ログインするとコメントできます