はじめに
このエントリはフィヨルドブートキャンプ Part 2 Advent Calendar 2020 22日目の記事です。
昨日はYuki Watanabeさんの「Gitちんぷんかんぷんな私がGitを学ぶ!そこから学習のコツを見つけるところまで」という記事でした。
フィヨルドブートキャンプのアドベントカレンダーにはPart 1もあります。
さて、僕は2020年2月からフィヨルドブートキャンプでメンターをやっています。
僕がメンターをやってみようと思ったのは、プログラマ界隈で定期的に話題になる「プログラミングスクールって、ちょっとどうなのよ?」というややネガティブな評価について、実際に中の人の立場で体験していろいろ考えてみたいと思ったからです。
フィヨルドのお二人とは以前から知り合いですし、フィヨルドブートキャンプについてはネット上であまり悪い噂を聞かない(むしろポジティブな評価の方が多い)ので、「ちょっと混ぜて〜」的なノリでメンターとして参加してみました。
というわけで、このエントリでは10ヶ月ほどフィヨルドブートキャンプでメンターをやってみた感想をあれこれ書いてみようと思います。
用語や人物関係の整理
フィヨルドブートキャンプをあまりご存じでない方のために、用語や人物関係を少し説明しておきます。
- フィヨルドブートキャンプ
- 株式会社フィヨルドが提供するプログラミングスクール
- フィヨルド
- 株式会社フィヨルドを指す(フィヨルドブートキャンプはプログラミングスクール、フィヨルドは企業)
- 駒形さん
- 株式会社フィヨルドのプログラマであり、フィヨルドブートキャンプのメンターでもある
- 町田さん
- 株式会社フィヨルドのデザイナーであり、フィヨルドブートキャンプのメンターでもある
- メンター
- フィヨルドブートキャンプで生徒の指導にあたるプログラマ。駒形さんと町田さん以外は現役プログラマが副業としてやっている
- 筆者(僕)
- 株式会社ソニックガーデンで本業のRubyプログラマをやりつつ、副業としてフィヨルドブートキャンプでメンターをやっている
【もくじ】
メンターとしてやっていること
提出物のレビュー
フィヨルドブートキャンプでは様々な実践的なプラクティスが用意されています。「Rubyでlsコマンドを再実装する」といったプログラミング問題はメンターがコードレビューをします。
僕も生徒さんが書いたコードをレビューして、ここがどうだ、あそこがどうだ、といろいろ細かいレビューをやってます。
ちなみに僕はテキストで書くのが面倒なので、スクリーンキャスト形式の動画を収録し、口頭で改善点を指摘することが多いですw
日報の確認、およびコメントの記入
フィヨルドブートキャンプの生徒さんは勉強が終わったら毎日日報を提出するように言われています。
メンターにはその日報を確認し、確認済みボタンを押していく業務があります。
日報の中で生徒さんが困りごとを書いていたり、とてもいい話を書いていたりしたときは、コメントを返します。
生徒さんの心の内がわかるような日報は読んでいて興味深く、とても面白いです。
Q&Aの回答
フィヨルドブートキャンプにはスクール内teratail、またはStackOverflowともいうべきQ&Aコーナーがあります。
生徒さんが書き込んだ疑問点に答えられそうな場合は回答を書き込みます。
メンターが回答を書く前に生徒さん同士で疑問を解決してしまうときもあります。
生徒さんが書いた回答もしっかり内容が書けているので、さすがだなー、すばらしいなーと思いながら見ています。
Slackで雑談
フィヨルドブートキャンプには生徒さんやメンターが自由にやりとりできるSlackがあります。
卒業生やアドバイザー(フィヨルドブートキャンプとご縁のある企業のエンジニア)の人たちもSlackに参加しています。
ときには真面目な話を、ときには他愛もない雑談を、みんなでキャッキャウフフと楽しんでいます。
オンラインミートアップへの参加
フィヨルドブートキャンプでは毎月オンラインミートアップを開催しています。
都合が合うときは僕もミートアップに参加して受講生のみなさんとオンラインでお話ししたりしています。
メンターミーティングへの参加
フィヨルドブートキャンプでは毎月メンターだけで集まるメンターミーティングを開催しています。
このミーティング内でKPTふりかえりを行い、今の課題を共有したり、今後の具体的な改善策を考えたりしています。
プラクティスの改善
今のプラクティスの内容だとわかりにくい、必要以上に時間がかかる、といった問題点が見つかった場合は、随時改善策を検討して実施しています。
プラクティス上の問題点は生徒さんの日報に書かれた困りごとなどから発覚することが多いです。
また、数ヶ月に一回、生徒さん向けのアンケート調査を行っているので、そこで共通して挙げられている困りごとが改善対象になるケースもあります。
たとえばフィヨルドブートキャンプには「課題図書を読む」というプラクティスがいくつかあるのですが、単に「本を読みましょう」というだけでは、覚えることがたくさんありすぎてしんどい、という苦痛の声がたくさんありました。
そこで、「なんのために読むのか」「大事なポイントはどこか」「最悪読み飛ばしてもいいポイントはどこか」といった説明を、各課題図書について追記していったりしました。
僕が以前作った「チェリー本の読み方」という動画もその一環で作成したものです。
著者自身が語る「プロを目指す人のためのRuby入門」の効果的な読み方 #チェリー本
メンターとして感じていること
ここから下は実際にメンターをやってみて感じていることをつらつらと書いていきます。
総じてみんなのモチベーションが高い
フィヨルドブートキャンプの生徒さんは真面目でモチベーションが高い人が多いな〜、という印象があります。
また生徒さんのみならず、フィヨルドの駒形さんと町田さんをはじめ、他のメンターやアドバイザーのみなさんもモチベーションが高く、みんないい人です。
みんな真面目でいい人でモチベーションが高いので、フィヨルドブートキャンプは雰囲気と居心地がいいコミュニティになっています。
僕が「とりあえずやってみっか」で始めてみたアドベントカレンダー企画があっという間にPart 2まで埋まってしまったところにも、みんなのモチベーションの高さを感じています😊
男女比が非常に良い
IT業界は男性中心なイメージがありますが、フィヨルドブートキャンプは男女比がほぼ半々ぐらいだと思います。(具体的な数字は知らないのでただの推測ですが)
僕はこの業界にもっと女性が増えてほしいと思っているので、フィヨルドブートキャンプの男女比はとても健全だな〜と思うことがよくあります。
僕は去年、TokyoGirls.rbという女性Rubyプログラマのためのイベントを主催しましたが(今年はコロナ禍の影響で未開催😣)、フィヨルドブートキャンプでメンターをやっていると「女性プログラマをたくさん増やす」という目的はもう達成できたんじゃないかと錯覚してしまいます(苦笑)。
Ruby業界とのつながりが強い
フィヨルドブートキャンプではRuby on Railsをメインに据えて教えています。
「プログラミングスクールといえばどこもかしこもRuby on Rails」という雰囲気なので、これだけだと「よそと同じ」に見えるかもしれませんが、フィヨルドブートキャンプでは「Rubyが大好きな人たち」がRubyやRuby on Railsを教えています。
「Rubyが大好きな人たち」は総じて「Ruby界隈のすごい人たち」なので、RubyやRuby on Railsを教えるプログラミングスクールとしては日本一かもしれません。(注:個人の感想です)
Ruby超入門の著者である五十嵐さんも技術顧問として参加されていますし、先日は角谷さんがブートキャンプ生のために「FJORD BOOT CAMP AS A GATE」という講演を開催してくださったりしました。
"プレスリリース"にbuymeacoffeeへのリンクが付いているの斬新だな… "角谷 信太郎氏による講演 FJORD BOOT CAMP AS A GATE の動画の一般公開が決定" https://t.co/TCuKj4OBLJ #fjordbootcamp
— Kakutani Shintaro (@kakutani) 2020年9月14日
他にもudzuraさんやjune29さんなど、Ruby界隈ではお馴染みの面々がSlackやミートアップに参加してくれたりしています。
あ、そうそう、僕も「プロを目指す人のためのRuby入門(通称・チェリー本)」の著者なので、「まあまあすごい人」にカウントしてもいいかも(苦笑)。
そんなこんなで、Rubyを学ぶことにおいては、世にたくさんある「Rubyを使っているスクール」の中でもダントツに優れた学習環境が用意されているのではないでしょうか。(注:個人の感想です)
メンター陣が優秀
こう書いちゃうと自画自賛になっちゃいますが、フィヨルドブートキャンプはメンター陣がとても優秀です。
だって、フィヨルドブートキャンプは現役のRubyエンジニアが教えてくれるからです!
・・・と書いちゃうと、IT業界の人は「現役エンジニア?あー、あれね……(意味深)」という反応を示しそうですが、フィヨルドブートキャンプのメンターは正真正銘の現役エンジニアです。はい。
僕もそうですし、他のメンターもみんな、長年Rubyのコードを書いてご飯を食べてきている人たちです。
フィヨルドブートキャンプのメンターはみんな、本職の仕事(もちろんコードを書く仕事です)を持ちつつ、副業としてメンター業をやっています。
ちゃんと開発の現場の仕事を知っているので、開発の現場に即した実戦的な知見を提供してくれます。
スクラム開発のプラクティスがとても実践的
フィヨルドブートキャンプのカリキュラムの後半には、スクラム開発というプラクティスがあります。
これはフィヨルドブートキャンプ内で実際に利用している、Ruby on Rails製のEラーニングシステムを題材にして、実際のissueをスクラム形式で開発するというものです。
対応するissueも「ここに新機能を追加したい」「この不具合を直してほしい」というリアルなissueそのものですし、生徒さんがそのissueを対応すればそれがそのまま自分が使っているEラーニングシステムに反映されます。
コードの規模もそれなりに大きいですし、フロントエンドにはVue.jsを使ったりしているので、あたかも新人として開発の現場に配属されたような気分が味わえます。
個人的にはこの超実践的なプラクティスが、フィヨルドブートキャンプのプログラミングスクールとしての大きな魅力の一つだと考えています。
月謝制なのが良心的
フィヨルドブートキャンプは入会金もなく、まとめて大金を用意する必要もない、月謝制です。
「自分にはちょっと合わないな」「入ってみたけど全然時間がなくて続けられなかった」と思ったら、いつでも退会できます。
最初にどーんと大金を払った方が自分に対するプレッシャーになる、という人もいるかもしれませんが、そうは言っても実際にやってみたら「あれれ??」と思うこともあるはずなので、月謝制になっているのはとても良心的だなと思います。
退会されるとちょっと寂しい
月謝制ゆえに、途中で退会してしまう生徒さんもときどきいます。
退会した生徒さんの名前を見て「あー、この人、いっぱいコードレビューしたのにな……」と切ない気持ちになることも多々あります。
生徒さんにもそれぞれ事情があるので、ある程度クールに割り切る必要がありますが、それでもやっぱり僕も人の子なので、「○○さんが退会しました」という知らせを聞くのはちょっと寂しいものがあります😢
生徒さんの就職が決まると嬉しい
フィヨルドブートキャンプの生徒さんの多くは、プログラマとして就職するためにフィヨルドブートキャンプに入ってきます。(一部にはそうでない生徒さんもおられますが)
なので、「○○さんの内定が決まりました!という知らせを聞くと、「おお〜、おめでとう!!🎉🎉🎉」という気持ちになります。
そのあともたまに「就職後も楽しくやってます」という報告を聞いたりすると、「うんうん、良かったね〜」と、どこかのお母さんみたいな気持ちになります。
アフィリエイト広告を使っていないところが好き
プログラミングスクールをネットで検索すると、かなりの高確率でアフィリエイトブログに遭遇します。
中には実際にそのスクールを体験した上でアフィリエイトリンクを付けている人もいるのかもしれませんが、僕が見かけるのはホームページに載っている表面的な情報を集めて、「ここがオススメ!」みたいなランキングを勝手に付けているブログばかりです。
その点、フィヨルドブートキャンプは今のところアフィリエイト広告を使っていないので、僕は「誠実なプログラミングスクールだなあ」と思っています。
ただ、その代わりネット上の露出が少なく、「知る人ぞ知るプログラミングスクール」みたいになっている点がちょっと問題です。
この点については、もう少し状況を改善するためのマーケティング施策を打っていこう、という話をメンター内でしています。
(補足)
アフィリエイト広告を利用している=すべて不誠実なスクール、と言いたいわけではありません。ただ、アフィリエイト広告を見るとその情報が真実なのか、成果報酬だけを狙ったサクラ情報なのか見分けが付かなくなるので、僕はそのブログ上に並んだ評価を素直に受け入れられなくなります。
メンターの僕もいろいろ勉強になる
かれこれ15年以上、プログラマとして働いてきた僕ですが、生徒さんから出た何気ない質問に「えっ、そう言われたらたしかに変ですね。考えたこともなかったけど」みたいに思うことがあります。
そういった内容を調べて、答えが見つかって、「なるほど〜!勉強になった!!」と思ったことが何度もあります。
他にもフィヨルドブートキャンプの生徒さんがRubyの仕様に関する質問をQuoraに投稿して、それにMatzさんが答えてくれる、ということもありました。
僕も普通に知らなかった話で「へ〜、そうなんだ!!」と思ったことがあります。
そんなわけで、メンターである僕もときどき生徒さんから学ばせてもらっております。ありがたや〜🙏
質を上げるとコストがかかる、でも質は下げたくない、というジレンマ
提出物のレビューをしたりするときは、僕はついつい細かいところまで見てしまいます。
なんかイヤなんですよね。
「え、フィヨルドブートキャンプ出てるんでしょ?あの伊藤さんに教えてもらってるのに、そんなことも習わなかったの?」
みたいなツッコミを就職したあとに受けたりしたらどうしよう、なんて想像しちゃうと。
なので、「僕の中では最低限これぐらいはできてほしい」というハードルがあって、そこをクリアできていないと、ついついツッコミを入れてしまいます。
ただ、そうするとすごく時間がかかります。
僕はメンター業にかける時間を毎日30分から1時間ぐらいに制限しているので、1人か2人ぶんの提出物をレビューするとその日はそれで終わり、ということが多々あります。
ビジネスの観点から言えば、もうちょっと1人あたりのレビュー時間を短く抑えて数をこなした方がいいんでしょうけど、性格上なかなかそれができません😅
他のメンターも僕と同じような悩みを抱えているようです。
今のところは駒形さんと町田さんからは「今のペースでも大丈夫です」と言われているので、とりあえず質重視で提出物のレビューをしています。
いやー、でもなかなか悩ましい問題ですね、これは。
本当に900時間いるの?問題
フィヨルドブートキャンプでは「プラス戦力として就職できるエンジニア」を目指します。
「プラス戦力」と「マイナス戦力」の定義は駒形さんのブログで説明されています。
「多少の教育コストはかかるけど、レビューをしっかりやればトータルで見れば助かる」
このレベルがプラス戦力です。「Railsのコードは書かせられないけどテスト仕様書を書いててもらおう」
Railsエンジニアとして就職できるレベルとは - komagataのブログ
こんな工夫が必要な場合、マイナス戦力です 😅
そして卒業生が「プラス戦力」となるために、かなりしっかりとしたプラクティスを用意しています。
全プラクティスを修了するためには、人によって大きく前後することはあるものの、一つの目安として「900時間ぐらいの学習時間が必要」と言われています。
Q. 学習を終えるのにどれくらいの時間がかかりますか?
FAQ | FJORD BOOT CAMP(フィヨルドブートキャンプ)
A. かかる時間は人それぞれですが、プログラム経験が全くない人の場合、大体900時間弱の時間がかかります。
生徒さんの中には学習時間が1000時間を超えている人もよく見かけます。
入念にしっかり学習するので、カリキュラムをすべて修了した生徒さんはプラス戦力になりますし、就職先も決まりやすいです。
ですが、もう少し短い時間でプラス戦力になれる方法はないかな〜と漠然と思ったりします。
全プラクティスを完走するまでめちゃくちゃ時間がかかるし、カリキュラムもそれなりにハードなので、それが途中退会してしまう一因になってるんじゃないかな〜、なんて思ったりもしますし。
「1ヶ月でエンジニア転職!」みたいな話は極端ですが、短すぎる「1ヶ月」と長すぎる「900時間」の間に、「もうちょっと効率よく○○時間でプラス戦力になれる勉強方法」が隠れているのでは?ということを考えたりします。
が、具体的な方法についてはまだノーアイデアです・・・😣
関東圏以外の就職先が見つかりにくい問題
フィヨルドブートキャンプはRailsエンジニアを育成しているので、就職先もRailsを使っている企業さんが中心になります。
ただ、Railsを使っている企業さんはやっぱり東京が中心です。
ですので、関東圏に住んでいる人とそれ以外の人を比べると、やはり就職のしやすさが変わってくる感は否めません。(僕も兵庫県に住んでいるので、その問題は肌で良く感じています)
もちろん非関東圏の就職先が皆無というわけではないですし、最近は最初からリモートで就職してしまう人もいます。リモート就職であれば住んでいる地域は関係なくなります。
格差がゼロになることはないかもしれませんが、そういった努力や工夫でその差が少なくなっていくといいなあ、と思っています。
改善のアイデアはたくさん出てくるけど、時間が足りない問題
毎月やっているメンターミーティングでふりかえりをすると、たくさんの改善ポイントが見つかります。
メンター全員で「そうだよね、ここがボトルネックだよね、改善したいね」という話はするのですが、いかんせんメンターも限られた時間の中でメンター業をやっているので、出てきたアイデアを実行に移す時間がなかなか取れません。
費用対効果の高そうな施策は優先順位を上げて取り組んでいるので、日々ちょっとずつは改善していってるのですが、それでもまだまだ時間が足りないと感じています。
とはいえ、「あれもやりたい、これもやりたい」と言ってるだけではいくら時間があっても足りないので、メンター内では「あえて、やらないことを決めていくのも大事なことなのでは」という意見もあります。
これもたしかにそのとおりなので、限られたリソースをうまく使う方法を日々考える必要があるよなーと思っています。
まとめ:フィヨルドブートキャンプはスクールというよりコミュニティっぽい
というわけで、このエントリでは僕がフィヨルドブートキャンプのメンターとしてやっていることと、感じていることをあれこれまとめてみました。
少しネガティブな感想も混じってはいますが、「ネガティブ=ダメ」というよりも、僕としては「これから改善していけばいいよねー」という気持ちでいます。
ちなみにフィヨルドブートキャンプはいちおう「プログラミングスクールのひとつ」という立ち位置になると思うのですが、実際中に入ってみるとあまりスクールっぽくないんですよね。
講師がいて、生徒がいて、教材があって、テストがあって・・・みたいな学校とはちがって、すごくコミュニティっぽいです。
じゃあ、「コミュニティってなんやねん」と聞かれると説明が難しいのですが、メンターも生徒さんもみんなで仲良くわいわいプログラミングの勉強をする集まり、みたいな感じがします。
id:ksmxxxxxxさんが先日書いてくれたアドベントカレンダーの記事が、うまくコミュニティっぽさを説明してくれている気がするので引用します。
オンラインスクールですが、授業とかレッスンみたいなものはありません。
各自でカリキュラムに取り組んで、わからないことがあればまず自分で調べて、わからなければSlackやオンライン上に質問したりするシステムがあるのでそこで質問してみたり、毎日夕方あたりにDiscordで雑談会を開いているのでそこで質問したりします。
つまり、学習はすべて自習ベースです。講師の方がいて、手取り足取り0から100まで教えてもらうという感じではないです。
(中略)
学習中はもくもくと進めますが、詰まったり、発見があったりするとカジュアルに「〇〇がわからんけど、これってどういうことなんだろう」とか独り言をつぶやいています。
プログラミング学習サービスに参加して100日経過した話 - improve.design
つぶやくことで、メンターさんや他の学習している生徒さんが教えてくれたりなどしてくれます。
図書館に集まって、各自自習してるけど、わからないことあったりしてぼそっと呟くと、一緒に学習してる人が気がついてわかる範囲であれば「ここはねぇ」って感じで教えてくれる…みたいな感じです。
カリキュラムは少しハードですが、メンター陣は優しいですし、生徒さん同士の仲もよいので、このノリや雰囲気が合う人は楽しく勉強できるかもしれません。
最初の3日間は無料でお試しできるので、興味を持った方はちょっと様子を覗いてみてください。
って最後で急にステマっぽくなってしまいましたが(汗)、僕の感想は以上です。
最後まで読んでいただき、どうもありがとうございました!