プログラミング学習サービスに参加して100日経過した話

f:id:ksmxxxxxx:20201211004857p:plain
学習中に描いたWebを支える技術のメモ

この記事はフィヨルドブートキャンプ Part 1 Advent Calendar 2020 - Adventarの11日目の記事です。 昨日はやなぎさんの「GitHubでログイン」の流れをざっくり理解する - やなぎにっきでした。

フィヨルドブートキャンプ Part 2 Advent Calendar 2020 - Adventarもあります。

adventar.org

adventar.org

パート2はフィヨルドブートキャンプのメンターの方の登録が多いみたいなので、気になる人はそちらを参考にしてみると良いと思います。

フィヨルドブートキャンプのアドカレなのに、オススメ!とかしていない記事ってアリなのか???って思ったんですが……メンターさんが「いいのでは」って言ってたので良いことにします。

記事の意図

100日経過したので、区切りとしてなにか書こうかなとふんわり考えていました。

自分としては、「自分で調べたり、探したりするのもプログラミングをする上では大事なスキルのひとつ」という考えがあるので、今プログラミングの学習サービスを探してる人にとって「どこのサービスを使うのが自分にとってあっているのか」ということを考える材料になってくれたらいいなと思っています。

前提

  • フィヨルドブートキャンプめっちゃオススメするようなコンテンツではない
  • 私自身「エンジニアになって高給もらいたい!」っていうマインドではない
    • むしろ年収の話になると炎上しがちな昨今の風潮にうんざりしてる
  • 良いことばっかり書かない。シンドい話も書く
  • 他のプログラミング学習サービスとの比較については書かない
    • 比較できるほど、他の学習サービスやスクールとか入ったことがないから比較できない
  • リンクにアフィリエイトとかつけてないよ!(わざわざ言う)

目次

プログラミングを学習しようと思った経緯

プログラミングを勉強しようと思った理由は「デザインの仕事、もっと楽にもっと早く進めたいな…」という考えからでした。 もともと事業会社でデザイナーとして働いていました(過去形。現在無職…たまに知人づてでデザインのお手伝いもさせてもらっています)

デザイナーと言っても範囲は広く、泥臭くなんでもやっていました。UXの領域では施策の検討するためのリサーチ業(ユーザーインタビューやユーザーテストとかあのへん)、UIの領域ではグラフィックツールを使ってモックをつくることから、実際コードを書いて実装する部分もやってました。SNS用のバナー画像つくったり、サービスのロゴデザインなどもやってました。

最近はUIを実装するにしてもJavaScriptを書くことが増えてきてる(最近と言っても4年前くらいからなので界隈としてはだいぶ昔って感じですが)…というか書けないとしんどいなって思うことがたくさんあったり、デザインシステムなどを整備するにあたりスタイルガイドをつくったりするにしてもフロントエンドの知識を求められたりといったことが増えてきて、ちゃんとプログラミングできるようになりたいなぁと思ったのが最初です。

スクラム開発チームでデザイナーとしてアサインされたときに、「もういちいちMVPをグラフィックツールでモック作って、またコードで実装してっていうのが二度手間感パネェな……自分で仮実装くらいできるようになったほうがもっとスプリント早く回せるようになるんでは」って思い至ったのもあります。既存プロダクトだとモック作るだけでも結構めんどくさかったりするんですよね…回りくどさもあって面倒くささ倍増し感ある。雑に言うと「もっと楽したかった」。

それまでやっていた実装作業はHTML(Slim)とCSS(Sass、Scss)、ちょっとしたJavaScriptコードの修正やアレンジ作業、たまーにエンジニアさんからのサポート受けながらRailsのhelperを作ってみたり、modelの項目名を変更したり……という内容です。

プログラム部分については、「なんとなくこの辺に手を加えればなんとなくそれっぽくなる」くらいのことはできましたが、MVPを独力で作ろうと思うと基礎力もないし、やったとしてもめちゃくちゃ時間かかるレベルでした。普通のエンジニアさんだったら1ptで実装するものを5ptかけて実装する感じです……。

仕事をしながら勉強しようにも覚えることがたくさんあり、とても独習だけでは流石に限界があるなぁと思い、働いていた会社の人から背中を押された事もあって、退職してプログラミングスクールに通おうと思ったというのが大体の経緯です。

ちなみに、よくエンジニアとかプログラマー志望だと思われてるみたいなんですが、転身願望とかはないです。
あくまで「デザイン業務をもっと楽にするため、プログラミングを覚えたほうが良さそうだったから勉強してる」というスタンスで取り組んでいます。
といっても、デザイナーという肩書にこだわってるわけでもないです。楽に仕事できるなら何でもやるくらいの気持ちでいます。

