見出し画像

42 Tokyoに入学するまで、してから

はじめまして!都内のIT企業で働いています、knagashiというものです。

42 Tokyo がnoteを始めたので、自分も始めてみました。

軽い自己紹介

社会人2年目のITエンジニアです。文系の大学を卒業後、未経験でIT企業に入社しました。会社ではJavaを書いたり、DB触ったりいろいろしています。

42 Tokyoに入学するまで

社会人になりたてということもあって、毎日のように遊んでいました。笑
自分がやっている仕事について勉強しなきゃなとおもいつつ、なかなか手を出せずにだらだらと過ごしていました。勉強しなきゃ成長しないなぁという気持ちだけはあるけど、何が自分の成長に繋がるのか、自分が何を目指したいのかもよくわからず、、、、、といった感じでした。

そんなだらだらした日々が続いていたのですが、ある日たまたまTwitterをみていたところ、一つの記事に目がとまりました。

「学費無料のエンジニア養成学校「42」が日本上陸 講義なし、学生が互いにコードレビュー 運営はDMM」

これ、面白いかも!ここで勉強したら、何か自分が変わるかもしれない!と思い、申し込みしました。
そのあとWebテストを受けて、無事合格し、Piscineを2月に受験しました。

Piscineを泳いで

42 Tokyo入学に必要な試験は2つあります。一つは42 Tokyoに登録した際にけるWebテスト、そしてもう一つはこのPiscine(ピシン)です。フランス語でプールって意味らしいです。これはもう、、、大変でした。
仕事でもコード書いているし、まあ大丈夫でしょうと軽い気持ちで望んだものの、初日に15時間も粘ってあまり進まず、、。これは本腰を据えてこつこつ取り組まなければと考え、平日は仕事が終わってから終電まで、休日はお昼に起きてから夜までずっと取り組み続けました。Piscineに取り組んでいて感じたことは大きく2つあります。

1つは「考えてコードを書くことは楽しい」ということです。42にはレビューという文化があります。課題をといた後、自分が書いたコードを人にみてもらうという仕組みです。もちろん自分も人のコードをみます。コードを見る人も見てもらう人もレベルは様々です。自分のコード(=課題へのアプローチ方法)をみてもらうことはいろいろ突っ込まれるかなとかを気にして最初は恥ずかしかったです。しかし、自分よりできる方からアドバイスをいただいたり、時には自分からアドバイスできたり、Piscineを通じていろいろな受験者と課題についてコーディングという手段で議論を重ねていくことでいろいろな考え方に触れてコーディングという楽しさに気づくことができました。

もう一つは「欲しいものは自分でとりに行かないと手に入らない」ということです。今自分が取り組んでいる本科でもPiscineでも基本的には課題が与えられるのみです。「〇〇が身に付く」とか「〇〇が答え」とか「〇〇になれる」というものはないです。課題を通じて自分で身に着けるものを考える必要があります。Piscineでも本科でも時間が限られている部分はあるので、その中で自分ができるだけ意味があるものを考えて身につけていくという意識を常にもつ必要があると思っています。

Piscineって試験なので、受験生同志結構ギスギスするのかなと思いきやみんなで1ヶ月乗り越えて行こう!といった雰囲気があって楽しく過ごせました。
といった感じで1ヶ月集中して無事Piscineを乗り切りました。Piscineの後に飲んだお酒本当に美味しかった、、、。

42 Tokyoに入学してから

Piscineの際には1ヶ月間という期限があってその短い期間でできるだけ課題をといていくので、土日返上で会社も有給休暇を使いながら全力で取り組みました。しかし、42 Tokyoの本科はPiscineほどブラックホールの期間が短くないのですがそこそこタイトなので会社や自分の時間とのバランスを考えながら、取り組んでいます。コロナの影響もあり、元々4月入学の予定が6月に影響したことで、最初はPiscineの頃の感覚を戻すことが大変でした。また、対面レビューではなく、Discordを利用したオンライン上でのレビューなので、相手の反応が声でしかわからないこともあり意思疎通が難しいところもありますが、なるべく理解してもらうようにレビューの時間を多く割いて理解を深めるようにしています。

42 Tokyoでオフラインで対面で学ぶことが今はできない状況であるため、Discord上でわからないことを聞いたり、ボイスチャットで雑談をしながら作業したり、となるべくオフラインに近い状況でピアツーピア的な学び方を進めています。これまで進めてきた課題の内容としては「ライブラリ関数の実装」、「改行まで読み込んで出力する関数の実装」「printf関数の実装」、「ネットワークの基礎知識」、「Dockerを用いた環境構築」などをやってきました。特に「ライブラリ関数の実装」に関しては、C言語のライブラリに含まれる有名な関数(文字列をカウントするものだったり、N文字目までを削るだったり)を自分で作成するものです。関数がどのように動くかを考えて実装することで、関数への理解が深まりかつ関数の挙動について覚えることができました。C言語を今年初めて触った身としては非常に勉強になりましたし、これまでやってきたJavaの関数の理解が深まりました。42 Tokyoの本科では関数の実装など一見実用的に見えない課題が多く出題されます。しかしそれらには「答えがすぐにわからないものでも粘り強くアルゴリズムを探し出してプログラミングに落とし込む」計算論的思考能力を高めていくといったテーマや自分が普段よく使う関数を自作することで「関数自体の理解を深める」といった裏のテーマがあると思いました。また「ネットワークの基礎知識」や「Dockerを用いた環境構築」などの実践的な知識も身に着けることができるので、課題を進めていくことで一通りの知識がいやでも身につくのではないかと考えています。

自分は42 Tokyoを通じてITの分野で自分が好きなこと、やっていて楽しい分野を見つけられればいいと考えています。独学で進めていくにも、ある程度ITの分野で満遍なくベースの知識がつかないと自分が何を進めていくといいのかわからないので、今はどんどん42 Tokyoの課題を進めています。一通り知識が身につく頃には自分が興味がある分野や技術について基礎知識が身についているはずなのでそこから深めていくとともにその分野で仕事ができればいいな、考えています。

ここまで読んでいただき、ありがとうございました。また42 Tokyoの勉強がひと段落したら振り返って書くかもしれません。

この記事が参加している募集

自己紹介

この記事が気に入ったらサポートをしてみませんか?