見出し画像

プログラミングスクール・42Tokyoの「1stサークル」最終日

先日、42Tokyoで1つの大きな関門である「1stサークル」をクリアしました。

42Tokyoはプログラミングの基礎を学ぶ「1stサークル」と、各自が選んだ専門分野を学ぶ「2ndサークル」が存在しています。

「1stサークル」での最終課題は2人~5人のチームで、「チャットとピンポンゲームができるwebアプリをつくる」こと。

技術的には、TypeScript、React、Next.js、NestJS、Prisma、PostgreSQLといったものを使用しました。

課題をクリアするとはどんなものなのか、42Tokyoでの1日の様子をまとめてみます。

朝の8時に起床。

前日の夜2時半までチームで打合せをしていたので、5時間ぐらいしか眠れておらず眠気が強烈でした。

いそいで着替え、朝ごはんは食べずに8時半に家を出発。

家から校舎へはすこし離れているので、9:45に校舎に到着。

校舎は六本木一丁目から歩いてすぐの場所の住友不動産六本木グランドタワーの中にあります。

専用のカードキーを使用してゲートの中に入り、校舎のある23階へとエレベーターであがっていきます。

以前はGoogle Mapsで、42Tokyoの所在地が24階と表示されており、階を間違えて降りたことがあることもあります。

エレベーターをおり、42がある部屋(というか空間)へと向かいます。

平日は他の会社員もいるので廊下が明るいのですが、土日は節電のためか消灯しており、廊下は暗いです。

10時からの集合だったのですが、ぼくよりも早く到着していたチームメイトが2人。

そのうちの1人は、昨日校舎で徹夜して、夜通しバグの修正に取り組んでくれていました。

ぼくが到着するときにはちょうど、席で目をつむり、仮眠をとっているところでした。

もう1人のチームメイトは、ぼくらが作業する机と、となりの机をキレイに拭いてくれていました。

(42Tokyoには清掃員の人はたぶんおらず、たまに学生が荒らし放題のときがあります。)

全員で5人のチームなのですが、そのうちの1人から10:40分に到着するという遅刻の連絡。

最後の1人は校舎に来るには遠すぎるところに住んでいるため、オンラインの学生で校舎に来る必要がなく、いつもDiscordでやりとりをしています。

10時ちょっとすぎに、今日の流れを確認するために、校舎にいる3人と、オンラインの1人でDiscordで話し合います。

提出できるぐらいまで最低限のバグはすでに修正できていたので、これから全員で提出物の最終確認をおこない、12時までに提出することに決めました。

そこで各自、校舎のiMacで提出物の確認を実施。

しかし、ここで思わぬ伏兵が。

提出物を、iMacでうごかそうとすると、さまざまなエラーが発生しました。

この課題は、Dockerという「コンテナ仮想化」の技術をつかうものなのですが、このDockerがそもそもインストールされていなかったり、インストールされても、うまく動かないという問題がおきていました。

あとで知ったのですが、じつはDockerを動かすには、もともとの校舎のiMacの容量である5GBでは足りず、追加で容量を増やさなければなりませんでした。

追加できる容量は5GBなのですが、追加する方法は、まずは42の生徒専用ページで、42専用の通貨をつかって「Home 5GB増量」を購入しなければなりません。

そして、そのことをスタッフの方にDiscordで報告し、増量してもらいます。

ただ、その日は日曜日。

スタッフの方はそもそも平日しか働いていないので(土曜日に校舎でExamがある場合は、一人のスタッフの方がいらっしゃいます)、その日に増量することはできませんでした。

レビューを受けるときは手持ちのパソコンではなく、校舎のiMacでおこなうので、iMac上にて最終確認を行いたかったのですが、できないことが判明しました。

このことに気づくまで、約1時間ほど費やしてしまい、時間をムダにしてしまいました。

校舎にはひんぱんに来るわけでもなく、この課題のためにチームで集まるために過去2回ほど校舎にきましたが、そのときでさえ、手持ちのパソコンで作業をしていたことがあだになりました。

ぼくは校舎にくることはほとんどないため、校舎にくるときにはいつも環境設定系に時間がかかっていたため、事前にセットアップしておくべきでした。