サービスを選定した経緯と基準

  • プログラミングスクール(オンラインで受講できる)の無料体験や無料相談をひととおり申し込む
  • 学習できることを確認する
  • 予算
  • 評判

この辺を意識して自分で調べたり探したりをしました。

大手のスクールもひととおり体験学習に参加したり無料相談も受けたりしましたが、募集サービス bosyuMENTA(メンタ)というメンターマッチングを探したりもしました。

評判については、ネットの情報だけだと偏りがあるなぁと感じたので、前職のエンジニアの人に聞いてまわってみたりもしました。

ただ、ネットやリアルでも悪い評判はたくさん聞くのに「ここがオススメ!」みたいなテンションでリコメンドされることはなかったです。
あってもアフィリエイトリンクが貼ってある受講者でも中の人でもない第三者が書いた評判記事くらいです。
ネットに書かれていることは参考程度に、人づてで聞いた評判についてはスクールの公式ページを隅々まで確認したり、無料相談を申し込んで質問しまくったりしました。

最終的に学習内容を見て、最終的にフィヨルドブートキャンプというちょっとマニアック感を感じるページのサービスへ参加することにしました。

bootcamp.fjord.jp

なんか、このイマドキ感を一切感じないページのデザインが、「利益とかあまり考えないで趣味で店を開けてる美味しいご飯出してくれる新橋の呑み食い処」感を感じます(見た目はファンシーだけど)(disってないよ、褒めてます)

どんなことをしているか

フィヨルドブートキャンプでどんなことをしているかをひととおり書いていきたいと思います。

学習について

学習内容についてはこのページで確認できます。

bootcamp.fjord.jp

エンジニアとして必要な知識が得られるカリキュラムになっているようで、中の人いわく「卒業したら現場で即戦力として活躍できるようにする」というのが狙いだそうです。なので実際のチーム開発に参加してアジャイル開発を体験するカリキュラムも組まれています。自分はまだそこまで進んでいないですが、他の生徒さんを見ていると大変そうです。

卒業時「これくらいのレベルであれば即戦力だろう」っていう基準についてはメンターのkomagataさんがブログに書かれています。

docs.komagata.org

オンラインスクールですが、授業とかレッスンみたいなものはありません。

各自でカリキュラムに取り組んで、わからないことがあればまず自分で調べて、わからなければSlackやオンライン上に質問したりするシステムがあるのでそこで質問してみたり、毎日夕方あたりにDiscordで雑談会を開いているのでそこで質問したりします。

つまり、学習はすべて自習ベースです。講師の方がいて、手取り足取り0から100まで教えてもらうという感じではないです。

カリキュラムは実際にコードを書くプラクティスも用意されていますが、参考書籍を読み込んで学習を進めていくカリキュラムも存在します。

参考書籍は自分で買うことになるので、月額の利用料金以外に書籍購入代も発生することを頭に入れておいたほうが良いと思います。

メンターの方にはバンバン質問しても追加料金を取られることはないので、バンバンしていくようにしています。
LT会で質問のしかたについて纏めた発表をしており、スライドを共有しています。参考に見てみてください。

speakerdeck.com

自分の学習ペース

大体平日の11時くらいからぼちぼち学習を始めて、夕方18時くらいには「今日はここまで〜」みたいな感じで切り上げています。朝、早く起きたときは9時くらいから始めるときもあります。

以前は自分の学習時間を把握するために、Slackに「今日の学習始めます」とpostしてから開始していました。
最近はToggl trackというアプリがあるのでそちらで時間管理をしています。

toggl.com

f:id:ksmxxxxxx:20201211000901p:plain

学習中はもくもくと進めますが、詰まったり、発見があったりするとカジュアルに「〇〇がわからんけど、これってどういうことなんだろう」とか独り言をつぶやいています。
つぶやくことで、メンターさんや他の学習している生徒さんが教えてくれたりなどしてくれます。
図書館に集まって、各自自習してるけど、わからないことあったりしてぼそっと呟くと、一緒に学習してる人が気がついてわかる範囲であれば「ここはねぇ」って感じで教えてくれる…みたいな感じです。

f:id:ksmxxxxxx:20201211001018p:plain

たまにメンターさんや生徒さんだけでなく、フィヨルドブートキャンプを社内研修で利用している企業のエンジニアさんが教えてくれたりすることもあります。(報酬ないのに太っ腹かつ親切すぎる)

12月に入ってからだと思うんですが、Discordをお試しで導入していて、Zoomや他のボイスチャットビデオチャットと違ってリアルタイムで誰か入って作業しているのが可視化されるので、自分も作業していて「ちょっとここわからないなぁ」って思ったときに、受講生さんかメンターさんがいるとボイスチャットルームに入って質問や相談しやすいかも…って思います。
自分も作業しているとき、ふらっとボイスチャットルームに入ってもくもく作業していたりします。

