見出し画像

コード経験ほぼ無し人間が無料コーディングスクールの入試受けてみた

「未経験からプログラマー」「未経験からエンジニア」…インターネットで日々情報を貪る狂人の皆様であれば、一度はこのような記事や投稿を見かけたことがあるのではないか。これらを検索すると、トップに「未経験からプログラマー/エンジニアはやめろ」という逆張り記事まで多数ヒットするほどで、それほど新規にプログラマーやエンジニアになりたいと考える人々がそれだけ多く存在するーーつまりはホットなトピックということだろう。

今回は「おれもそんな話題に乗って楽してバズりてえ…」ということで、実際に未経験の一人としてプログラマー/エンジニア目指して、コーディングスクールkood/Jõhviの入試を受けてみた。

kood/Jõhviとは?

kood/Jõhviは、自己開発や再訓練の機会を探しているあらゆる年齢の大人向けに作られた、エストニアの現代的で国際的なコーディングスクールです。

About kood/ - kood/Jõhvi

この学校はIT分野の発達で有名なエストニアで2021年に発足したばかりの、2年間のフルタイムプログラムで構成された完全無料のコーディングスクールだ。教育はクラウドベースの学習プラットフォームで行われ、学生は基本的にリモートでも勉強することができる

この授業料無料というところもすごいが、なんと教師ゼロ授業ゼロというところがウリになっている。それでどうやって教育を行っているかというと、ざっくりといえば「課題やチームワークをプラットフォーム上で配信・管理し、学生の自主学習を促進する」という形態をとっているのだ。この詳細については、後述する入試と体験期間を兼ねたSelection Sprintについての筆者のレビューも参考にしていただきたい。なお引用部分の紹介で国際的な〜と名打たれている通り、教材などは全て英語であり、現地語であるエストニア語の知識は必要ない。

このように基本的に入学後のカリキュラムは一部を除きリモートでこなすことが可能だが、エストニア東部の地方都市Jõhviヨフヴィにはkood/Jõhviの真新しい校舎もある。学校の公式ウェブサイトでも、リモート学習可能としつつも自習モチベーションを保つためとして、この校舎内ドミトリーでの学生生活も強く推奨されている。実際のところ学校運営側としては、地域に学生を呼び込むことによる地方の活性化も目的としているようだ。なお入試となる3週間のSelection Sprintのうち最初の2週間は実地での参加が求められるため、入学前に校舎や校舎のあるヨフヴィの様子を確認することができる(この際の宿泊先は別の場所)。

ここまでの紹介で、「kood/Jõhvi興味ある!」と思って頂けただろうか。…もちろんエストニアの回し者いち居住者の筆者としては、ぜひ多くの日本人にエストニアでの移住・就業をおすすめしていきたい所存である。この記事を日本語で書いているのもそのためだ。

しかしながら、大前提として2023/06/30現在kood/Jõhviでは学生をエストニア国内の在住許可を持つ人に限っており、入学者への滞在許可の発行自体はしていない。この学校自体の設立目的の一つとして「エストニア国内の将来的なIT人材不足への対策」があり、現地サポート企業との提携を通じ学生の就職を強く後押ししているようなので、妥当な方針ではある。

…というわけで、既にエストニアに住んでいる日本人の方はもちろん、将来海外で生活することを考えている方も、なんとかエストニアの滞在許可を手に入れて、こちらの学校に来てみてはどうだろうか(無茶振り)。

その他詳細は以下の公式ページを確認して欲しい。こちらからは詳細情報のほか過去の学生の体験記や、入学時期やイベントのお知らせを配信するニュースレターの登録も可能。学校自体の内容や情報はこの記事執筆後も当然アップデートされる可能性があるので、本格的に入学を希望される方は常に公式の最新情報を参照するようお願いしたい

筆者の経歴〜入試に至るまで

ここでは「コード経験ほぼ無し未経験」である筆者の簡単なプロフィールと、そんなヤツがコーディングスクールに入学しようと思うようになった経緯を軽くご紹介しよう。

そもそもこちらの学校を知ったきっかけは、ご存じ(?)私とお友達のろうあ氏で毎年発行している同人誌「JPEEエストニア・アンソロジー」のvol.03への寄稿者による投稿だ。JPEEではエストニア旅行記から日常エッセイ、専門家による本格的な記事まで、文章や漫画など様々な形式でエストニアに関する話題をお届けしている。興味のある方は、以下のリンクより電子版/印刷版ともに絶賛販売中なので、是非チェックしてみて欲しい。