チームのなかで、事前に「Home 5GB増量」を行っていたのは2人。

iMacでの最終テストはこの2人に任せることになりました。

ぼくをふくめた他の3人で、手持ちのパソコンで確認します。

最後、チャットが送れないことに気づきましたが、徹夜したメンバーがバグに気づき、すぐに修正してくれました。

そして、全員で動作を最終確認し、提出。

提出できたのが、12時ちょっと過ぎ。

課題をクリアするには、他の学生から3回ほど(課題によっては2回)、レビューを受けなければいけません。

そしてレビューを予約しようとおもい予約画面を開きますが、1つも予約枠があいていませんでした。

じつは、最初にレビューをしてくれる人は、自分たちが取り組んだ課題をすでにクリアしている人でなければならないという縛りが存在します。

ぼくたちが取り組んでいた課題をクリアしている学生は母数として少なく、必然的にレビューの枠もすくなくなっています。

校舎にいる学生をながめ、1stサークルをクリアしていそうな学生をさがします。

正直あまり分かりませんでしたが、どの学生も1stサークルをクリアしていなさそうでした。

なので、Discordを使って全体に呼びかけてみます。(レビューの予定が空いていないときに活用する、全体に呼びかけるチャンネルが存在します。)

各自で情報収集していると、1stサークルをクリアした学生が、夕方に校舎にくるという情報を他のチームメイトが入手。

その人が校舎にきたら、その人にレビューを頼もうかという話になりました。

同時にチームの一人が、以前一緒にチーム課題にとりくみ、すでに1stサークルをクリアしている知人に、直接DMを送って予定が空いていないか確認してくれました。

ただ返信待ちの状態だったので、レビューは確定しておらず、宙ぶらりんの状態でした。

そんなとき、ひとつのアイディアが。

校舎には、海外からきたっぽい学生が2人ほどいたので、もしかすると海外の校舎からトランスファーして来た学生かもと思いました。

42では、1stサークルをクリアした学生は、海外の校舎へトランスファーできます。

なので、もしもその学生たちが海外の校舎からトランスファーしてきたのであれば、必然的に1stサークルをクリアした学生といえます。

ですのでさっそく声をかけてみます。

まず最初は、日本語の堪能なロシアからきた学生。

話をすると、今年の8月に日本でPiscineを通過した学生ということがわかりました。

入学したばかりの学生だったので、1人目としてレビュー予約することはできませんでした。

ですので、もしも2人目、3人目のレビュー予約するときに、都合がよければ、レビューをしてくれることになりました。

もう一人に声をかけてみると、この学生も日本語が堪能でした。

くわしく聞きませんでしたが、もしかすると両親が海外の方で、日本で育った方かもしれません。

この学生も1stサークルをまだ抜けていませんした。

お昼

万策がつき、13時過ぎにいったんちかくのファミリーマートに昼ご飯を買いに行くことに。

土日はビル内のコンビニが営業していないため、ビルの外まで歩きます。

なんどかきたことのあるファミリーマートだったので、最短距離でいくルートはすでに開拓ずみ。

ぼくは、おにぎり2つと、パンを1つ、そして肉まんを買いました。

前回このファミリーまーどで買い物をしたときに、「いろはす」を無料で交換できるクーポンをゲットしていたので、そのクーポンを使用。

校舎にかえって、予約枠を眺めてみますが、やはり枠が空いていませんでした。

そしてチームで歓談しながら買ってきたお昼ご飯をたべます。

そんなこんなで、夕方に校舎にくるという1stサークルを卒業した学生にどうやってレビューを頼もうかと話していると、14時少し前ごろ、チームメイトの知人からDMが返ってきて、17時からレビューをあけていただけることになりました。

さっそくレビューを予約。

無事に17時からのレビューの予約をおこなうことができました。

そして、さっそく次のレビューの予約をしました。

すこし説明すると、最初にレビューを予約した学生が、自分たちの課題をやっている人でありさえすれば、次にレビューを予約する学生は、どのレベルの学生でもかまわないという仕組みがあります。

