はじめに
2019年6月16日から入会させていただいた、FJORD BOOT CAMPですが、私の就職に伴い2020年6月30日付けで卒業できました。
都内の受託開発企業で2020年7月1日からプログラマーとして働いております。
FJORD BOOT CAMPには1年と少し勉強させていただいていたので、とても感慨深いです。
先日開催されたブートキャンプのオンラインでのミートアップで卒業式をしていただいた時に、ブートキャンプでの経験を振り返りたいと思ったため、今回この記事を書きました。
この記事は誰に向けたという訳ではなく、個人的な振り返りをまとめたというものになっておりますので悪しからず。
FJORD BOOT CAMPに入るまでの背景
自分は元々地方の国立大学・大学院で臨床心理学を専攻していました。
実習が非常に多い大学院で、実際に大学院の相談室に来室されたクライアントの方に、カウンセリングやソーシャルスキルトレーニング・遊戯療法・各種心理検査を行うなど実践の中で臨床心理学を学んでおりました。
しかし、修士2年目にして自分は対人援助職に向いていないと挫折し、大学院を中退しました。
「どんな仕事に就けば良いのだろう」と色々仕事を探していたときに、たまたまプログラマーという職業があるのを知りました。
そして、雰囲気的に良さそうで、他のプログラミングスクールに比べてリーズナブルなFJORD BOOT CAMPに入会したという運びです。
入会した時のレベル感としては、ProgateのHTMLとCSSの中級をやったくらいでして、Webプログラマーに必要な知識は全くといって良いほど備えておりませんでした。
FJORD BOOT CAMPを振り返って
初めの頃
slackとはなんぞや。ネット上での振る舞いがわからない…。nginxわからない…、とわからないことだらけでした。
しかし、学んでいた臨床心理学というもの自体がわからないことだらけだったため、わからないことに囲まれるのはそれなりに慣れておりなんとかやっていけていたという感じです。
そのようになんとかやっていく中で、徐々にnginxやRubyを触るようになりました。
そこで感動したことが、自分の行動(記述したコードや設定)に、すぐにフィードバック(意図した通りに動いた・意図しない動き・エラーなど)が返ってくることでした。
対人援助という職種は、自分のとった行動に対して、それがよかったのか・悪かったのかというフィードバックが得られにくいものだと思います。 そのため、プログラミングという簡単ではないけど明快な世界にとても感動して、徐々に惹かれていったという感じです。
(ここら辺の感動は以下の記事にまとめているのでよければご覧ください)
「lsコマンドを作成する」という壁にぶち当たる
ブートキャンプでは、「Rubyでlsコマンドを作成する」という課題が、受講生の方々の中で難関プラクティスとして挙げられています。
私がこの課題に取り組んでいたときは、プラクティスの構成的に、この課題が自分でちゃんとしたプログラムを書く初めての機会でした。
(このプラクティスより前のプラクティスは、HTML・CSS、nginx、Gitなどが中心だったため)
そのため、「どのような処理の流れで組み上げていけば良いのだろうか…」と、途方に暮れてしまいました。
1行書いては「多分こうじゃないんだよなぁ」と消し、書いては消しとやっているうちに最初の1週間が過ぎました。
しかし、もがいている内に、「こうすると良いのかもしれない」というものが徐々にわかるようになってきました。
そのことに加えて諸先輩方にハマったところを教えていただいきました。
そして、1ヶ月という長い時間がかかりましたが、無事にコードを提出できました。
このプラクティスがあったことで、「全くわからないことでも時間をかけて、もがき苦しんでいればいずれわかる時がくるのかもしれない」という考え方を持てるようになりました。
このような考え方を持つことができたおかげで、以降のプラクティスについては時間こそかかったものの「辛かった、キツかった」という感じはなかったように思います。
スクラム開発を体験
ブートキャンプでは、プラクティスの終盤にスクラム開発の手法で、ブートキャンプのアプリを開発していくというプラクティスがあります。 詳しくは以下の記事をご覧ください。
そのプラクティスを通して「スクラム開発の流れ」、「自分の携わった機能のデモの仕方」、「issueやPR上のやりとりの仕方」ということを体感できました。
みんなで1つのアプリを開発していくという感じが楽しかったのですが、自分のレベルの低さを痛感して、悔しかったという気持ちもあります。
どんな力が身についたのか
自分で調べて、考えて、問題を解決するという力の素地が身についたのではないかと思います。
カリキュラムで紹介されている参考文献・資料はほぼ全て誰でもアクセスできるオープンなもので、「この通りやれば課題をクリアできる」という手順が明記されているドキュメントが用意されているわけではありません。
そのため、自分で調べて問題を解決するという力の、素地が身についたのではないかと思います。
具体的に、どのような技術を学ぶことができるのかは、ブートキャンプのページに記載されているため、そちらを参考にしていただけると良いかと思います。
どうして卒業することができたのか
FJORD BOOT CAMPは卒業するのが難しいと、スクールのページに記載があります。
実際受講生の方々からもそのようなお話を聞きますし、入会しても卒業できずに途中で辞めていかれた方も多い印象です。
ましてや、自分はIT初心者で、学習速度や開発速度も決して速いわけではありませんでした。
それでも、なぜ卒業できたかを考えた時に、その要因は大きく分けて以下の3つにあると思います。
- 「分らなくても時間をかけて、もがいていればいずれ分かるときがくる」という考え方を持てたこと。
- 「決して頑張らない」ことを心がけたこと。
- 人に恵まれたこと。
「わからなくても時間をかけて、もがいていればいずれわかるときがくるかもしれない」という考え方を持てたこと
上述しましたが、この考え方をプラクティスをを進める中で持てたことで、分らないことが分らない状態に陥った時にそこまで精神的に落ち込むことなくやれたと思います。
「決して頑張らない」こと
私は「頑張ること」 = 「無理をして120%」を出すことだと思っています。
私は「頑張ってしまう」と、どこかでしわ寄せがきて、最終的には著しくパフォーマンスを発揮できない状態になりやすかったです(これは大学院時代に考えたことでした)。
そのため、私は「頑張って勉強する」のではなく、「70%くらいで淡々と勉強し続ける」ということを意識していました。
具体的には、「今日は調子良くて12時間勉強したけど、翌日は疲れて3時間しか勉強できなかった。翌々日も3時間しか勉強できなかった」というよりも、「今日も翌日も翌々日も6時間勉強した」ということの方が、私にとっては精神的にも疲労が少なく合っているように思えました。
ただ、この考え方や取り組み方は実務や現場では合ってないかもしれないので、今後変えていく必要があるのかもしれません。
人に恵まれたこと
ブートキャンプには日報というシステムがあり、受講生の方々がその日学んだことや、感想などを書いて投稿します。
そのおかげで同じ時期に入会した方や、同じプラクティスを学んでいる方の存在を強く感じることができました。
それにより「なんとかやっていこう」という気持ちを保つことができたという面もあります。
また、ハマったところや悩んでいるところはkomagataさん・machidaさんを初めとしたメンターの方々に加えて、受講生の諸先輩方も教えて下さりました。
ブートキャンプの外でも、Rubyコミュニティで多くの人に技術的なことや、キャリア、就職活動についてなど色々なことを教えていただきました。
ありがたいことに現在働いている会社は、Rubyコミュニティに参加している中でmachidaさんに教えていただいた企業です(試用期間を終えることができたら入社エントリを書きたいと思っています)。
このように多くの方々に助けていただいて、今プログラマーとして生を受けることができたと思っています。
まとめ
FJORD BOOT CAMPで勉強する段階が終わり、プログラマーとして働いていくという新たな段階に入るという、節目ということで振り返りとしてこの記事を書きました。
この先、自分がどうなっていくのかは分らないですが、もし一端のプログラマーになっていくことができたなら、お世話になったコミュニティに少しずつ恩を返していければと思っております。
補足
- 先日いただいた卒業記念Tシャツと、卒業証書です。すごく嬉しい…
卒業Tシャツと証書