学習以外について

月1回ペースでミートアップが開催され、お酒飲みながら他の生徒さんの顔を見ながら話す機会もあったりしますし、提携企業さんの会社説明会や、学習したことを発表するライトニングトーク会も開催されたりします。

スクールとか学習サービスっていうより、コミュニティとかオンラインサロン的な感じがします。

個人的には「アンチハラスメントポリシー」があるので、心理的安全性が担保されてていいなぁと思っています。

bootcamp.fjord.jp

Slackがメインのコミュニケーション場所になるんですが、学習以外の話題もフランクに盛り上がったりします。

ギター演ってるひとが多くてギターの弦の話で盛り上がったり、最近だと自宅で仕事しながら勉強しているひとも多いので高級オフィスチェアの話をしたり……アニメ・マンガの話をしたり。

転職相談とかされる人もいますし、学習のモチベーションについての相談をする方もいらっしゃいますので、何でも質問・相談室という感じです。

よかったと思っている点

  • 質問(Slackとか質問掲示板で)すると割とさっと誰かしらがリプしてくれる。メンターさんもさっと飛んでくるし、他の現役生の方もわかる範囲で教えてくれたりする
  • 卒業生と話せる機会があるので、いろいろ質問できる
  • 現役生同士のコミュニケーションが多いので、学習で心が折れそうってなったときに愚痴りやすい(言い方…)
  • メンターさんや顧問さん、その他関係者に有名著書の著者本人がいたりする
  • プログラミング言語以外のエンジニアに必要なスキルを学習できる環境がある
    • 実はエンジニアとして働こうと思うと技術力の他にもいろんなスキルが必要だったりするので、そのへんもフィヨルドブートキャンプで学習できるような仕組みになってる
  • Discordの雑談会に参加してるとたまに画面に参加者さんの家に住んでる猫様が映る

チャンネコいいなぁ(家の事情で住んでもらえない)って思いながら見てる。

イマイチだと思っている点

  • 月額の料金の他に、参考書籍を購入する費用がかかる
    • 参考書って、結構いい値段なんですよね…私みたいに給付金で生活してると一冊ならまだいいんですが2冊、3冊って増えると結構つらい。とくに序盤のプラクティスは本買って読むものが多かったと思う
    • 未経験の人だとMacを買う必要がある
    • 場合によっては参考図書よりProgateとかドットインストールの教材のほうがわかりやすくサクサク進んだりするんだけど、どっちにしても有料プランにしないと学習できない部分だったりとかがあるので、フィヨルドブートキャンプ以外の教材にお金かかることがある。
  • 土日祝日になると雑談会のチャットルームに入っても誰もいないことが多い
    • 仕事しながら土日に集中して勉強している人にとって不利なんじゃないかな…
  • Railsプログラマーコースしかない
    • 自分はもともとフロントエンドをやりたかった方だったけど「でも結局Railsプロダクトの場合が多いし、そっちもできたほうがいいっかー」と思ったので参加したけど…もうちょっと他のコースがあってもいいのではと思わなくもない
  • コードレビューの方針がメンターの好みに依存する
    • 業務でのコードレビューもレビューワーの好みに依存するのはよくあるので悪いとは思わないけど、学習段階でこれっていいんだろうか…と気にならなくもない(といっても最適解は私にもわからない…)。
    • 少なくとも「こっちが好み」っていう表現だけだと、本来は明確なメリットがあった上での「好み」のはずが、「なんとなく好き嫌いで決めて良いんだ」みたいな誤解を与えそう。

むすび 🍙

学習するのは楽しい事ばかりではないので、ぜひ自分に合ったスクールやサービスを探してみてください。

あと、どこのスクールへ参加するにしても、いっしょに学習してる人がいるのといないのとではモチベが全然違うので、プログラミングのコミュニティへ参加するのもオススメです。connpassとかTECH PLAYで検索すると、もくもく会やコミュニティのイベントとかたくさんあります。

ただ、超個人的な意見をあえていうと、SEO目的で技術記事を書いている大手のスクールさんは言語関連の情報を検索する時、自分がほしい情報は全然載ってない割に検索結果1ページ目を埋めるくらい出てきてめちゃくちゃ邪魔なので、好きじゃないです。
(ゴシップサイトブロッカーで表示しないようにしてます)
せめて記事に関連してる言語の公式ドキュメントへリンクを貼るくらいの親切をしてほしいと思います(一次情報は正義なので)
いろいろ大人の事情があるんでしょうけど……検索してて公式情報に辿り着けないの、プログラミングを勉強している身としてはなかなかジーザスって思う。