KCC JOURNAL

KCCジャーナル

2023/10/15

日米の学生エンジニアがKCCの開発をサポート!

2023年夏、インターンやボランティアの学生がフルリモートで英語を使って進める技術開発プロジェクトに参加し、大きな成果を挙げてくれました。Kids Code Clubではこれから新しい「ボランティアエンジニア」の形を模索していきます!

『英語で開発プロジェクト』


🫵ボランティアエンジニアを募集しています!
Kids Code Clubでは運営に不可欠なWeb開発やデータサイエンスの作業を手伝っていただける「ボランティアエンジニア」を募集しています。本記事で紹介している『英語で開発プロジェクト』に参加するほかに、英語抜きで開発のお手伝いをしていただける方も大歓迎です。現在サポートをお願いしたい分野については本記事の最後をご覧ください。ご興味のある方は是非こちら(応募フォーム)からご連絡をください。


Kids Code Clubではスタッフエンジニアを中心にオンラインチュートリアルである「キッズコードレシピ」をはじめとするEdTechアプリやシステムを内製してきました。もちろん開発予算もスタッフも極めて限られているため、常にエンジニアのサポートが必要なのですが、なかなかボランティアとしてお手伝いいたけるエンジニアの方は見つからないのが実情です。そこで今夏、全く新しい試みにチャレンジしてみました。日本とアメリカでエンジニアリングを専攻する学生にボランティアやインターンとしてプロジェクトに加わってもらい、開発プロジェクトをすべて英語で進めるというユニークな仕組みです。「どうしてアメリカの大学生なんかが参加してくれるの?」と不思議に思われるかもしれませんが、その仕組みと今夏の実績をここでご紹介します。

日本と大違いの米国インターンシップ事情

今回の仕組みを理解するにはまず、米国大学生のインターンシップ事情を把握する必要があります。

IT業界で就職競争が激しいのは日本も米国も同じです。ただ、米国の学生にとって「インターンシップ」は就活に不可欠なステップなのです。少なくとも大学2年から無償でのインターンシップを見つけ、そこで経験を積んでから3年目以降は有償インターンとして希望する業界で実務経験を積むというのが王道です。もちろん入口での問題は「経験もないのにどうしてインターンとして仕事ができるのか」です。この「最初の経験」を求めて学生たちは大変な苦労をするのです。

KCCが「リアルプロジェクト、リアルデータ」を提供

Kids Code Clubは技術開発面で切実な問題を抱えています。メタバース空間を利用して週2回、「放課後プログラミングクラブ」というオンラインイベントを開催するのが主な事業ですが、その運営を支えるためにWebシステムの開発やクラウドでの保守管理、データ分析など、高度なデジタルプロセスを進めていかないといけません。そうしないと限られた予算やスタッフ、ボランティアで最大限のサービスを提供することができないためです。

そうした現場には当然、リアルな問題解決のチャンスが山ほどころがっています。KCCはそうした「リアルイシュー」を提供し、インターン生には現実の問題に取り組むことで知識と経験を積んでもらおうということです。 そこで米国でのインターン生を受け入れるため、Kids Code Clubの技術担当理事、板垣政樹が中心となってワシントン州にOne Code Clubという事業組織を立ち上げました。これで大学での正規のインターンシップクレジット(単位)としてプロジェクトに取り組む学生を受け入れる体制を作りました。米国では学生に専攻とマッチしたトレーニングを提供することなといくつかの条件に沿えば、無償インターン生を受け入れることができます。最終的に、ボランティアで参加してくれた学生も含め、全部で5人の優秀な学生が集まってくれました。

Discordもオンライン会議もすべて英語で!

一方で、この開発プロジェクトに日本側からボランティアで参加してもらえる学生も探しました。もちろんリアルな開発経験もそうなのですが、なんといっても英語のコミュニケーション力を伸ばしたいエンジニアには格好の場です。このチャレンジに日本からはIT系の専門学校生が参加してくれました。これで全部で6人。まずは「オンボーディング」という事前トレーニングからスタートです。

今回の開発プロジェクトの仕組みは将来的に他のNPOにも活用していけるものとして検討された

基礎的なタスクのトレーニングからスタート

開発作業を進める上での基礎知識はたくさんの種類があります。参加してくれた学生の経験値はまちまちですが、まずは全員が最低限のオペレーションができるように次の点についてトレーニングをしました(もちろん英語で)。

✅ Git によるソースコードの管理

✅ Docker によるローカル環境の設定

✅ BigQuery操作のためのSQL基礎知識

将来のKCC EdTechを支える技術開発にチャレンジ

今期のプロジェクトでは次の4つの分野において作業を進め、いくつかの重要な成果を上げることができました。

❶ レシピの利用データ解析による品質管理

データサイエンスのインターンシップで貢献してくれた一人が、Seattle Central College(ワシントン州)でコンピューターサイエンスを勉強していた小池結子さん(大学3年)。Pythonを使ったデータ分析に興味を持ったことで参加してくれました。

レシピの利用状況に関するビッグデータをGoogleのBigQuery(ビッグクエリ)という分析ツールを利用して細かく分析していきます。

