猫Rails

ねこー🐈

プログラミングスクールの理想と現実。あとフィヨルドブートキャンプについて

Railsのプログラミングスクールについての話です。あと自分はフィヨルドブートキャンプの卒業生で、バイアスかかってるかもなので差し引いてお読みください。)

プログラミングスクールについてあまりいい話を聞きません。

炎上系のプログラミングスクールだけでなく、その他のプログラミングスクールについてもネガティブな話を結構聞きます。

正直自分もプログラミングスクール業界には良いイメージはないのですが、とはいえちゃんと探せば良いプログラミングスクールも(少しだけ)存在します。この記事はそんなお話です。

プログラミングスクールの理想と現実

プログラミングスクールの問題点は明確で、プログラミングスクールを卒業しても現場で働けるだけの実力がつかないということです。

こんなイメージです。

プログラミングスクールの理想と現実(字が下手すぎてすみません🙇)

プログラミングスクールではRails周りの基礎を一通り勉強して、Webサービスを個人開発して卒業のところが多いかなーと思います。でもこれだと現場で働けるレベルまで届かないです。図の現場力に相当する能力が不足しています。具体的には

これらの能力を身につけるには技術書を読むだけだと足りません。実際に優秀なRailsプログラマと一緒に開発したり、コードをレビューしてもらったり、ペアプロしたりしながら、実践とフィードバックを繰り返すことで日々少しずつ成長していきます。

フィヨルドブートキャンプのメンターの @komagata さんが、詳しく書いているのでこちらおすすめですー。 -> Railsエンジニアとして就職できるレベルとは - komagataのブログ

現場で働けるだけの実力がつかないので、就職もなかなか難しいです。フィヨルド以外のプログラミングスクールの方とお話させてもらう機会がありましたが、みなさん就職に苦戦されてるようでした。

プログラミングスクールは良いメンターを雇えない問題

現場力を鍛えるためにはプログラミングスクールは優秀なメンターを雇う必要があるのですが、それはとても難しいです。優秀なメンターは優秀なプログラマなので、高すぎるし引く手あまたなのです。優秀なメンターを雇えないので、プログラミングスクールを卒業したばかりの現場未経験の方をメンターとして雇うような事態が起きてしまいます。(そのレベルでも基礎であれば教えられるので必ずしも悪いことではないと思います。ただし現場レベルのフィードバックは得られませんし、現場力を鍛えるにはそれがとても大切です。)

フィヨルドブートキャンプなら、現場力を身に付けられるよ

フィヨルドブートキャンプは上記の問題を解決しています。

実際に現役のエンジニア/デザイナーである @komagata さんと @machida さんの二人が直接メンターになってくれます。Rubyコミュニティで有名な二人なので知っている方も多いと思います。お二人は他の仕事もしながら、フィヨルドの会社経営もしながら、メンターもしてくれます。どう時間を作っているの?スーパーマンです。

フィヨルドブートキャンプではBootcampという学習状況や日報を管理する独自のRails製サービスを利用しています。基礎の学習が一通り終わると、このサービスを二人と一緒に開発していくことになります。実際に今まで自分が使っていたサービスを開発する形になるので、スムーズに開発に入れます。この開発の中でスクラムを組んだり、ペアプロしたり、Github上でレビューしてもらったりすることで、現場力を鍛えて行くことが出来ます。

レビューしてもらえるのはコードだけではないです。Webサービスの個人開発のプラクティスでは、エレベーターピッチやペーパープロトタイプ、Webサービスのデザインなんかもレビューして貰えます。こちらはデザイナーの @machida さんが主にレビューしてくれます。この記事を読んでもらえればどんな感じでレビューしてもらえるか、雰囲気がわかると思います。 -> プログラミングスクールで、「リアルバーチャルYoutuber」というWebサービスを作りました - 猫Rails

あと、例えばフィヨルドブートキャンプには「lsコマンドをRubyで作ってください」という課題があります。これはただ動くだけでは駄目で、Rubyのコードとしてリーダブルでメンテナンスしやすいコードを書く必要があります。この問題に答えはありません。そこで生徒さん達は、参考図書のオブジェクト指向設計実践ガイドを読んだり、@komagataさんに何度もレビューしてもらったり、(課題クリア後に)他の生徒さんのコードを読んだりしながら、少しづつRubyオブジェクト指向について学んでいきます。こういった答えがない問題を自分で調査したり考えたりしながら解決していくことでも現場力が鍛えられていきます。

フィヨルドブートキャンプの良いところ

上記の「強いメンターにより、現場力が鍛えられる」というのが一番の魅力です。他にも色々良い所があるので列挙しておきます。

  • 3万円/月で良心的
  • 卒業生は皆さん有名な会社に就職されてる(それくらい鍛えられる、というのと二人の人脈が広いというのもあるかも)
  • リモートでできる(自分は田舎に住んでいるので、完全にリモートのみで卒業しました)
  • ローカルでもできる(可能ならフィヨルドさんのオフィスに行ったほうが良いと思います。Slackで質問するより直で聞くほうが便利だし、他の生徒さんもいてやる気も出ます)
  • 特に強制がなく、自分のペースで進められる(人によってはデメリットかも)
  • 日報や学習時間の草など、学習を継続するよう促す仕組みがある