ですので、最初のレビューの予約をおこなったあとは、いままで空だったレビューの枠が、たくさんのレビュー枠が見えるようになりました。

そこで、早速14:45からのレビューを予約。(最初に予約したレビューよりも、時間は早くてもかまいません。)

そしてレビュー枠にはちょうどよい時間の枠が空いていなかったので、さきほど話したロシアからの学生にお願いし、15:45からのレビュー枠をあけてもらいました。

無事レビューを予約し、これで3件のレビューを予約できたので、一安心することができました。

ここまでで14:30になっていました。

レビューの14:45までは各自、自由な時間となり、ぼくは日課となっていたドイツ語学習を、今日はまだおこなえていなかったので、少しだけドイツ語学習を行いました。

他の学生は、ホワイトボードに図を書いて説明用に準備をしていたりしました。

そして、14:45となり、チーム全員があつまって最初のレビュー。

一人目は、まだ入学したばかりの学生で、校舎にいました。

簡単に挨拶をすませてから、レビューをする人だけが評価をする画面にアクセスできるので、ちかくのiMacにログインしてもらいます。

この課題をレビューできることがうれしいらしく、意気揚々としていました。

評価の項目にしたがってレビュー。

話すのは、徹夜したメンバーが中心で、ぼくはレビューしてくれる学生のとなりで、レビュー項目について補足していました。

Discordで参加しているチームメンバーがいるので、一応全員Discordにつないでいました。

ただレビュワーが校舎にいるため、校舎にいる一人のチームメイト以外はDiscordをただつないでいるだけにし(スタッフに対して、レビューに参加していることを証明するためにつないでいましたが、いま考えるとスタッフの方も休みであったし、そもそもそんなルールなかったかもと思い、いま考えると不要だったかもしれません)、そのチームメイトが、Discordで遠方にいるチームメイトと常時コミュニケーションしてもらえるようにしておき、いつでも質問に対応できるようにしていました。

途中で、チームメイトがホワイトボードの図を使って説明し、アプリの動作も問題なくおこなえていました。

無事に100%の達成率で一人目が終了。

次の15:45からのレビューまで1時間しかなかったので、焦っていたのですが、意外とその時間には終わっていました。

二人目のレビュワーは、こちらからお願いしたロシアからの学生。

かれの一人目のレビュワーのように、すんなりレビューが終了しました。

三人目は、オンラインでレビュー。

レビュワーの手元の環境では動かなかったので、こちらの手元でうごかしながら、Discordをつうじてそれをレビュワーに確認してもらいました。

すでにこの課題をクリアしている学生だったので、冷や汗をかく質問がいくつかありましたが、なんとかクリア。

アプリの動作もスムーズに行えていました。

42では、レビューをしてくれたレビュワーにもレビューコメントを残します。

レビューコメントを提出すると、以前はレベルが8だったのが、いっきにレベル10にあがっており、晴れて1stサークルクリアとなりました。

1stサークルクリア後

1stサークルをクリアしたからといって、残念ながらとくにお祝いというものはありません。

学生がつかっているイントラネットでの表示がが変わるだけです。

たとえば、上記でいっていたレベルの表示や、以下の学習の全体像です。

一番大きな円が1stサークルと呼ばれています。

ですので、チームでささやかなお祝いとして、校舎にある「カタン」でもやろうかという話がでていました。

(校舎には学生からの寄付なのか、いろいろなボードゲームがおいてあります)

しかしチームの一人が19時から別の予定があったのと、みんな睡眠不足だったので今日は解散することに。

年末か、年始のよいタイミングで、校舎に集まろうと話しました。

結局、1stサークルのクリアにかかった時間は、途中の2か月間の休学を入れると合計で2年間。

以下がその記録です。

かえりの電車では静かな満足感を感じ、ながかった2年間を思い返しました。

思えば、いろいろな人に教えてもらいながら、すすんできた2年間でした。

気軽に質問しあえる環境のすばらしさを感じました。

学んだことは忘れるのも早いので、今後は、いままでやったすべての課題を振り返ろうと思います。

mondにて匿名の質問・メッセージを募集しています。なんでも送ってね👍 https://mond.how/ja/hovinci_jp