フィヨルドブートキャンプを(11ヶ月前に)卒業したこと、楽しいことをすること

フィヨルドブートキャンプ Part 2 Advent Calendar 2021 - Adventar」4日目の記事です。

2021年1月にフィヨルドブートキャンプというプログラミングスクールを卒業しました。2021年1月から永和システムマネジメントという会社で働いており、スクールを卒業して就職してから11ヶ月経ちました。卒業エントリにしては時間が経っているのですが、時間が経ったから見えてくることもあるかなと思うのでこれまでのことと、これからのことをつらつらと書いていきます。

フィヨルドブートキャンプとは

フィヨルドブートキャンプとは、

プログラマーとして就職を目指せるだけのスキルを身につけることを目標としたオンラインプログラミングスクールです。就職を目指せるスキルを弊社では「現場の人間にとって、戦力になるプログラマー」としています。

というプログラミングスクールです。主にRailsエンジニアとなれるような学習サポートを行っています。

私は以前SIerCOBOLアセンブラで書かれたプログラムの保守をしていました。その会社は技術的な知識より業務知識のほうが重視される環境でした。仕事をしているうちに技術的なことを知るのが楽しくなってきたので転職したくなり、転職できるだけのスキルを身につけるためにフィヨルドブートキャンプの門を叩きました。

フィヨルドブートキャンプの卒業

フィヨルドブートキャンプでは、基本的にカリキュラムの最後にある「自作Webサービスを作る」を終えたときに卒業になります。*1 私は少し例外で、自作Webサービスを作らないまま卒業してしまったのですが…それは2022年の目標にしようと思っています。

カリキュラムは 学習内容 | FJORD BOOT CAMP(フィヨルドブートキャンプ) に載っています。この課題1つ1つをプラクティスと呼ぶのですが、プラクティスを一通りやることで最終課題である「自作Webサービスを作る」ができるような順番になっています。

ということで卒業すると自作Webサービスを自分で作れるだけの技術力が身につくようになっていますが、その過程をどう進めるかは個人の自由です。プラクティスの終了条件を満たせば良しとしてどんどん進むこともできますし、自分の理解度に合わせてじっくりと進めることもできます。私は後者の方で、分からない・疑問に思ったところは時間がかかっても脇道に逸れてもなるべく理解しながら進めるようにしました。

フィヨルドブートキャンプを卒業して、当初の目標だった「転職できるだけのスキルを身につける」「技術力を重視する会社に転職する」は達成できたと思っています。加えてOSSにコントリビューションするとか、フィヨルドブートキャンプ在籍中から取り組んでいたことが繋がって卒業後にRubyKaigiに登壇するなど、入る前に思っていたよりいろいろなことを経験できました。

卒業したらどうなりたい?

フィヨルドブートキャンプを卒業と言っても、卒業して出来るようになっていることや、どんなプログラマーになりたいと思うかは人それぞれみんな違います。「自作Webサービスを作れるくらいの技術力が身につく」はほとんどの人に共通していますが、それ以外は同じ人はいません。

私はフィヨルドブートキャンプでプラクティスを取り組むうちに、自分は好きなことや気になることをつきつめるのが一番楽しいんだなと気づきました。また得意・不得意な分野も分かってきました。タスクを素早く仕上げるのは苦手です。また、なぜこう動くか分からず分からないことが気になっている状態でコードを書いていると具合が悪くなってきます。バグ探し、なぜこのコードはこう動くのかを調べること、コードの品質に気を配ることは得意な方です。また、私はOSSにコントリビューションできるとうれしいです。自分が使っているソフトウェアが誰かが作ったものであること、好きなソフトウェアがよりよくなるお手伝いができると喜びがあります。

就職に向けて自分を振り返るときに、自分は何がきっかけでフィヨルドブートキャンプに入って、これからどんなことがしたいだろうということを考えました。それはここに書きなぐってあるのですが、なぜエンジニアになろうと思ったのか? - :wq その中でやっぱり技術好きだなーと思って、そういった気持ちを持っている人が多そうな永和システムマネジメントに入りたいと思ったのでした。その印象は入社しても変わらず、よかったなぁとしみじみ感じているところです。

出会いを大事にする

今では文字コードが好きで RubyKaigi で文字コードの話を延々とするような私ですが、1年ほど前まで別に好きでもなんでもなく興味がある分野の1つでしかありませんでした。きっかけは、たまたまフィヨルドブートキャンプ内で文字コードの話を見かけて、自分の知っている範囲での文字コードまとめを日報に書いたことでした。書いた勢いでその日のフィヨルドブートキャンプ内の雑談タイムに参加して、たまたま igaiga, udzura がいたので「こんな認識で合ってますか?」というのを見てもらってその流れで家族の絵文字という面白い特徴を持った絵文字があることを教えてもらい、へぇ〜と思って家族の絵文字をirbに入力したらクラッシュしました。これがすべての始まりでした。

クラッシュする理由は全然分からなかったものの、クラッシュするのはよくないよなと思って osyo に教えてもらいつつ頑張って英語で Reline に issue を立てました。せっかく自分で遭遇したバグだから自分で直したいな〜と思いコードを眺めていましたが、Reline のコードは難しくて全然わかりませんでした。うーんと思っていたら Toyama.rb で Reline の作者の aycabta に Reline の基本的な構造を教えてもらう機会があり、自分でチャレンジすることにしました。文字コードの基礎がわからんとどうしようもないなと思って「プログラマのための文字コード技術入門」を読んでみたり必死で print デバッグしたりしてました。最終的には「1文字前の情報があれば修正できそうだが、1文字前の情報がどこにあるのかわからん」までは自力でたどり着いたのですが、修正までは行けず結局修正方法は aycabta に教えてもらいました。それでも自分の PR がマージされたときは感無量でした。それがきっかけで、 Reline と irb にはとても思い入れがあり、これからも手伝っていきたいと思っています。

OSS にコントリビュートできたといっても特別ななにかをしていたわけではなく、普段のプログラミング学習中にたまたま見つけた不具合にエイッと勇気を出して issue を立てたことと、Ruby が好きな人たちとのつながりのおかげできっかけや後押しをもらって、その勢いに乗ったら自分ひとりでもいろいろできるようになってきたと思っています。不具合も人間も出会いを大事にしてやっていくと、面白いことが起きるものだなぁと思います。

これからどうしたい?

自分の楽しいと感じること、自分の内なる声が「こっちが面白そう!」という方に向かっていきたいなと思っています。そうやっていると日々の人生がイキイキしてきますし、自分自身を信用している感じがして気持ちがいいです。

もう少し具体的な話でいうと、アジャイルな開発をいい感じにすすめていくことや、端末プログラミング(つまりReline)、Unicodeに興味があります。それ以外にも、お絵かきとか、フランス語とか、英語とか、焚き火に興味があって趣味でじわじわと取り組んでいます。来年は Rust も書いてみたいし、お仕事で使う JavaScriptCSSAWS とももっと仲良くなりたいです。OSS 活動も継続的にやっていきたい。やりたいことがたくさんあってとっ散らかっているのですが、ある程度継続できたら、楽しくないことはそのうちやらなくなってくるので自然にまかせておけばいいかなぁと思っています。楽しいことをしていると人生楽しいのでおすすめです。楽しくは感じられないがやらなければならないことは、そもそもなんで楽しくないのかを考えたほうがいいんだろうなと思います。

終わりに

シン・ゴジラという映画である人が書き置きを残しているのですが、その言葉が好きなので引用して終わりにしたいと思います。

私は好きにした、君らも好きにしろ

*1:正確には review ready な状態になると卒業扱いになる