42 Tokyoに入学して2年経った結果...
はじめまして、syudaiといいます。42 Tokyoに入学して2年ちょっと経ったので振り返りたいと思います。
42 Tokyoの認知が広がれば幸いです。
入学する
私は2020年の9月に42 Tokyoの入学試験を受け、同年11月に入学しました。試験内容は口外禁止のため、全く内容を知らない状態で挑みました。試験期間が4週間だったため、学校に4週間の休みを貰うための交渉を行いました。
結果的に入学試験は非常に楽しい体験となりました。印象的だったのは、試験2日目で受験者の約半分が消えたことです。私も初日の夜に絶望を感じ、まともにご飯が食べれませんでした。
試験最終日の約2週間後に合格のメールが届き、11月から入学することに決めました。
本科スタート
無事、42本科生となり課題と向き合う日々が始まりました。9月の試験初日から少なくとも半年は、目が覚めるまでにMacbookを起動し、寝落ちするまでコードと向き合う生活を送りました。体重や体調が明らかに悪くなって以来、その生活はやめました。
本科の課題はC言語でライブラリを自作するものから始まります。入学と同時に課題が与えられ、期限までにクリアしないと強制的に退学となります。
本科にはたくさんの課題があるのですが、ここでは印象的だったものを軽く3つ紹介します。
minikubeでのマイクロサービス構築
個人課題です。VM上でminikubeを使いシングルノード構成のマイクロサービスを作ります。ftps, grafana, influxdb, mysql, nginx, phpmyadmin, wordpressのサービスを持たせ、metallbで外部アクセスさせます。この課題までにkubernetesはもちろんインフラのことをほとんど知らなかったため、慣れるまでのインプットにかなり苦労しました。
https://github.com/sasakiyudai/ft_serviceshttp server実装
3人でのチーム開発課題でC++で作ります。nginx likeなconfigをパースし、selectシステムコールでIO多重化を実現します。まず最初にdraw.ioで必要なクラスの構成図と全体のフローをまとめ、全員が合意する設計にした上で役割を分担し開発を行いました。RFCをたくさん読みました。
https://github.com/tkomatsu/webservwebアプリ開発
42のカリキュラムには基礎課程と応用課程があり、この課題は前者の最終課題になります。3人でのチーム課題で基本的にTypeScriptで作ります。follow, chatといった基本的機能に加えユーザー同士がリアルタイムでPong(ゲーム)をプレイできるサイトを作りました。この課題に取り組む頃には私たちのチームメンバー全員がエンジニアとしてフルタイム勤務していたため、如何にしてコミットメントを出すかが主な課題となりました。
https://github.com/RIFT-tokyo/transcendence-env
上で紹介した課題以外にも42には数多くの魅力的な課題があります。私はまだ取り組んでいないのですがkernelを自作する課題やアプリ開発, AI系の課題に興味があります。
現場で働く
42で課題を進める中で、"現場で働くエンジニア"は実際何をしているのか知りたいと思うようになりました。そこでインターンをしようと思い、コーディングテストの存在を知り、https://leetcode.com/に取り組むことにしました。
結果として、スタートアップ/ベンチャー/メガベンチャーのインターンを全て経験しました。(https://www.linkedin.com/in/yudai-sasaki-786992213/)
私はエンジニアとして
わからない状態に慣れ、調べれば大体なんとかなるという余裕を持つ
ことが重要だと感じます。もっと短く言えば自走力です。42の課題では、要件が与えられて"わからない状態"からスタートします。そこからネットで公式ドキュメント/ソースコード/issue/記事/stack overflowなどのリソースを参考にしたり、人に聞いたりして設計や実装に取り組みます。この流れを繰り返すことで言語や技術に依らない自走力が養えると思います。
今思うこと
現在はフリーランスエンジニアとして、フルタイムの開発案件と42やインターンの繋がりからの案件に取り組んでいます。
42は理念に賛同する多くの企業や個人のサポートによって、完全無料で学ぶことができます。年齢やバックグラウンドの垣根を超えた多種多様な人たちと交流できるのでコミュニティとしても面白いと思います。
基礎課程を終えれば学生ビザをとって転校できる海外のキャンパスもあるので、海外に行きたい人にもおすすめです。
しかし、42 Tokyoは2020年に出来たばかりなのでまだまだ認知度が低いなぁと感じます。少しでも気になった方はhttps://42tokyo.jp/から42 Tokyoへの応募ができるので是非〜!
この記事が気に入ったらサポートをしてみませんか?