はじめに
この記事は フィヨルドブートキャンプ Advent Calendar 2023 Part1 の記事です(Part2もあります)。
フィヨルドブートキャンプ Part 1 Advent Calendar 2023 - Adventar
フィヨルドブートキャンプ Part 2 Advent Calendar 2023 - Adventar
Part1の前日はmotohiro-mmさんの 2度の挫折を乗り越えて学習時間1000時間超えた話 [フィヨルドブートキャンプ] - もとひろ blog でした。
Part2の前日はYumiyaさんの Railsのフォームヘルパーを深掘りしたら得るものが多かった - yumiya's blog でした。
サマリ
- 【重要】FBCに入るにあたり予習はマストでは全くないけれど、不安な人/予習したい人もいると思うので、私の予習体験をシェアするのがこの記事の目的
- FBCに入る前の予習として、使ってよかったと思うサービス -> Progate、ドットインストール、Udemy(個人の感想です)
- HTML / CSS / Ruby は予習できてよかったかもしれない(個人の感想です)
- Railsに触れるのはフィヨルドのプラクティスに到達してからでもよかったかもしれない(個人の感想です)
- Railsよりはターミナルの操作方法や、Gitの基本の基本とかがわかっているとよかったかもしれない(個人の感想です)
私について
私は現在フィヨルドブートキャンプ(以下FBC)でプログラミングを学習しています。
今年の6月に入会し、本記事執筆の数日前にチーム開発(他の生徒さんやメンターさんで構成される開発チームに入って、FBCの中で実際に使われている学習アプリを開発する)のプラクティスに突入しました。
この記事について / 入会前の予習はマストではない
(本文をつらつらと書いてしまったら「誰のための何の記事なのか」があやふやになってしまったので、このセクションはその言い訳です🙇♂️)
私はFBCに入る前に、下で述べるサービスでプログラミング学習の予習(?)をやっていました。
FBCというスクールの評判の良さを聞いて入ることは決めたものの、
- カリキュラムがなんだかすごいらしい
- 中には途中で退会する生徒さんもいらっしゃるらしい
という評判も結構目にしたからです。
ここで、FBCの卒業生の方のブログ記事で、カリキュラムの特性と予習について触れられた文章を引用させてください(切り抜きで印象が変わってしまうことを避けたいため、長いですが1セクションをそのまま引用します)。
フィヨルドブートキャンプの悪いところ
正直ほとんどないのですが、公平性のために悪いところもあげておきます。
「基礎を手取り足取り教えてもらえない」、というところは人によっては辛いかもです。
たぶんこれは「現場力が鍛えられる」の裏返しです。現場力を鍛えるためには、未知の問題に出会った時に自分で解決する能力を鍛えていく必要があります。そのためフィヨルドブートキャンプの課題は、自分で調査して考えることを要求する、答えのない課題が多いです。なのでWebを調べたり、他の生徒さんの日報を調べたりしながら、自分の頭で考えて解決していきます。この調査・思考自体が大事な訓練なのですが、未経験者の場合は手取り足取り教えて欲しいという方もいると思います。そういう方にはあんまり向いていないかもーと思います。
かなりハードなカリキュラムになりますし、実際フィヨルドブートキャンプを卒業できる人は少ないです。(だからこそ卒業生は皆さん優秀だし、有名な会社さんに就職できるのですが。)
個人的には基礎は独学で済ませて、プログラミングスクールでは現場力を鍛えるべきだと思うので、このやり方は正しいと思います。プログラマとしての適正を早めに判断できるという利点もあります。とはいえ早めに脱落してしまう人が結構多いので、未経験者にはもうちょっとサポートがあってもいいのかなーとも思います。
これは悪いところというより思想の問題かもしれないです。
プログラミング未経験でフィヨルドブートキャンプに参加される方は、Progateやドットインストール等で先に基礎を勉強しておくか、並行して勉強していくのをおすすめします。ただカリキュラム的には未経験でも進められるように必要なプラクティスを網羅しているので、やる気がある方ならフィヨルドブートキャンプだけでも問題ないです。
プログラミングスクールの理想と現実。あとフィヨルドブートキャンプについて - 猫Rails
こちらの卒業生の方がおっしゃるように、FBCのカリキュラムは(予習含め)プログラミング自体が完全にはじめてでも大丈夫なように作られていると感じます。どんな質問をしても、プロのメンターさん達が100%返事をしてくれます(ただし答えそのものを教えてもらえるとは限らない)。
※個人的には、FBCが「基礎を手取り足取り教えてもらえない」場所だと思うかどうかは、人それぞれなのではないかな〜と思うことを追記しておきます。ただ、「手取り足取り」でイメージすることが、「自分がわからなくなったら、教える側が『率先して(手を取り足を取り)』答えを教えてくれたりする」ということであれば、FBCは確かに手取り足取り教えてもらえない場所と言えると思います。プログラミングの世界では現場力が求められる、調査・思考の力が大事など、この引用箇所の主意については120%同意ではあるのですが、念のため。
FBCのページで公開されているカリキュラムや評判を読んで、「うお〜なんか高そうな壁っぽいけどやってやるぜ〜」と燃える人や「サポートが充実してそうだし大丈夫かな」と思う人もいれば、「興味はあるし評判はいいけれど、ついていけるかな〜」と不安に思う人もいると思います。
私は後者だったので、上のブログを入会前に実際に読んだあと、(自分なりに思う)基礎だけ予習を済ませてから入会することを決めました。
この記事は、そんな私が実際に使ったサービスや学習したこと、逆に「これは予習しなくても良かったかも」と思うことなどのシェアです。
私のようなタイプで、FBCへの入会を悩んでいる人や、どこまで何を予習をするか悩んでいる人の参考になればいいかな〜というイメージです。
※私はFBCが好きなのでFBC推しですが、他のスクール/サービス/その他あらゆるプログラミング学習の前段階にやることの参考に(万が一にでも)なればこれ幸い、という気持ちです。
※以下、具体的な経験をシェアするために、特定のサービスや動画コースのリンクを張ってはいますが、アフィリエイトとかでは全く×100ありません(貼っているリンクも普通のリンクです)。
よかったサービス
Progate / ドットインストール
プログラミング入門の定番サービスですね。 「プログラミングを勉強しようかな」と思ったあとに、まずProgateとドットインストールでHTML / CSS のコースを一周して、FBCへの入会を決めたあとにProgateのRubyのコースを一周しました。
HTML / CSS を両方のサービスでやった理由は、単純にそのときは学習のロードマップがわからず、でも立ち止まるのが怖いのでとにかく有名なサービスをやろうと思っただけで、今考えたらどちらか一つだけでも全然良かったと思います。
FBCでは最初にHTML / CSSをやるので、この予習によって、そこで思いっきりつまづいたり、初めてのことばかりでパニックなる、的なことが防がれた、みたいなことが私にはあったかもしれません。
Rubyの予習は純粋にとても面白かった記憶があります。後述のとおり、その前にJavaScriptを予習したのですがちんぷんかんぷんだったのに対し、Ruby(のすごく基礎的なところ)はスッと入ってきた印象でした。
あと、Rubyのクラスなどの難しいテーマについては予習段階では全然理解できていませんでした。Progateのスライドを何度読んでもちんぷんかんぷんで目が滑りまくる、みたいな感じ。おなじくHTML / CSSもFBCに入会したころには細かいことは忘れていました。
これは今になって思うことですが、本格的に学ぶ前の予習ということであれば、言語に対する深い知識とかを得ようとする必要なんて全くないと思うので、まずはプログラミングの流れみたいなものに触れられればそれでいいのかな〜と思っています(なので私がクラスがちんぷんかんぷんなまま次のステップに突入したことは悪くなかったはず)。
込み入った内容に出会ったら、なんとなく頭の中にインデックスして次に行けばいいと思います。例えば「なんかHTMLの要素の並びには親と子の関係みたいなものがあって、親のパワーが子に影響しちゃうんだね〜」くらいのことを、ざっくり頭の中にふせんで貼っておいて次に行く、みたいなイメージです。それはあとでもう一度出会った時に必ず役に立ちます。
また、Progateを1週したと書きましたが、この時点でプログラミングがなんだか面白い!と思ったら、そのときにやっている教材が途中でもFBCに入る or その他のサービスを使って本格的に学習を始める、とかで全然いいと思います(もちろんProgateの内容を極めてもいいし、そのままずっと独学でもいい)。
あと、プログラミングは環境構築(自分のPCでプログラミングができる準備を整えること)でつまづくことがあるので、それを考えなくてもいいようにしてくれているProgateは、学習のとっかかりにはとても良いサービスだな〜と今でも思っています。
Udemy
動画でスキルを学べるサービスです。FBCを知る前に、評判の良かったこのコースを途中までやっていました。
(奇しくもこのコースの名前もBootcamp……。)
FBCは Ruby / Rails を主にしたカリキュラムですが、こちらは JavaScript / Express を主にしたカリキュラムです。
これを独学でやっていて、JavaScriptのDOMやクラス・非同期処理、Expressのあたりで「なんだこれ、なにもかもがぜんぜんわからん」となっていたころにFBCの存在を知り、上述のようにRubyをふわっと予習してFBCに入会しました。
上のコースの内容は骨太なので、FBCに入る前に知っておくこととして全然マストとかではないと思うんですが、動画で講師が説明するのを聞きながら学べるという点で、Udemyはとても良いサービスだと思っています。
FBCに入ってからも、Reactの学習でUdemyの講座を購入して参考にしたりしていました。定価で買うと高いので、月に一回くらいあるセールを狙って買っています(90%オフとかになる)。
Railsの予習について
「FBCはRailsという言語?(←言語ではない)を勉強するみたいだから予習しとこうかな」という感じで、ProgateでRailsのコースも一応やってみたのですが、これは(FBCの前の予習という観点では)マストではなかったかなと思っています。
- プログラミングの基礎があやふやな状態でRailsを触っても、何が起きているのか / 自分が何をしているのかさっぱりわからない
- チュートリアル通りにやれば動くは動いてProgateが「修了!」と言ってはくれるけれど、↑の状態なので何かが身についた感覚がなく、モヤモヤする
- FBCではRailsに到達するまでに結構な量のカリキュラムがあり、Railsを触るころには予習したことを忘れている
もちろん、入会前でもRailsに興味があれば触れてみるのは全然いいと思います。ただ、「挫折しないために入会前にある程度Railsを理解するぞ!」的なテンションでプログラミング初心者がRailsに挑むと、余計つらくなる可能性もあるかな〜と思ったので(よくない完璧主義の傾向がある私がそれでした)、一応シェアできればな〜と思った次第です。
ちなみに、Raisを触り始めて「何が起きているのか / 自分が何をしているのかさっぱりわからない」となることを防ぐために、FBCではSinatraというフレームワークを使ってWebアプリを作るプラクティスがRailsの前に置かれています。大変なプラクティスでしたが、終わったあとにRailsを触った後は感動しましたし、あとからこのプラクティスの並びの意味に気づいた時にさらに感動しました。
ターミナルの操作 / Git について
FBCではRubyのプラクティスに入る前に、ターミナル(映画のハッカーがカタカタやっている黒い画面)やGit(バージョン管理ツール)の使い方を学びます。
今考えれば、Railsの予習に割く時間と元気があれば、個人的にはこれらのことについてもサラッと触れておくのもよかったんじゃないかな〜と想像したりします(サラッとがポイント、FBCに入ったらイヤでも深くやるので、なんとなく雰囲気を知る感じで)。
どちらもProgateに対象のコースがあるので、それらを使ってもいいかもしれません。
おわりに
FBCの生徒のみなさまには、もしかしたらあまり興味がわかない記事になったかもしれず、申しわけないと思っています……🙇♂️ あと、外部の人には私がFBCの回しものみたいに見えるかもですが、そんなこともありません。純粋に、自分のプログラミング学習の始めの頃の体験のシェアとして、万が一にでも誰かのお役に立てたらいいな〜くらいのテンションです。
それはそれとして、FBCは素敵なコミュニティだなといつも思っています。 いつも真剣に向き合ってくれるメンターさん、日報のコメント / Discordやイベントなどで優しく接してくれる生徒のみなさまに感謝です。
これからが大変なパート(チーム開発・自作サービス)に突入しますが、挫折せずに頑張って卒業できたらな〜と思います。