この草を絶やさないようにしてたら、3ヶ月休みなく継続できた🐈

フィヨルドブートキャンプの悪いところ

正直ほとんどないのですが、公平性のために悪いところもあげておきます。

「基礎を手取り足取り教えてもらえない」、というところは人によっては辛いかもです。

たぶんこれは「現場力が鍛えられる」の裏返しです。現場力を鍛えるためには、未知の問題に出会った時に自分で解決する能力を鍛えていく必要があります。そのためフィヨルドブートキャンプの課題は、自分で調査して考えることを要求する、答えのない課題が多いです。なのでWebを調べたり、他の生徒さんの日報を調べたりしながら、自分の頭で考えて解決していきます。この調査・思考自体が大事な訓練なのですが、未経験者の場合は手取り足取り教えて欲しいという方もいると思います。そういう方にはあんまり向いていないかもーと思います。

かなりハードなカリキュラムになりますし、実際フィヨルドブートキャンプを卒業できる人は少ないです。(だからこそ卒業生は皆さん優秀だし、有名な会社さんに就職できるのですが。)

個人的には基礎は独学で済ませて、プログラミングスクールでは現場力を鍛えるべきだと思うので、このやり方は正しいと思います。プログラマとしての適正を早めに判断できるという利点もあります。とはいえ早めに脱落してしまう人が結構多いので、未経験者にはもうちょっとサポートがあってもいいのかなーとも思います。

これは悪いところというより思想の問題かもしれないです。

プログラミング未経験でフィヨルドブートキャンプに参加される方は、Progateやドットインストール等で先に基礎を勉強しておくか、並行して勉強していくのをおすすめします。ただカリキュラム的には未経験でも進められるように必要なプラクティスを網羅しているので、やる気がある方ならフィヨルドブートキャンプだけでも問題ないです。

フィヨルドブートキャンプに向いている人

「最低限のプログラミングの基礎知識があって、現場力を鍛えたい方」です。具体的には

  • Progateやドットインストール等で基礎を独学済みの方
  • 他のプログラミングスクールを卒業したけど就職できなかった方
  • SIerからWeb系に転職したい方
  • 現役プログラマで、Ruby/Railsをがっつり勉強したい方

意外かもですが、現役のプログラマが参加するのはめっちゃ有りだと思っています。自分はRailsの実務経験3~4年で参加しましたが、それでも学ぶことが大量にありました。(自分のRails力が低いというのもありそうです 😹)。経験者の場合は不要なプラクティスは飛ばしつつ、自分が強化したい分野を重点的にやります。自分の場合は苦手意識があったテストとモダンフロントエンドを重点的にやりました。

たしか3日間以内だったら無料で辞められたはずなので、一度入ってみて合わなそうなら辞めてみるのもいいと思いますー。

その他の良いプログラミングスクールの探し方

実際現場で働いている現役プログラマさんに聞くのが一番です。知り合いのプログラマに聞いたり、勉強会に参加して懇親会などで聞いてみるのがいいのかなーと思います。採用に関わっている方も多いですし、ネットには出てこないリアルな話が聞けると思います。

検索で評判調べるのはイマイチかもです。SEOがハックされているので、有益な情報を拾うのが難しいです。例えば「プログラミングスクール 評判」で検索すると、現役プログラマからの悪評が多いプログラミングスクールが書いた記事が出てきて、自分で自分をおすすめしてます。検索を使う場合は、個人ブログのリアルな声を参考にするとよさそうです。

大学院もいいよ

あと、プログラミングスクール以外の選択肢として専門職大学院に行くのもオススメですー。

自分は文系大学からプログラミング未経験で産業技術大学院大学(AIIT)という専門職大学院に行きました。公立なので安いですし、社会人が通えるように平日夜と土曜日に開講しているし、未経験でも(ギリギリ)ついていけるようにカリキュラが作られています。

入試は応用情報技術者試験の午前相当の問題で、対策も立てやすくそれほど難しくありません。ただし入試に比べて生徒や教員のレベルは高いので、入学後はなかなか大変です。

カリキュラムとしてはCSの基礎から、デザイン、マネジメント、経営まで広く学べます。自分はCS関係の講義をとるだけで手一杯でしたが。あと2年目はPBLという形で実務相当の経験をつめますし、かなり実務に即した学びが可能です。

2年かけてじっくり学べますし、こちらもかなりおすすめです。

aiit.ac.jp

ただRailsスペシャリストが教えてくれるわけではないので、Railsをやると決めているならやはりフィヨルドブートキャンプが一番おすすめですー。Ruby/Railsの教育に関しては、それくらいフィヨルドさんは良いです 🐈

bootcamp.fjord.jp