2022年5月31日

42Tokyoの学生とつくる
「Tuning the backend Contest」が
ドリーム・アーツにもたらしたもの

42 Tokyo

ドリーム・アーツが協賛し、2022年4月15日から17日に開催された、フランス発のエンジニア養成機関「42 Tokyo」の学生を対象にしたパフォーマンスチューニングコンテスト「Tuning the backend Contest」(以下、TtbC)。同コンテストでドリーム・アーツは課題の企画・協賛・メンタリングを担当しました。本記事では、その背景にあった意図と、コンテストで得られた知見を記します。

同イベントの開会式直後、CTO・石田健亮は学生への期待を込めて、こう呼びかけました。「どこから手をつけたらいいか分からないなかで、黒い画面と向き合いつづける。バックエンドの改善という仕事は地味です。ただ、チームでの作業が実って処理速度が大幅に向上したときには、大量のアドレナリンが出る。勉強の範囲では味わえない、そんな体験をしてほしい」

TtbCでは、ドリーム・アーツのエンジニアが用意した架空の業務アプリが依存するバックエンドを、42Tokyoの学生が組んだ3人のチームがどれだけ高速化できるかを競ってもらうコンテスト。ここで意図したのは、「プログラミング」という行為の先にある「仕事」がもつおもしろさを体験してもらうことです。

ドリーム・アーツが作成した課題は以下のようなものでした。クライアントは、建設機械のレンタル業を全国で営む大企業である株式会社Celloグループ。参加者はSaaS企業であるドリーム・デビーが提案、採用され、本番運用されて3カ月の現場状況報告サービス「Qspin」の「パフォーマンス改善チーム」として42時間のメンテナンスに取り組むことになります。運用されたサービスのパフォーマンスが低く、営業やサポートは謝罪の毎日を送っているなかで、緊急メンテナンス期間が取れたというエンジニアにとっては胃が痛くなるような設定です。

42 Tokyo 開会式で、課題を説明するドリーム・アーツの矢田(ステージ右)

開会式で、課題を説明するドリーム・アーツの矢田(ステージ右)。
広島から現地に向かい、オフライン会場でメンタリングを担当した

想像を超えた難問の出現

参加したのは、42Tokyoで学ぶ総勢34チーム(オンライン:25チーム、オフライン:9チーム)。学生は「Piscine」と呼ばれる入学試験を突破していますが、それぞれのバックグラウンドにはエンジニアとしての勤務経験がある人から、まったくの初心者からバラつきがあります。

ただ、Piscineはただのテストではありません。「学生同士で教え合う」ことを重要視する同校では、試験のなかでも受験者同士が協力して試験を突破することが求められます。そこで培われた「ともにゴールに向かう」ための能力がTtbCでも試されることとなります。各チームは3人で構成され、オンラインのDiscord上やオフラインのキャンバスでコミュニケーションを取りながら課題に取り組むことが求められるからです。

開会式で課題が発表されたあと、それぞれのチームはまずドキュメントを読み込む作業に取りかかりました。42Tokyoではコンピューターサイエンスの基礎を固めることが大きな目標として掲げられているため、今回のような現場レベルでの開発の経験がないメンバーが多く、仮想マシンの設定など、作業の前提となる環境の構築から学ぶ必要がある人も少なくありませんでした。

42 Tokyo オンラインでの参加となったドリーム・アーツCTOの石田

オンラインでの参加となったドリーム・アーツCTOの石田。
プログラミングのキラキラした側面ではなく、仕事としてのリアリティを体験してほしかったという

「何からすればいいのかわからない」「正直、42時間後に何ができているか想像もできない」。そんな言葉をオフライン会場でもらしているメンバーもいました。ただ、オフラインでもオンラインでもチームメンバーがコミュニケーションをとるなかで自然と役割分担が生まれていっている印象がありました。

「やみくもにいろんなことをやっても無駄です。モニタリングや計測によって、いま何が起きているのかを把握して、問題の原因と解決法に関して仮説を立てる。そんなステップをひとつひとつ進めていってほしい」。開会式で石田はこんな「ヒント」を出していました。

プログラミング経験を整理しながら、問題を整理しつつ、メンバーそれぞれができることを担当する。圧倒的なプログラム力がある人間が一人で解決するのではなく、「問題に全員で取り組む」ことがどう実現できるのかをみな試行錯誤する場となりました。

42 Tokyo オフライン会場でメンターを担当したドリーム・アーツのエンジニアに、年齢層も近い学生も多かった

オフライン会場でメンターを担当したドリーム・アーツのエンジニアに、年齢層も近い学生も多かった

訪れた「きっかけ」

42時間のコンテストのなかで、大きく事態が動いたのが開始から15時間ほどが過ぎた16日の12時ごろ。メンターをつとめるドリーム・アーツのスタッフが課題のライブハッキングをおこないました。

メンターたちはオンライン、オフラインを問わず、進捗状況を確認しアドバイスを行なう「チェックポイント」の時間を設けていました。このなかで、チームによっては進捗が悪く、このままでは課題がもっている改善の醍醐味にまでたどり着けない可能性があると判断しました。そのためライブハッキングは、一旦基礎的な知識とおおまかな方向を「とっかかり」として示すことで、チーム全体の状況を平準化し、コンテストの競技性を取り戻す目的でおこないました。