この「JPEEエストニア・アンソロジーvol.03」のKazuuukiさんによる記事「エストニアに長期滞在予定でソフトウェア開発に興味がある人へ」で、このkood/Jõhviが紹介されている。Kazuuukiさん本人は元々フロントエンドエンジニア経験があったようだが、kood/Jõhvi自体は未経験者でもこなせる内容だろう、と記述していた。kood/Jõhvi公式でも、「事前のコーディング経験必要なし」というのははっきりと記載されている(厳密には応募要件は「18歳以上であり、高校同等程度の教育を修了していること」のみ)。ということで、筆者は思ったのである。「JPEE編集者として、寄稿していただいたネタを実地で確かめてみればいいのでは?(来年のJPEEのネタにしよう)」と…。

筆者しんぷぅ自身は、エストニア在住のニートフリーランスのグラフィックデザイナー兼翻訳家兼日本語教師である。…要するに、できる仕事はなんでも受けちゃうということだ。定職につく能力がないので仕方なくこうなったのであり、「北欧でフリーランス」なんて一見優雅な響きだが残念ながら全くキラキラしていない、俺たちに明日はない社会の消耗品こと現代の傭兵なのである。

…ということは置いておいて、つまり私に本格的なプログラミングの経験はない。かねてより興味はあったので、こちらのオープンソース講座を中心としたコンピュータサイエンスの学習カリキュラムOSSU - Open Source Society Universityにて、最初の数カリキュラムはざっとやったことがあった。しかし、このカリキュラム自体はとても良いものだと思うものの、この完全独習かつ締切も特にない状態での独学を完了させることに、いささか無理みを感じていたところでもあった。

そこに飛んで火に入る(?)kood/Jõhviというわけである。幸い自宅警備員在宅フリーランスなので、2週間現地滞在が必須のSelection Sprintにも都合はつく。引きこもり大好きで、長いことろうあ氏か同居のパートナーや数人の飲み友達以外の人間とほぼ接触していなかった私にとって、「他人と交流しつつ協力して進めるコーディングキャンプ」というSelection Sprintにはある意味「大丈夫か?」感しかなかったが、いくら向上心ゼロの一生寝て過ごしたい人間とはいえ、まあ人生で一回くらい努力とかしてみてもいいか…という気になったのである。奇跡だな。

オンラインテスト

ここまでで何度か言及しているが、当然このkood/Jõhviには「入試」的なものがある。なおこれらは一般的な日本の高校・大学の入試とは全く異なり、事前知識よりも地頭的思考能力、また学習意欲を測るためのものという印象を受けた。その第一弾となるのが、このオンラインテストである。

このオンラインテストは、kood/Jõhviのカリキュラム全体を通じて使われるプラットフォームである01 eduを通して行われる。これ自体はkood/Jõhvi独自のものではなく、他にも色々な学校でこのプラットフォームを用いて同様のテストやカリキュラムの配信・管理を行なっているようである。

テストは全部で1時間半で、大まかに「5分間の短期記憶テスト」と「残り時間一杯の思考力テスト」で構成されている。どれもビジュアルで感覚的に理解できるゲームのようなもので、パソコンがネットに繋がっていさえすれば取り組める。英語力も関係なく、カンニングしたりできるような内容のものでもない。思考力テストの方はループや条件分岐を使ったパズル的なもので、ちょっとコーディングっぽいかも。このテストは全部で3回挑戦できる(申し込み時のアカウントは本人IDと紐付けのため、何度もアカウントを作り直して挑戦することはできないと思われる)。

なおこのオンラインテストの合格しきい値については全くわからなかったが、筆者は思考力テストで最初の問題からいきなり解く以前に操作方法と目的すらまるまる30分ほど分からず、「まさかここで終わるwwww ?!」と思ったりした。が、その挑戦1回目で普通にパスしたので、そんなに厳しい基準ではないんじゃないかなと思う。

なお、このテストに関しては現在進行形で新しい内容を開発中ということで、将来的に全く違う内容になっている可能性もあることをご留意いただきたい。ただし、その場合でも問われる能力「論理的な思考と記憶」については同様と思われる。

Selection Sprint

前述のオンラインテストに合格した場合、入試兼学校体験となるSelection Sprintへ参加することができる。これは時期を分けて年に4回開催されていて、どれも内容は同じ(だと思う。細かい課題内容は変わったりするかもしれないが)である。このうちどれか一つに参加し、パスすることが最終的なkood/Jõhvi入学条件だ。Selection Sprintは3週間のうちはじめの2週間はヨフヴィでの学校滞在が必須、最後の1週間のみリモートでの参加となっている。なお2週間のヨフヴィ滞在期間の宿泊場所は、ヨフヴィからシャトルバス(無料)で30分程度のSillamäeという場所にあるドミトリーを学校側が無料で提供してくれる。

