プログラミング
Jikiの裏話
The Backstory of Jiki (jiki.io)
要約
Jikiの創設者は、10年間開発者向けスキルアッププラットフォームExercismを運営してきた経験から、プログラミング初心者向けの新しい学習プラットフォームJikiを開発しました。従来の学習方法が初心者にとって難しく、モチベーションを低下させることに気づき、Jikiではプロジェクトベースの学習、意図的に「フットガン」(学習者が誤って問題を抱える可能性のある機能)を排除した言語解釈、多言語対応、そしてフリーミアムモデルを採用しています。
全文翻訳
皆さん、こんにちは!
私は過去2年間、Jikiを構築してきました。アイデア出しから始まり、ブートキャンプで考えをテストし、そして(私が思うに素晴らしい)プロダクトをAronとNicoleと共に作り上げました。
この旅についてお話ししたいと思います。なぜJikiが存在するのか、なぜ私たちが時間とエネルギーを投資したのか、そしてそれがどこへ導くことを願っているのか。
Jikiの前にはExercismがありました
ご存知ない方のために説明すると、私は過去10年間Exercismを構築してきました。
Exercismは、開発者がスキルを深め、新しいプログラミング言語を学ぶのに役立つプラットフォームです。
これは、何千人もの人々がコードをコミットし、数百人のメンテナーが言語トラックを構築し、何千人ものメンターが他の開発者をサポートするという、巨大な共同作業でした。
何百万人もの人々がスキルアップのためにそれを利用しており、私はそれを本当に誇りに思っています。
しかし、Exercismはすでにコードを書ける開発者向けに設計されていましたが、私たちは常に完全な初心者を引きつけていました。
実際、最後に確認したところ、1日に500人以上の人が、一度もコードを書いたことのない状態でExercismにサインアップしています。
そして、Exercismは彼らのために作られたものではないため、彼らにとって本当に機能せず、私たちは彼らを追い返しています。
そしてそれはひどいことです。
Exercismでの私のモチベーションは常に社会的流動性、つまり最も助けを必要としている人々を助けることでした。
私は、プログラミングはほとんどすべての人が学ぶべき中核的なスキルだと信じています。
一部の人にとってはキャリアになり得ますが、すべての人にとって、それは批判的思考、問題解決能力を教え、ほとんどのデジタルワークに役立つスキルセットを提供します。
要するに、プログラミングは本当に人生を変え、そうでなければ閉ざされたままの扉を開くと信じています。
だから、これらの初心者が熱意を持って到着し、その後「ごめんなさい、これはまだあなた向けではありません」と言わなければならないのを見るのは、私自身の失敗のように感じられました。
私は、彼らのために何があるかを理解するために、「コードを学ぶ」というランドスケープを探求し始めました。
サインアップしている多くの初心者と話し、既存のリソースを探求し始めました。
そして、それらのリソースを試しているうちに、何かが欠けていることに気づきました。
ほとんどのリソースは、私がプログラミングの本質だと信じているもの、つまり楽しい問題解決にたどり着きません。
代わりに、視聴するビデオ、受けるクイズ、おそらく少しのコーディング演習、そして最後に証明書を提供します。
それらは構文と理論を教えますが、実際には何も作らせてくれません。
そして、それが多くの人が諦める理由だと思います。
コーディングが難しすぎるからではなく、教え方がコーディングそのもののように感じられないからです。
だから、私はそれに対処することにしました。
Jikiの実現への道のり
私の経験に基づいたJikiの構築
私がどのようにコードを学んだかを考えると、それはコースやチュートリアルを通してではありませんでした。
私は8歳で始めました。インターネットができるずっと前です。
ゲームを作りながら学びました。
当時の子供らしい頭が夢中になっていたもの(スタートレックや魔法使いがたくさんありました)を、何らかのランダムなゲームに変えました。
その後、年を取るにつれて、自分でウェブサイトや小さなツールを作りました。興味のあるものは何でも。
カリキュラムはありませんでした。
ただ作り、行き詰まり、解決し、さらに作るということを繰り返しました。
その経験は、私が学習について考えるすべてに影響を与えました。
人々は、コードを書くことによってコードを学ぶと信じています。誰かがやっているのを見たり、多肢選択式の質問に答えたり、「演習を完了する」ために一行のコードを書いたりするのではなく、実際のプログラムを書き、問題を解決することによってです。
だからこそ、Jikiは最初からプロジェクトを中心に構築されています。
あなたは数ヶ月間、小さな5行の演習を延々と行うわけではありません。
あなたはゲーム、アニメーション、ツールなどを構築し、最初の数ヶ月で数十行、そして数百行のコードを書きます。
それは挑戦的ですが、実際にプログラマーになっていると感じさせてくれる種類の挑戦です。
ブートキャンプ
2025年1月に、1,000人の学生を対象にブートキャンプを開催しました。
彼らは私がブートキャンプのために特別に書いたプログラミング言語(JikiScriptと呼ばれます)を学びました。
毎週、約3時間のライブ授業があり、その後、解決すべき演習があり、そして3時間の「ラボ」セッションがありました。そこでは演習を一緒に見たり、質問したりしました。
それは本当に楽しい経験で、私はそこからたくさんのことを学びました。
また、私がプログラミング言語、演習、レッスンを書きながら、週に6時間のライブストリーミングと数十時間のサポートを行うという、非常に激しいものでした。手伝ってくれたボランティアの皆さんに心から感謝します!
私が学んだ最も重要なことは、私が作成したペースが速すぎたということです。
私は穏やかで簡単なものを作ったと思ったのですが、それでも非常に速く、難しすぎました。
そこで、私はそれをJikiに取り入れ、さらにペースを落としています。より遅いペースの演習をさらに追加しています。
もし簡単だと感じたら、それらの追加演習をすぐに進めるでしょうが、もし苦労しているなら、それらは(うまくいけば)命綱になるでしょう!
フットガン(失敗の元)の削除
私は、プログラミング言語を同時に学ぶ必要があることで、コード学習がはるかに難しくなると強く信じています。
それは奇妙な発言に聞こえるかもしれませんが、もう少し聞いてください。
プログラミング言語はプロフェッショナル向けに設計されています。
それらは、開発者がより速く、より効率的に作業できるようにする多数の「高度な」機能を含んでいます。
また、多くの歴史的な遺産(特にJavaScriptはこれに大きく苦しんでいます)を持っている傾向があります。これは、レガシーサポートのために残さなければならない、ずっと前に言語から削除されるべきだった機能です。
これは、学習中に、非常に高度なもの、または単に奇妙なものに遭遇することを意味します。
私たちはこれらをフットガン(自分で足を撃ってしまう可能性のあるもの)と呼んでいます。
ブートキャンプを運営したとき、私はフットガンなしの新しい言語(JikiScript)を書くことにしました。
しかし、受け取ったフィードバックの一つは、現実世界で使用できない言語を学ぶのはフラストレーションがたまるということでした。
そこでJikiでは、JavaScriptまたはPythonのいずれかを通して教えることにしました(同じシラバスで、言語を選択します)。
しかし、フットガンは削除しました。
私は両方の言語のためにカスタムインタープリターを書き、ノイズをすべて取り除きました。
JavaScriptで `var` を使うことはもうできません。
通常の関数に慣れるまでアロー関数は使えません。
`[] + {}` と書いて何かを得ようとしても、エラー以外のものは期待できません。
学習の旅のこの時点で、誰かが意図せずに何かを行う可能性が高い場合、それは無効になっています。
そして、進むにつれて、より多くの機能と機能が有効になります。
これは膨大な作業でしたが、大きな違いを生むと信じています。
i18n
私が追加する必要があると知っていたもう一つの重要な機能は、Jikiを多言語対応にすることでした。
ほとんどの人は英語を話しません。
ほとんどのプログラミングリソースは英語です。
これは、リソースにお金をかける余裕が最も少ない人々にとって、大きな障壁です。
そして、これは私が本当に修正したいことです。
だから、Jikiを構築する際に、コンテンツ、演習、AIヘルパー、ビデオなど、すべてを多言語対応にできるように作成しました。
私の計画は、ベータ版を英語で開始し、その後、年末までに世界の95%をカバーするまで、毎月数種類の新しい言語をリリースすることです。
フリーミアム
私がしなければならなかった最後の決定は、価格設定でした。
私はJikiを無料にしたいと100%確信していました。
全体の目的は、助けを必要としている人々を助けることです。
しかし、Exercismからも、十分なお金が入ってこないと運営が難しいことを学びました(Exercismに寄付してくれた皆さん、本当にありがとうございます。Jikiは皆のおかげで可能になりました!)
そこで、フリーミアムアプローチを取ることにしました。
Jikiのコアは無料です。ビデオと演習はすべて誰でも利用できます。
しかし、いくつかの素晴らしい追加機能(AIサポート、ボーナスプロジェクト、ライブストリーム、舞台裏コンテンツなど)があり、人々は少額の月額料金(購買力平価で調整された9.99ドル)でアクセスできます。
これは世界のほとんどの人々にとって手頃な金額なので、もし人々が私たちの活動をサポートしたい、またはそれらの機能にアクセスしたいのであれば、それは素晴らしい出発点です。
そしてLLMが登場しました