ここから「レシピが簡単な割には時間がかかっている」というものなど、特徴あるデータを抽出していきます。レシピは基本、30分程度で仕上げることができる作品をデザインしてチュートリアルにしています。利用パターンをうまく観察していくと、作品作りにどの程度の時間をかけているかを推察することができます。それをもとに、難易度と取り組み時間の乖離を見ていったわけです。結子さんにとっては大学で勉強した統計の知識がここで生かされた形です。

❷ Next.js 13によるWebシステムの構築

Web開発のインターンシップとして参加してくれたのは喜瀬真伍さん。現在はCity University of Seattleの修士2年。高校生の時から米国在住なので英語力はネイティブです。真伍さんには最新のWebプラットフォームを使ったベースシステムの構築に取り組んでもらいました。

Next.jsは最新のWeb開発フレームワークで、まだまだバグの多い技術です。ルーティングの仕組みが大きく変わったバージョン13を導入しての作業でしたが、プラットフォームバグについてはすべて英語で情報を探し当てるしかないのが実情です。 KCCのWebシステムは現在、Laravel/PHPで構築されていますが、今後新しいシステムを作る際には、パフォーマンスや開発効率の面から新しいプラットフォームの利用が重要となってきます。今回のプロジェクトではその足掛かりを築くことができました。

❸ 放プロの参加情報を把握するデータの可視化

そのほか、将来利用できる技術を「テクニカルショーケース」とし開発した機能がいくつかあります。一つは福岡デザイン&テクノロジー専門学校でセキュリティエンジニアリングを勉強している坂島悠太さんが手掛けてくれたデータの可視化です。Next.js内でPrismaというORM技術を利用してデータベースにデータを保存し、そこからいくつかのUIコンポーネントを利用して表やグラフに集計結果を表示させます。

    放プロへの参加データを自動集計し、そこからだれがどの程度継続して来ているかなどをすぐに理解できるようになります。今後、放プロの参加者が増えていくにつれ、手作業で参加状況を把握するのは難しくなってくるので、こうしたデータの可視化は重要になっていきます。

❹ 放プロボランティアをサポートするチャットの可視化

ワシントン大学で情報科学専攻の板垣和馬さん(大学2年)は、チャットの可視化に取り組みました。放プロではoViceというメタバース空間に子どもたちが集まってプログラミングを学びますが、多くの子が音声ではなくテキストチャットでやりとりをします。50人ほどの参加者が矢継ぎ早にチャットを飛ばし始めるとどうしても見逃してしまう発言もあります。

    そこで、チャットデータをPub/Sub(パブサブ)という技術で手元のスマホに別途表示させ、発言内容によって色分けして表示させるほか、クルーや子供たちの発言を音声合成で聞けるようにしました。色と音で知らせることによって、サポートが必要な子の発言などもしっかりキャッチすることができるようになります。

今後は米国大学と連携してプロジェクトを推進

『英語で開発プロジェクト』は今後、City University of Seattleなど大学と連携して学生インターンに定期的に参加してもらいながら進めていく予定です。主な分野は次の3つです。

  • データサイエンス部門 :レシピの利用データを解析することでレシピの品質向上を目指す。

  • Web開発部門: レシピや放プロのシステムを拡充していく プラットフォームはLaravel/PHPおよびNext.js/TypeScript。

  • Webデザイン部門: 子どもたちにアピールするUIデザインを制作する

プロボノエンジニアとして英語のスキルアップを目指す!

『英語で開発プロジェクト』では、作業はすべてリモートで、オンライン会議はoViceのバーチャルスペース、普段のやりとりはDiscrodで英語を使って行います。英語力をつけたいと日ごろから勉強しているエンジニアの方にはうってつけの機会です。特に開発経験のあるプロボノの方に参加していただくことを希望しています。開発作業のサポートだけではなく、米国の大学生に向けてリアルな職場事情や知識を共有していただくこともインターン生にはとても貴重な経験となります。

現在は次の開発経験がある方を募集しています。

  • Laravel/PHPによるWeb開発

  • Next.js/TypeScriptによるWeb開発

  • SQLやBigQueryによるデータ分析

英語は使わないで通常のプロボノとしてお手伝いいただける方も大歓迎です。もし米国インターン生と共同作業をする『英語で開発プロジェクト』にチャレンジしようとお考えの方は、どの程度の英語力が必要か心配になるかもしれません。英語力は基本的な日常会話ができれば、技術面での知識と経験がカバーしてくれるます。Discrodeで英語のやりとりをやったことがある方であれば十分にコミュニケーションができると思います。不安のある方は遠慮なく問い合わせて相談してください。

この記事を拡げて応援する

関連記事

keyboard_arrow_left

一覧へもどる

HOMEkeyboard_arrow_rightKCCジャーナルkeyboard_arrow_right

日米の学生エンジニアがKCCの開発をサポート!

わくわくするテクノロジー体験を
すべての子どもたちへ

子どもたちの笑顔と希望をつくるために、まずはできることから一緒にはじめてみませんか?

寄付で応援する

keyboard_arrow_right