実際、オフライン会場では多くの学生がライブハッキングを食い入るような目で見つめていました。そして、ライブハッキング終了後は、もくもくと作業に没頭しはじめる学生の姿が。「とりあえず、ライブハッキングでメンターがやっていたことを再現する」、「ようやく道筋が見えた」。ここから20時間強、学生たち全員がドリーム・アーツの意図した「改善」に向けて歩み始めた瞬間でした。

42 Tokyo オフライン会場のそばで、オンライン会場も見守るメンターたち。

オフライン会場のそばで、オンライン会場も見守るメンターたち。
学生たちを陰ながら常に見守った

会場から生まれる熱量

今回のイベントの特徴として挙げられるのは、コロナ禍の間隙をぬうようなかたちで、久々におこなわれたリアル会場をもつイベントだったという点です。オンラインでの参加者もいたものの、開会式や閉会式はオフラインから中継され、メンターもふくめ20〜30人の学生とスタッフが42Tokyoのキャンバスに集まっていました。

会場では十分なソーシャルディスタンスなどの予防対策をとったうえで、学生同士が「耐久レース」の名にふさわしい奮闘をおこなっていました。iMacの前に横一列に並び、作業の状況を逐一報告しながら、深夜までの作業に取り組む。机の上に並ぶ目薬、天井を向いて目を閉じ休憩する人……。会場で夜を明かした学生もいたようです。

また、Discord上では、会場の近くでのオススメランチを教えあうなど、チームの垣根を越えたコミュニケーションも生まれていました。一つの場所で切磋琢磨しながらも、お互いを助け合う……。オンラインで課題に取り組んだチームと比較することは難しいですが、オフラインにはオフラインでしか生まれない「お祭り」のような熱量が確かにそこにありました。

42 Tokyo 競技終了後、閉会式との間の一瞬の時間に、机のうえで休憩する学生

競技終了後、閉会式との間の一瞬の時間に、机のうえで休憩する学生。
42時間の頑張りが感じられる

教えることで学ぶ

また今回のメンターを務めたドリーム・アーツのメンバーにも、大きな気付きがあったようです。金曜日の夜と土曜日の夜、2回のチェックインのほかにも、メンターたちはオンラインオフラインを問わず巡回しながら、学生の一挙一動を見つめてきました。

そんななかで感じたことを、メンターのリーダーをつとめた矢田はこう語ります。「プロの自分と学生さんを比較してしまいますね。同じ作業をダラダラするような仕事をしているのが、プロのエンジニアなのか? 知識を吸収しながら、難題に立ち向かおうとする彼・彼女たちの姿が、とにかく刺激になります」

企業が教育プログラムを提供する場合、何かの知識を学生に授けるようなイメージが頭をよぎるかもしれません。ただ、実際は教える側も学生から学ぶことが大いにある。「協創する喜びにあふれる人と組織と社会の発展に貢献する」をミッションに事業をおこなってきたドリーム・アーツと、協に学ぶことを主眼とする42TokyoのコラボレーションによるTtbCは、「協育」ともいえる双方向に生まれる価値を生みだしていたともいえるのかもしれません。

42 Tokyo 課題のスコアを計測する画面

課題のスコアを計測する画面。
固唾をのみながら結果が出るのを待つ学生の姿が四六時中みられた

強いエンジニアとは何か?

3日間にわたるプログラムも、ようやく終わりがみえてきた最終日。課題提出の2時間前に会場へと足を運ぶと、学生たちは、最後のねばりに奮闘していました。

システムの改善を計測するには、その検証のためのベンチマーク自体に時間が必要となります。できる仮説検証のすべてをおこなうには時間が足りないともらすチームもあれば、「もっと時間をくれ!」と叫ぶチームもいました。最後の最後のタイミングで、「やっとひとつ改善ポイントを潰せた!」と歓喜の声を挙げた学生も。そんなそれぞれのラストスパートを経て、すべてのチームが課題を提出し、コンテストは終了しました。

結果としては、優勝したチームの速度を示すスコアは「6,981」、2位のチームは「3,617」とトップとそれ以下に大きな差がついた形となりました。ちなみに最下位のチームのスコアは「66」。この数字だけみても、コンテストに参加した学生たちの能力の違いがわかります。

ただし、能力の違いを測るためだけに、本コンテストがおこなわれたわけではありません。冒頭で引用した石田の言葉にある通り、ここで意図されたのはプロのエンジニアとしての「体験」を提供することだったからです。

42 Tokyo 受賞したオフラインチームが賞品を受け取る様子。

受賞したオフラインチームが賞品を受け取る様子。
優勝者には、アップルギフト券10万円分、2位3位は高価なキーボード、マウス、
イヤホン、ディスプレイ、ヘッドフォンなどが授与された

閉会式で石田は、こんなことを学生に伝えていました。「強いエンジニアは、知識が多いから強いんじゃない。調べものをしないと何もできない(笑)。本質的な問題を分解して、ひとつひとつを解決する姿勢こそが、強さをつくっている。金曜日の自分と、いまの自分は絶対に違うと思う。いろんなことを調べたり、作業が無意味になったり、どういうコードが遅いか、逆に速い書き方を理解したり……。今回学んだステップは、将来現場に立ったとき、大きな力になると思う」

フリーランスや社員といった定義があいまいになり、プロの定義が問われつづけるいま、キャリアを形成するルートもまた多様化しつつあります。42Tokyoとつくりあげた本コンテストが浮かび上がらせたのは、その新しい道をつくるために企業と教育機関が共に手を取りあうことができる可能性かもしれません。ドリーム・アーツは、今後も学生たちとエンジニアリングの未来に対してできることを模索していきます。

42 Tokyo