Just do IT

思うは招く

フィヨルドブートキャンプを卒業しました。

2020年9月16日、「フィヨルドブートキャンプ」というプログラミングスクールを卒業した。

この記事では、

  • 何を学んだのか
  • どう学んだのか
    • フィヨルドブートキャンプを卒業するためにしていたこと
  • 卒業してどんな力が身についたのか
  • 卒業した今の気持ち

などを振り返る。

フィヨルドブートキャンプに参加していた324日の自分を振り返っているので、かなり長い記事になっています。ご了承ください)

なぜフィヨルドブートキャンプに入ったのか?

数あるプログラミングスクールの中で、なぜフィヨルドブートキャンプを選んだのか?

理由はこんな感じ。

  • サイトデザインが「なんとなくいいな〜」と思った
  • 現場力がつきそうだと思った
  • 「年収〜!万」で釣っていなかった

サイトデザインが「なんとなくいいな〜」と思った

フィヨルドブートキャンプのサイトデザインは他のスクールとは違ってオリジナリティを感じた。うまく言語化できないが、なんかこう、「イイ」のだ。

後に「RubyKaigi」という大きなプログラミング言語イベントのサイトデザインを手掛けたこともある、Webデザイナー兼フロントエンドエンジニアのmachidaさんが作られたということを聞いて納得した。

現場力がつきそうだと思った

公開されているカリキュラムを見て、「厳しそう…。それに長そうだけど、現場力が身につくんじゃないかな?」と考えた。

チーム開発やペアプロもある。ぼくはいきなりフリーランスとかそんなんじゃなく、地に足をつけて就職をしたかった。フィヨルドブートキャンプでは現場に似た環境で経験を積めると思った。振り返ると、これはそのとおりだった。

(※2020/09/27 ペアプロ課題は廃止されたようです)

お金で釣っていなかった

フィヨルドブートキャンプは「〜ヶ月で年収〜万!!」などとお金を呼び水にしていないところがよかった。

もちろんお金はたくさん稼ぎたい。でも、収入を影響力に使って広告をばんばん出している他のスクールに、あまり良い印象を持てなかった。

決めたきっかけ

フィヨルドブートキャンプってところ、よさそうだな〜」と思いつつ、以前にスクール選びで失敗したことがあるため慎重になっていた。

最終的に決め手となったのは、フィヨルドブートキャンプ卒業生で現在はフリーランスで活躍中のshitaさんの記事だった。

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

フィヨルドブートキャンプの良い点だけでなく悪い点も書いていた。これが決め手で信頼できた。卒業生がブログで悪い点を堂々と書いているなら良い運営のはずだと。

卒業した今、フィヨルドブートキャンプを選んだことは間違っていなかったと思う。(メリット、デメリットはありますがこの記事の主旨ではないので省きます)

何を学んだのか?

HTML/CSSにはじまり、LinuxやNginx、DB、RubyRuby on Rails、自動テスト、Vue.js、CI、デプロイ、UML、チーム開発、自作ウェブアプリ開発などたくさんある。

ちなみにカリキュラムは以下のページで公開されている。

学習内容 | FJORD BOOT CAMP(フィヨルドブートキャンプ)

卒業制作として、オリジナルのウェブアプリケーションを作る。

イデアを自分でゼロから考え、DB設計・実装・デザインもすべて自分で行い、オリジナルなアプリをリリースする。

いや〜、本当に長かった。今思い出してもエグい…。

どれだけやったか?

卒業するのに324日(10ヶ月19日)かかった。勉強時間は1200時間ほど。高校受験の次に勉強したかも?

FAQでは「900時間くらいで卒業」と書かれているが、ぼくの周りの人はだいたい1000〜1300時間くらいは勉強している印象だ。(未経験の場合)

ただし、プログラミング経験者が参加することもあるので、平均すると900時間くらいの計算になるのかも?

「何かを1000時間も勉強すれば、最初はサッパリだったこともかなりわかるようになる」ということがわかったのは大きな収穫だったし、自信になった。

どんなことに苦労したか?

lsコマンド作成

Rubyでlsコマンドを作る課題があり、2週間ほどかかった。プログラムの基礎をわかっていなかった頃なので、盛大にハマったが、忍耐力が鍛えられた。

デプロイ課題

今は必須課題ではなくなったが、「GitHubへプッシュ → CircleCIでテストが通る → masterにマージされる → Capistranoで自動デプロイ」を設定する課題があった。デプロイ先はLinuxDebian)で、ウェブサーバーはNginxを使用する。これらすべての設定をするためにはLinuxスキルが非常に試される。白髪が増えた。

子育てとの両立はエグい

フィヨルドブートキャンプ中、第2子が産まれた。誕生したての子育てと、勉強の両立は本当にタフだった(今もだが)。「子どもが2人になったら、労力は2倍くらいになるんかな?」と思っていたが甘かった。実際は3倍、4倍でした。

赤ん坊を抱っこしながらパソコンに向かうことも多かった。泣き止まないときは勉強をストップして散歩に出ることもしばしば。

