42Tokyoとは何か
42 はフランス発祥の、学費が完全無料、教師がいない、校舎が 24 時間開放されており、プロジェクトとピアラーニングを中心としたプログラミング教育機関です。
42Tokyo は、42 の東京校です。
42とは何か
生命、宇宙、そして万物の究極の答え(Answer to the Ultimate Question of Life, The Universe, and Everything)
――『銀河ヒッチハイク・ガイド』(The Hitchhiker’s Guide to the Galaxy)より
Piscineとは何か
フランス語で「プール」という意味です。泳げない人をプールに放り込み、その中で溺れながらもがき、息を整えて泳げるようになる――そんな比喩がこの名前の由来です。
42への入学試験の名称でもあります。
Life Saverとは何か
Life Saver とは、学生によって構成され、42 Tokyo に様々な形で貢献し、Piscine 受験生や 42Tokyo のスタッフをサポートするボランティアチームです。
私の理解としては、Piscine受験生が困ったときに、スタッフに聞くべきか、隣の受験生に聞くべきかを判断する役割、といった感じです。
Life Saverとしては、「隣の受験生に聞けば答えが得られる可能性がある質問」には答えてはいけない、という明確なルールがあります。
Piscine のときに、自分の気持ちを文章に残さなかったことを少し後悔しています。時間が経つにつれて、記憶や感情は徐々に薄れていくものです。
最近、あるコミュニティで毎日 Piscine の日記を残している人を見かけました。とてもすごいと思いました。
私も何度か日記を書こうと挑戦したことがあります(今もどこかのサイトの片隅に残っているはずです笑)、最長で 46 日間続きましたが、その後は結局続きませんでした。
もちろん、「何を書けばいいか分からない」という日もありましたが、それが理由ではないと思います。
一番難しいのは、自分の考えを言葉に変換して記録することです。それにはかなり時間がかかります。
あなたが 1 分で読み終える文章は、私が 1 時間かけて思考を整理し、編み出した言葉かもしれません。
実際に挑戦してみたからこそ、その大変さがよく分かります。本当に、Piscine 日記を書き続けたあの人は尊敬に値します。
今になって、自分があのとき書いた 46 日間の日記を読み返すと、その時の感情がよみがえってきます。「ああ、私はあのときこんなことを考えていたんだな」と。まあ、ほとんどが他愛もない日常なんですけどね笑。
アニメ『地。—地球の運動について—』第9話「これがいわゆる『知』というものか」にこんな一節があります:
「文字……まるで奇跡だ。
文字さえ使えれば、時間も場所も超えることができる。
200年前のメッセージに涙し、1000年前の伝説に笑うことができる。信じられるか?
私たちの人生は、この時代に閉じ込められていて、逃れることはできない。
けれど、文字を読むときだけは、古の偉人が私に語りかけてくる。
その瞬間、私はこの時代を離れる。
文字となった思想は、永遠に残り、未来の誰かを動かし続けることすらある。
こんなこと……まさに……
奇跡としか言いようがない。」
私は偉人でもないし、偉大なメッセージを残したいわけでもありません。
けれど私は、文字を通じて、数年前、あるいは数か月前の自分と交流しているのです。
文字って……やっぱり奇跡ですよね?
Piscine のときに感想文を書かなかったのは少し残念ですが、今がその好機でもあります!
つまり、いつだって始めるのに遅すぎることはない、ということです。
やりたいなら、書きたいなら、今始めればいい!
私が Life Saver になりたいと思ったきっかけは、私自身がたくさんの助けを受けたからです。
今、私は 42 に通い始めてもう 1 年以上経ちました。もしかしたら、少しは誰かを助けられる力があるのでは?と思いました。
もっと以前から Life Saver になりたいという気持ちはありましたが、ずっと「自分にはまだ力が足りない」と思っていました。
それは技術力が足りない、という意味ではなく、Life Saver という役割は、42 を目指す受験生たちの前に立つ「模範」であるべきだと感じていたからです。
では今、私は 42 の模範になったでしょうか?何か輝かしい実績や、人を感動させるような経験があるでしょうか?
いいえ、私は今でも平凡な私です。でも、42 の理念と運営スタイルが好きなので、42 のために力を尽くし、その理念を広めたいと思いました。
正直なところ、結局は私のほうがたくさんの助けをもらっている気がしますけどね。スタッフの皆さん、そして仲間たちに感謝します。
印象に残ったことをいくつか挙げます。
基本的に Life Saver は課題に関する質問には答えません。これは、時に疑問や不満を招くこともあります。
「なんでこれで結果が出ないんだ、パソコンが悪いんじゃないのか」「なんで教えてくれないんだ、知らないんだろ」「なんでこんなに課題が曖昧なんだ、意味が分からない」「なんで機械採点で落ちたんだ、間違ってないのに、機械がおかしいんだ」……
こういう声も時々あります。
正直、私も Piscine のときは同じような疑問を抱いていたので、これらは特におかしな反応ではないと思います。
疑問を持つことはとても良いことです。機械も壊れるときはあります。ですが、怒ったり苛立ったりする必要はありません。
Piscineのとき、私が特に印象に残っている出来事があります。
当時の私は、3か月日本語の家庭教師を受けていて、3か月独学して、3か月語学学校に通った後にPiscineに参加しました。
日本語には全く自信がなく、実際もひどいものでした。さらに、英語も全然得意ではありませんでした。
あるレビューのとき、高身長でがっしりした同級生とペアになりました。彼は厳しい表情で、日本語を早口で話しました。私はほとんど理解できませんでした。
彼が私の反応が鈍いことに気づくと、流暢な英語で話そうとしましたが、それでも私はあまり反応できませんでした。
すると彼はだんだん苛立ち、こう言いました。
「日本語も英語もできないのに、君はここで何をしているんだ?」
そうですね、私も自分でよく分かりませんでした。
実際、台湾の教育では幼稚園から英語がありますが、私は一度も授業についていけたことがありませんでした。
「台湾人の英語は上手」と言う人が多く、実際私の周りの友人たちも皆英語が上手です。
私は自分の語学能力に大きな問題があると思っていて、もしかしたら少し知能的なハンディがあるのかもしれません。だから海外で暮らすなんて、考えたこともありませんでした。
しかし、ご縁があって夫が日本の会社に就職し、私たちは一緒に日本へ来ました。
そしてまた偶然、夫が世界的に有名な無料教育機関「42」が東京にあることを知り、Piscine を勧めてくれました。
「どうせ無料だし、損するわけじゃないし、試してみたら?」
その通りです。42 に参加した最大の理由は「無料」だからです。
さまざまな事情と、ビザ申請の待機期間のせいで、私たち夫婦は1年以上仕事をしていませんでした。台湾から東京に移住するための初期費用(家賃、家具など)で貯金もかなり使いました。
42 は無料で、友達もできて、プログラミングも学べる――なんて素晴らしい場所でしょう。
あの同級生にそう言われたとき、私はとても落ち込みました。
私はダメで、彼に迷惑をかけた。彼を不快にさせてしまった、申し訳ない……そう思いました。
Piscine 後半、システム上でまたその同級生とレビューのペアになってしまいました。
怖かったです。私はまだ上手くできないと思って、不安な気持ちで再会しました。
ところが意外にも、彼の態度と忍耐は明らかに改善され、笑顔も増えていました。
この短期間で私の語学が急に上達したわけではないので、彼自身に何か変化があったのでしょう。とにかく、そのレビューは無事に終わりました。
(P.S. 彼は Piscine を通過しました。とても優秀な人です。)
今は立場が変わり、私は Life Saver となりました。
正直に言うと、怒りや苛立ちを表現しても何の役にも立ちません。
答えられない質問は、あなたが怒っても答えることはありません。
もしパソコンの問題なら、もちろん怒る必要はなく、別の端末に交換すればいいだけです。
もし操作ミスなら、いくらキーボードを叩いても何も変わりません。
幸いなことに、後日態度が改善された受験生も何人かいました。名前は覚えていませんが、彼らがその後無事に Piscine を通過できたことを願っています。
次に「課題が分かりにくい」という件について。
おそらく私は社会人経験があるので、上司の指示がよく曖昧だったこと(上司自身が何を求めているのか分かっていないこともある)に慣れていたため、特に疑問を持たずに受け入れました。
ですが、Piscine の課題には機械採点があります。それは、白か黒かの結果がはっきりと出る、という厳しい現実を意味します。
私は機械採点が嫌いです。でも、好きでもあります。
「分かりにくい」には二種類あります。書いてあるけど理解できない場合と、本当に書いてない場合。
真実がどちらであれ、その状況に直面したとき、あなたはどう考えますか?次にどう動きますか?これはとても大切なことだと思います。
最近、私はちょっとしたゲームをいくつか作りました。最初に作ったのは「素因数分解」に関するゲームでした。
最初のバージョンでは、タイトルに「素因数分解」とだけ書き、説明文は入れませんでした。
インターフェースがとてもシンプルだったので、誰でも理解できると思ったのですが、意外にも多くの人から「素因数って何?」「説明がない」と指摘されました。
一人だけなら気にしませんでしたが、複数人に言われたので、素直に説明文を追加しました。
私は「これは小学生レベルの知識だと思っていたんだけどな……」と思いましたが、日常生活で触れない概念なのかもしれません。Cの課題のどこかで素数を扱ったので、私の感覚がおかしいだけかもしれません。まあ、、、もし小学生レベルの英語の問題を出されたら、私もわからないかも、、、
(P.S. そのゲームはこちら → game.allie.tw)
Piscine のカリキュラムには「再帰」という必須概念があります。
初めて再帰を見たとき、私はこう思いました。「何だこれは、すごすぎる」
たった数行のコードなのに、「美しい」という意味がよく分かるものでした。
有名な言葉にこんなものがあります:「再帰は天上にのみ存在し、凡人はループを使うべし」(原文:To iterate is human, to recurse, divine!)
正直に言うと、再帰でできることはループでもできます。では、再帰を学ぶ意味はないのでしょうか?
使い方ではなく、「思考方法」を学ぶためにあるのだと思います。
ループといえば、Piscine では「while しか使ってはいけない」という規則があります。
プログラミング経験がある人なら、ループといえばまず for 文を思い浮かべるでしょう。それに比べて while 文は、より単純、あるいは原始的な書き方です。
そして、Piscine では printf ではなく write しか使えません。
もっと大きな視点で見ると、今はたくさんのプログラミング言語があるのに、なぜ 42 は C言語というちょっと古い言語を採用しているのでしょう?
Python や Java など、もっとモダンで流行していて求人の多い言語ではなく、なぜ C言語 なのか。
この「レトロを追求するような」規則を考えると、私は『鬼滅の刃』というアニメを思い出しました。
『鬼滅の刃』の世界観では、最初の呼吸法は「日の呼吸」であり、そこから五大基礎呼吸―炎・風・水・雷・岩―が生まれ、そこからさらに N 種類の派生呼吸法が生まれました。
日の呼吸はすべての呼吸の祖。C 言語は現代の高級言語の祖のようなものです。多くの言語の文法、制御フロー、データ構造の概念は C言語にさかのぼります。
C 言語は機能が豊富で性能も非常に高いですが、ポインタやメモリ管理といった低レベルの理解が求められます。日の呼吸が最も強力でありながら才能と体質を要求するのと同じです。
C 言語からはC++、Objective-C、C# が派生し、Java、Go、Rust、JavaScript の設計にも影響を与えました。
日の呼吸が鬼の本体細胞を直接攻撃できるように、C 言語はメモリを直接操作し、ハードウェアを制御できます。
日の呼吸は最強!しかし、すべての人が使いこなせるわけではありません。学んだ後、自分に合った呼吸法を選ぶのが大事です笑笑。
すみません、オタクなので例えもオタク寄りです。
『鬼滅の刃』はフィクションですし、上記は私の妄想なので真に受けないでください笑。
(AI を使ってプログラムを書いているけれど、プログラミングを学んでいない人は、呼吸法を使えないのに鬼を倒せる人なのでしょうか?)
(鬼殺隊の入隊試験って、Piscine にちょっと似ていませんか?全員をプログラミングという大プールに投げ込み、最後まで生き残って泳げるようになった人だけが入隊できる笑)
今年 Life Saver に参加して、私が当時 Piscine に参加した頃と大きく違う点が一つあります。それは AI の使用です。
AI といえば、最近こんな記事を読みました:
AIを「道具」としてではなく、「楽器」として扱うべきだ。
道具は効率を追求し、楽器は表現を追求する。
道具は目標達成のためにあり、楽器は過程を楽しむためにある。
(https://alexhsu.com/stand-out)
とても面白い見解で、これは私の Piscine に対する考え方とも少し重なります。
Piscine を入学試験だとは思っていますが、試験で高得点を取って合格することよりも、過程を楽しむことのほうが大切だと思います。
最終的に 42 に入学できるかどうかよりも、この過程で「どう学ぶか」を学べるかどうかのほうが重要です。
AI の進化は本当に想像以上に速く、Piscine の受験生もきっと AI を使うでしょう。
でも、AI はあなたの言っていることをたぶん理解していないでしょう。
では、あなたは AI の言っていることを本当に理解していますか?
これは真剣に向き合うべき問題だと思います。
自身の Piscine 体験と今回の Life Saver の経験を通して、Piscine を通過できる人には少なくともいくつかの共通点があると感じています:
《失敗を恐れず、自省し、成長できる》
Piscine の設計は、あえて受験生に失敗を経験させるように作られていると感じます。
実際、Piscine では課題が失敗しても、現実的には何の減点にもならず、むしろ加点される場合すらあります。
課題提出が失敗したときの挫折感や時間の浪費はよく分かりますが、振り返ってみれば、そのたびに何かを得ていました。
たとえば、以前は見落としていた細かい部分に気づいたり、レビューで新しい仲間と出会ったり、失敗をきっかけに進行を立て直す必要に迫られたり。
《自律と自己駆動力》
Piscine は 4 週間にわたって行われるプログラムです。
教師はおらず、何時に何をすべきか決められていません。すべて自分で決め、自分で計画します。
試験前に一夜漬けで勉強した経験がある人もいるでしょうが、Piscine は 4 週間も続くので、そのやり方は通用しないと思います。
最終的にどこまで進みたいのか?1 週間ごとの目標は?今日やるべきことは?
しっかり食べて、しっかり寝て、体力を保ち、新しい挑戦に向かい、失敗に直面し、前進し続ける。
《ストレス耐性と情緒の安定》
Piscine は 4 週間もあるように見えますが、スケジュールは詰まっていて、自由な時間はあまりありません。
毎週テストがあり、週末にはチーム課題(任意ですが推奨)があり、課題提出後は人に採点してもらわなければならず、また自分も他人の課題を採点する必要があります。
誰に採点されるか、どれくらい時間がかかるか、分かりません。
誰の課題を採点するか、どれくらい時間がかかるか、分かりません。
時間は自由そうでいて、とても濃密。ルールはシンプルそうでいて、未知が多い。
このようなテンポの速い、大量の課題がある高圧環境の中で、冷静さを保ち、過度に焦らず、挫折に打ちのめされないこと。
もちろん、プログラミングへの情熱、社交能力、学習能力も大事です。
これはあくまで私個人の感想であって、42 公式の評価基準を示すものではありません。
もし最終的に Piscine を通過できなかったとしても、それはあなたに能力がないわけでも、失敗したわけでもありません。ただ、たまたま通過できなかった、それだけのことです。
名前は「入学試験」ですが、私はこれを双方向の判断だと思っています。42 があなたを選ぶかどうか、あなたがこの生活を選ぶかどうか。
結果がどうであれ、すべての Piscine 受験生にこのプロセスを楽しんでほしいです。
私は、Piscine に挑戦するすべての人が持っている共通の特質が一つあると思います。それは:《挑戦する勇気》です。
皆さんは本当に素晴らしい!
最後に、42Tokyo のスタッフの皆さん、この活動に参加する機会を与えてくださってありがとうございます。
そして Life Saver の仲間たちもありがとうございました。仲間がいてくれるだけで、とても安心できました。
毎回のミーティングで頭がごちゃごちゃして、自分が何を話しているか分からなくなることもありましたが、みんなが「特にないです」と言うのを聞いてとても安心しました笑。
そして毎週楽しみにしていたのはご飯の時間。無料のご飯は最高です笑。
お疲れ様でした。