校舎内の学習スペース風景

実際のプログラミング課題については、再度01 eduを使うことになる。各自専用のgiteaアカウントを作成し、そこに課題ごとに完成したプログラムをアップロード、01 eduを通してテストコードをそのプログラムで試して正解のアウトプットが出るとその課題はクリア、という流れだ。例えばループや条件節などそれぞれテーマに沿ったセットであるクエストに、簡単な課題から高難度のものまでが順に複数組み込まれている。1つ目の課題をクリアすると2つ目の課題に挑戦できるという仕様であり、スキップしたりはできない仕様だ。このクエストは毎日ではないが連日新しいものが解放され、だいたいどのクエストも2日前後のタイムリミット内にクリアしないと、XPと呼ばれる評価ポイントが得られない。このXPは高難度タスクほどたくさん手に入るが、正直毎週金曜に行われる試験で配当されるXP数が段違いに破格なので、どれほど数値自体を気にする意味があるのかは微妙なところではある。また試験終了後の週末にはraidと呼ばれる共同作業タスクが課され、ランダムで割り振られた他の二人の参加者と一緒に共通のタスクに挑戦することになる。

このSelection Sprint課題の全体的な感想としては、未経験OKとは言いつつも本当に完全な未経験、オンラインの無料コーディングコースなども全く受けたことがない状態で挑戦すると、少なくとも精神的にはかなり厳しいのでは?という印象を受けた。公式でもSelection Sprintの参加者は15%ドロップアウトするとアナウンスされている通り結構な人数が途中でやめていたので、オンラインテストにパスした時点で、ネットのプログラミング講座なんかを受けて考え方などをある程度先取りしておいた方が気持ちの健康にはいいかもしれない。毎週試験までのスケジュールが割と厳しいので、完全にゼロから始めると覚えることが多くて結構焦ると思う。

なお合格後の公式アナウンスでも、具体的な合格閾値などは公表されていない。ただし合格条件に「試験のタスク達成度、共同作業raidへの積極的な参加と課題提出、必須課題の完了」とあったので、各タスク中のRequiredのものはしっかりこなしたうえで、試験やraidでより多くの点を取ることが求められるようだ。とはいえSprintの最中には周りの学生との話の中で、おそらく獲得ポイントとなるXPが最終的にあまり振るわなくても、最後まで参加して少しでも試験で解答していれば合格になるのではないか、という話は出ていた。過去の受験者が試験の正答1問のみで合格したというのも聞いたし、やはりある程度スコアだけでなくやる気なんかを見ているのではないかと思う。

Selection Sprint内容もうちょい詳細

通常課題のクエストはかなり曲者だ。一応テーマごとのチュートリアル動画が用意されているのだが、プログラミング未経験者がこれをなぞるようにやってクリアできるのはせいぜい最初の数問だけである。ひどい時はこれを見ても何が起きているのか全然わからないだろう。つまり、大半の課題をクリアするには、自力でネットで調べるなり周りの人に聞くしかないということである。取り組む課題は参加者皆同じで、この参加者の中には既にプロのプログラマとしてバリバリ活動している人もいるので(筆者は正直「何で来たの?」と思ってしまったが笑)、どうしてもという時は素直に他の人に教えを乞うのが一番である。とはいえなかなか人と話すのが苦手…という方も少なくないだろうが、こういう優秀な人の中にはなぜか自主的にあちこちうろうろしては、目が合うと「調子どう?」と声をかけてくれる人もいる。また参加者は全員Selection Sprint用のDiscordサーバー加入が必須のため、そこでチャットで質問する人も結構いた。直接喋るのがきつい人は、チャットを活用するのも一つの手である。

こうして自主的に調べること、参加者同士でお互いにヘルプし合うこと、この二つを促進し、各目的に対して自主学習をさせる、というのが学校側の意図であったと思う。…ところがここで、まさに今年に入ってから大トリックスターが現れたのである;今やネットでは言わずと知れた、ChatGPTだ。課題文とテストケースをぶちこみ、コードを書いてくれと言えばコードを書いてくれる。そしてそれをコピペしてしまえば、見事課題クリアである。何も理解する必要はない。入試ブレイカーだ。