恥ずかしい話、子どもが誕生してからしばらくは、髪の毛がかなり抜けてビビっていた。(マイヘアー、カムバック!!)

勉強時間の捻出に協力してくれた妻には頭が上がらない。上の子にもかなり我慢させてしまって胸が痛い。これからも勉強は続くが、少し抑えて家族の時間を増やしたい。

卒業するために何をしたか?

自分が意識していたことや、やっていたことなど。

根性、執念、負けず嫌い

昭和の男なので…。

フィヨルドブートキャンプのカリキュラムは難しめだし、長い。途中で何度か挫折しそうになった。

でもネットのどこかに落ちてた「I refuse to give up」という言葉に感化されたり、家族がいることもあり踏ん張った。「自分に負けてたまるか!」と思いながらやっていた。

エンジニアが嫌うかもしれない根性論だけど、ぼくの周りの卒業生や卒業に近い人はみんな粘り強い。今風に言うと「GRITがある」。

ハマったらメンターにいつでも聞ける環境ではある。しかし、自分に何が足りないのかを考えて、遠回りでもいいからひとつずつわからないことを解決するのが長い目で見て大事だと思う。

ブログでアウトプット

どんな小さな学びでもブログに書いてアウトプットすることを意識していた。結果的に10ヶ月弱で約350記事書いた。

文章にすることで知識が整理され、何度も読み返すことで知識が定着する。自分は忘れっぽいので「ブログに書けば忘れても大丈夫」という安心感もあった。

ちなみに、メモ程度の内容はQiitaには書かない。QiitaはSEOが強すぎて、あまり参考にしてはいけない記事でも検索上位に上がる。はてなブログは個人的なメモとして残すにはちょうどいい。ブログ内検索をして読み返すのも楽だ。

技術を楽しむ

フィヨルドブートキャンプは難しくて卒業するのが大変」というウワサがある。実際、フィヨルドブートキャンプのFAQページにそう書いてある。ぼくも入ってみて課題のガチさに面食らった。

ぶっちゃけ、挫折する人も多い印象だ。これは僕だけではなく、同じくフィヨルドブートキャンプを卒業したtakahashiさんもそう感じているそう。

FJORD BOOT CAMPを卒業できました!! - koheitakahashiのブログ

かといって、卒業した人が周りより圧倒的に優秀かというとそうでもないと思う。実際僕は理系・数学脳なんて皆無だし、飲み込みも遅い。でも辛いながらも「これは自分に向いている」とか「やりがいがあるなぁ」と感じていた。

結局、最終的に卒業するのは技術を楽しめたりやりがいを感じることができた人なんだと思う。

必ずしもRubyを好きになる必要はなく、SQLLinux、Nginx、Vue.jsなど、どれかひとつでも「あ、これ面白いかも?」と思えたら、続けられるのではないだろうか。

楽しさの閾値を超えるまで我慢が必要かも

「楽しさの閾値を超える」ことも大事になると思う。プログラミングを初めて学ぶ場合、最初は笑ってしまうくらい何もできない。手も足も出ないので、全然楽しくない。

ただ、勉強を続けて徐々にわかり始めて、ある日溜まっていた学びが爆発して楽しくなる。

今では「プログラミング楽しい!」とか「もっと上達したい!」と素直に思えることが嬉しい。「自分の目や腰、体力が最強ならもっとコードを書けるのに・・・」と思いながらベッドに入ることもけっこうある。

卒業して思うこと、身についたこと

プログラミング楽しい

「まだ現場にも出てない奴に何がわかるんだ」「現場の厳しさ知らねーだろ」と思われてしまうかもしれない。たしかにそうだと思う。

実際に運営されているサービスを開発する課題では、プロダクションコードを書いてレビューを通す大変さを思い知った。ここでも髪の毛は抜けた。

それでも、プログラミングの楽しさに気づけることができてよかった。これが一番大きい。はじめて自分で作ったアプリがデプロイされたときの気持ちは忘れないようにしたい。

課題を解決するための考え方

何度もエラー画面と格闘して、「自分は何がわかっていないのか?」「これは実際のところ何が問題なのか?」と、多少は課題を切り分けられるようになったと思う。

真っ赤なエラー画面も、最初は「ウゲッ・・・」と思っていたが、今では「どのファイル、コードでエラーが出てるのかなー?」と自然に考えられるようになった。なんならエラーが出るだけありがたいとすら思えるようになった。

まだまだわからないことだらけ

自作ウェブアプリをデプロイできるまでにはなった。しかし、まだまだわからないことだらけ。

自分のコードは「ザ・初心者コード」といった感じで、力技感がハンパない。each使いまくり。むなしいけど、コツコツやっていくしかない。

どんなエンジニアになりたいか

RubyRailsは好きだけど、フロントエンドの技術もおもしろい。今はReactやVue.jsをもっと上達したいという気持ちが強い。

これからも日進月歩で新しい技術が出てくるだろうし、それにワクワクする。好奇心とユーザー目線を忘れない、テキストコミュニケーションを大事にするエンジニアになりたい。

終わりに