…まあ、はっきり言えば課題の内容によってはそう簡単にはいかない(ChatGPT3は、だが…)。私も結局結構使ってしまったものの(というか多分ほぼ全員大なり小なり使っていたと思う)、特に高難度課題になると上手くいかないことも多かった。その場合、ChatGPTを使いつつも自分で試行錯誤しながら修正したり、人に聞く方がよいこともある。これからの実務現場でもChatGPT含むAIを使うのは当たり前になっていくだろうから、それを使うことは全く悪いことではないだろう。

だが忘れてはならないのは、1週目と2週目の金曜に行われる試験では、自分の知識以外の情報は利用できないことである。そのまま自分のラップトップで試験を受けるのだが、画面切り替えなどをしてはならず、当然スマホを見たりするのも厳禁である。実際筆者が試験を受けていた時、カンニング行為をしてその場で失格になっている人がいた。

試験問題は、クエストタスク同様低難度から先に進めば進むほど段々難しくなり、前のものをクリアしないと次に挑戦できない仕様である。なおこの試験問題内容自体は、通常課題と違い参加者ごとにランダムであった。筆者の感覚としては、1週目と2週目では難しいものでも概ね通常の中難度クエストタスクと同程度の内容で、高難度課題のものは出題されない印象であった。なお3週目についてはかなり難しいものも出ていたが、3週目は制限なしで何を使ってもいいので割とどうにでもなると思う。…何しろ3週目では、試験中にDiscordで解答リストがさらりと回ってきたからだ。今となっては、「そういう時に使える人脈を作っておくことの重要性」ということだったのではないか…と思う。

1週目と2週目の試験対策としては、通常クエストでChatGPTを使ってコピペしたとしても、適度に自分でもコードを書く練習を入れた方がよいということである。筆者がやっていたのは、時間も有限なのであまりにも詰まったらChatGPTなり人に聞くなりしてしまってもいいが、例えば次の課題では前の課題の正答を参考にしつつ、できるところまで自分で実装してみる、というのである。難易度別とはいえ各クエストはテーマごとに一連の流れになっているため、前課題を利用して次の課題が解ける場合も結構多かった。こうして繰り返し使われるコードを自力で書けるようにしておくことで、試験までに基本的な考え方が自然と身につきやすい。既に述べたようにスケジュールが結構厳しく、元々余裕のある人以外は試験前に勉強する時間もおそらくあまり取れないため、課題をやりつつ内容が身に付くように勉強するのがよいと思う。

共同作業raidも、全員でやろうが誰か一人にやらせようがネットで解法をコピペしようがChatGPTにすべてお任せしようが自由である。ただしこちらは提出後にメンバー全員で「面談」を受けるため、自分で書いたかどうかは置いておいて、少なくとも提出したコードの内容を口頭で説明できるようにはしておかなければならない。実際に、きちんと動作するコードを提出したにも関わらず面談でそのコードをうまく説明できず、クリア不可とされてしまったチームもいるようである。

あとで聞いた話だが、今回ChatGPTが登場したことで、学校側では評価重点を試験成績の方にかなり切り替えたそうだ。恐らくChatGPTコピペで通常課題に関しては大半の人が高得点を取るようになってしまい、差別化が難しかったのだろう。ということで、今後のSelection Sprintでも1週目と2週目の自力試験の結果を重視して合格判定が行われるのではないか、と予想される。何しろ3週目は正直学校側黙認でのリークだと思うが(多分あの解答リスト自体が現kood/Jõhvi学生から流れてきたものである。元から友達が学生の人もいたし、現学生もそもそも普通に同じ校舎を使っているので仲良くなろうと思えばなれる)、あれではスコア差別化は難しいだろう。

なおkood/Jõhviのカリキュラムや各種コミュニケーションは当然ながら全て英語で行われるため、英語が全くできない人には流石に厳しい内容だとは思う。しかし参加者は基本的に協力的かつ寛容で、全員が共通の課題に取り組むために自然と話すトピックも発生してくるこの状況を、私はむしろ「英語を喋る練習をしたり、色々な人と英語で交流する訓練にはうってつけの場所だな」と感じた。

おわりに

申し込み手続きや学校のカリキュラム、詳細や最新情報などに関しては、再度になるが以下の公式ページを確認していただきたい。

なお毎年年末に出している同人誌JPEEエストニアアンソロジーの次号vol.4には、9月に学校が開始してからの感想なども載せたいと思っているので、そちらもチェックしてほしい。また今後のkood/Jõhviでの勉強の記録などもQiitaやGitHubに書いていく予定。

よろしくね

※以下課金可能ですが、内容は含まれておりません。
応援してくれる方は投げ銭していただけると大変ありがたいです。

ここから先は

0字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?