長くなりましたが、フィヨルドブートキャンプの卒業エントリでした。

とにかく大変だった。手前味噌ですが、家族や子どもがいて、よく乗り切ったと思います。でもプログラミングが好きになれたし、もっと良いコードが書けるようになりたい。

とはいえ、まだスタート地点に立っただけで何も成し遂げていません。始まったばかりのエンジニア人生を楽しんでいきたいと思います。

追記:卒業Tシャツと修了証明書をゲット!

卒業Tシャツと修了証明書が届きました😄

修了証明書の入れ物が思ってたよりしっかりしてました。こういうことをしてくださるのは粋というか、すごく嬉しいですね。

追記2:フィヨルドブートキャンプが「フクオカRuby大賞」を受賞

(2021/02/16)

フィヨルドブートキャンプが「フクオカRuby大賞」を受賞したそうです。めでたい!

fjord.jp

追記3:卒業後、どうなった?

追記日:2021/05/22

卒業後、自社サービスを運営する企業でWebエンジニアとして働いて(フルリモートワーク)、約半年が経過しました。おそらくフィヨルドブートキャンプを検討している方は「卒業して実際にWebエンジニアとして働いていけてるの?」といった疑問があるはず。

結論から言うと、日々大変ですがやりがいをもってWebエンジニアという仕事ができています。自分の感覚ですが、「楽しい!」というよりは「やりがいがある」です。

卒業してからもほぼ毎日技術の壁にはぶち当たりますし、数日PRが作れないことなんてザラにあるので、そういったときはまったく楽しくないです(笑)。

ただ、問題を解決できたときの達成感は他の仕事よりも圧倒的に強いです。チームメンバーの方々が丁寧にサポートしてくださっており、「Webエンジニアになってよかったな〜」と思います。

自分は営業やマーケティングなどいろんな仕事を経験しましたが、エンジニアは自分の成長がわかりやすい職業だと思います。「こんなコードが書けるようになった」「今までわからなかったRubyのこんな機能を理解した」など。会社がそれぞれ違うのに、コミュニティでみんな教えあっているのも健全でいいなと思います。

まとめると、仕事はやはりめちゃくちゃ大変ですが、そのぶんやりがいや成長も感じられて、自分には向いている職業だと思います。

ちなみに最近はこのブログを更新していませんが、Scrapboxでアウトプットをしています。

scrapbox.io

フィヨルドブートキャンプ、ぶっちゃけどうなの? 追記 2021/12/21

卒業してからエンジニアとして働いて1年後の今、元受講生目線からフィヨルドブートキャンプのメリットとデメリットを整理してみます。

メリット

メンター、アドバイザー、顧問が他のプログラミングスクールより圧倒的に豪華。Rubyエンジニアとして働いたことがない人はわからないと思うけど、Rubyの分野に限っては他のスクールよりずばぬけてナンバーワンのサポートスタッフだと思う。これは個人の感想だけど、おそらく皆が昨今のプログラミングスクールに問題意識を持って集まっていると思う。

Rubyを採用する企業との厚いパイプもある。提携する企業はプログラミングスクール出身の人間を探しているのではなく、フィヨルドブートキャンプ出身が欲しい感がある(完全に予想だけど)。フィヨルドブートキャンプを卒業するのは非常に大変なので、「それだけの地獄をくぐり抜けた人たちならきっとやってくれるだろう」という期待のもと提携していると思う。実際、卒業するのは大変だが卒業する人はみんな就職できている。

プログラミング言語で抜粋すると、RubyJavaScriptを学べる。Rubyがメインだけど、実際のウェブアプリケーションを開発する課題があり、そこでJavaScriptも触る。JavaScriptフレームワークであるVue.jsも使う。

デメリット

卒業までに時間がかかる。僕は1200時間くらいかかった。周りの人もだいたいそんな感じ。しかし僕が卒業した後、時間が多くかかる課題が削られたり、詰まったらすぐに質問できる環境がさらに整備された。専用のDiscordでペアプロ相手を募集することもできる!なので、卒業までにかかる時間は900〜1000時間くらいには短縮されていると思う。 ただしこれは完全に素人から始めた場合に限る。もともとエンジニア、デザイナーという人は課題を飛ばしてもいいというケースがあるため、もっと早く卒業することができる。

長い時間がかかるので、仕事をしながら勉強を進める人は限られた時間の中でスピード感を持って進めなくちゃならない。そこはメンターに遠慮せずガンガン質問して学習を進めることをおすすめする。

サポートは手厚いけど、課題がガチで実践に即したものなので難しい。よって挫折する人もかなり多い印象だ。ただ、これらのデメリットは逆に「現場で通用する実践力を鍛えることができる」と言い換えられる。

ブログ記事的に「メリット」と分類するために「デメリット」と書いただけで、正直僕はデメリットと思ってない。逆に、フィヨルドで勉強したことをやらずに現場に入っていたらと想像すると怖い。卒業してからもフィヨルドを選んで本当に良かったと思っているし、フィヨルドを選んだ昔の自分を褒めてやりたい。