koheitakahashiのブログ

2020.07.01にプログラマーとして生を受けた私が学んだことや、日常について徒然に書いていきます。

2020年の振り返り

気づけば31日ということで、2020年の振り返りをしていきたいと思います。

この1年の動向

1月 ~ 6月 FJORD BOOT CAMP で勉強

就職を目指して FJORD BOOT CAMP のカリキュラムを粛々と進めていました。 ここで、JavaScript と Vue.js や Action Cable に出会い、「難しい...」と四苦八苦していました。

そして、有難いことに、都内の受託企業に内定をいただきました。

7月 ~ 9月 入社と研修期間

7月から入社して、そこから9月まで研修をしていただきました。
研修では基本的な Rails のアプリを開発していくという形式で進められ、Rails の基本的な書き方を教えていただき、大変勉強になりました。

9月 ~ 12月 初めての実務

研修が9月に終わり、初めての案件にアサインされました。
初めての実務でしたが、社内の方々に色々とご教授いただきながら、なんとかタスクを進めることができました。

学んだ技術

Ruby

基本的なメソッドも覚え始めてきて、少しは自分が考えたように処理が書けるようになってきました。
その上で、今年は Ruby をさらに深く理解したいということで、『メタプログラミング Ruby』を読みました。しかし、内容が難しくてあまり理解したとは言えません。

引き続き Ruby を深く理解していきたいと思っているので、『メタプログラミング Ruby』を読み返したり、『Ruby のしくみ』などの本を読んでいきたいと思っています。

JRuby

実務で触ることになったのですが、こちらはあまり理解して使いこなせているという状態ではありません。

一応、JRuby + Ruby on Rails を使用しての開発〜デプロイまでの基本的な流れは少し分かってきたつもりです。

しかし、JRuby 独自の機能である Java のメソッドをコールするなどの凝った使い方までは、使いこなせるとは言えない状態です。
そのため、もう少し JRuby を理解していきたいという所存です。

Ruby on Rails

FJORD BOOT CAMP のスクラム開発のプラクティスの中で、Action Cable を学んでおりましたが、最初は「分からないことが分からない」状態でした。
しかし、WebSocket がどのようなものなのか、pub/sub モデルがどのようなものなのかを理解していくことで、ようやく Action Cable を少し使える状態になりました。

また、基本的な Rails 力を向上させたいと思い『Rails ガイド』に一通り目を通したり、『パーフェクト Ruby on Rails』を読んだりしました。

小規模のアプリ開発はなんとか進められるとは思うのですが、まだまだ分からないことだらけです。 来年も引き続き実務を通して、Ruby on Rails 力をつけていきたいという所存です。

JavaScript

1月から勉強を始めました。『JavaScript ふりがなプログラミング』、『初めての JavaScript』を読んだり、簡単なメモアプリを作ったりして勉強を進めていきました。 しかし、まだまだ考えた処理をスラスラと書くことができないという状態です。

JavaScript を書いていて「理解せずになんとなく書いている」という部分が多いと感じています。また、基本的な API が頭に入っていないとも感じるため、来年も引き続き勉強を続けていきたいです。

TypeScript

こちらは、実務で触ることになり10月ころから注力して勉強を進めてきました。 『プログラミング TypeScript』や『実践 TypeScript BFFとNext.js & Nuxt.js の型定義』などを読み、簡単なメモアプリなどを作りながら勉強していました。

基本的な書き方は分かったつもりなのですが、ジェネリクスを用いた書き方などは身に付いているとは言えない状態です。

一方で、初めて静的型付けができる言語に触れたのでとても感動しました。そこまで型のメリットを実感できたというわけではありませんが、コンパイルした時にエラーとなるコードが分かるのは素晴らしいと感じました。

Vue.js

1月頃から勉強しています。『これからはじめる Vue.js 実践入門』を読んだり、実際に手を動かしたりしながら、書き方を覚えていきました。

基本的な書き方は理解できたつもりですが、中規模・大規模のアプリ開発はまだまだという感じです。

加えて、Vue3 を目下勉強中ですが、Vue.js を取り巻くツール(webpack・vue-loader...など)の理解がまだまだというのを痛感しております。

バックエンドも難しいですが、フロントエンドの難しさを日々実感しております。

考え方の変化

7月から入社して、実務を通して、先輩方に色々なことを教えていただきました。そのようなことから、自分の考え方が大きく変わりました。

自分もチームの一員であると思えるようになった

これが大きな考え方の変化でした。

9月から実務に入らせていただきましたが、当初は自分が全くチームに貢献できてないことへの罪悪感がありました。そのような罪悪感からか、チームの中で上手く振る舞うことができていないという感覚がありました。
ただ、そのことを社の先輩方に話させていただき、その中で「自分とチームを切り離して考えてしまっていること」に気づかせていただきました。

その気づきがあり、「自分もチームの一員なのだから、自分にとっての利益はチームにとっての利益である」ということを考えられるようになりました。 そのように考えられるようになったことで、チーム内での振る舞い方が以下のように変わってきたという実感があります。

コードレビューで、気になったことや分からないことを率直にコメントできるようになった

今のチームでは PR を相互にレビューをする文化が根付いているため、プログラマー歴10年以上の先輩が私にレビュー依頼をくださることが多いです。

最初は「どのようにレビューをすれば良いのか分からない」という状態でした。
分からないところがあっても「これは自分の勉強不足だ」と考えてしまい、コメントしようと思ってもコメントできないということが往々にしてありました。

しかし、上記のように自分をチームの一員として自覚できたことと、「レビューは対話だから、分からないことや疑問に思ったことはどんどんコメントしていくべき」と教わったことによりレビューに対する考え方が変わりました。

「レビューは個人のコードをチームの共有物にするためのもの。そのためには、対話をどんどんするべき」と考えられるようになり、レビューでコメントを残せるようになりました。

人の時間を奪っていることへの罪悪感が少なくなった

自分に割り振られたタスクを進めていく中で、ハマることが往々にしてありました。そのような時は、チームの方々が声をかけてくださり、モブプロを開いて下さります。しかし、その度に「時間を奪ってしまって申し訳ない」と思ってしまいました。

しかし、ある日「罪悪感を持つよりも、人の時間を活用した分、どのようにしたらリターンを大きくできるか」を考える方が、建設的ではないかと気付きました。
加えて、「そもそも人の時間を奪っているのではなく、そのような時間の使い方をしようと判断したのはチームメンバーなのだから、そのメンバーの判断を尊重するようにと捉えてはどうか」ということを教えていただきました。

そのような気づきがあり、罪悪感が薄れて、チームを頼るということができはじめたように思います。

来年の抱負

Ruby・Rails 力を高めたい

まだまだ Ruby・Rails を理解したとは言えない状態です。読むべきだけども読んでない Ruby・Rails 関連の本もたくさんあります。
そのため、読むべき本を読んでいくという形で勉強を進めていきたいと思っています。

Docker を理解したい

正直なところ、Docker は全く分かりません。そのため、Docker に触れて、少しは使えるような状態になることを目指して勉強を進めていきたいです。

フロントエンド力を高めたい

Vue3系を少しは扱えるようにすることと、React の勉強をしたいと思っています。
また、CSS 力に自信がなく、既存の CSS を少し修正するだけでも時間がかかってしまうという状態です。そのため、ある程度 CSS を自力で書けるという状態を目指して CSS 力をつけていきたいと考えております。

今作成しているアプリをリリースする

最近、「自分のアプリをリリースしました」と言えるようになりたいと思い、密かにアプリを作成しています。
後はフロントエンド関係のタスクが残っているので、2ヶ月以内にはリリースできそうではあるのですが、デザインが苦手なため「どうなることやら...」という気持ちです。

チームでの自分の振る舞いを客観的に見られるようになりたい

9月からの実務では、目の前のタスクをこなすことに精一杯で、自分の振る舞いを客観視できていなかったように思います。
そのため、来年は自分の振る舞いを客観視して、「自分の振る舞いはチームの役に立っているか、チームにとって建設的なものかどうか」という観点で自分の振る舞いを考えられるようになりたいと思いました。

最後に

以上、この1年の振り返りをしてみました。振り返りをしてみると、色々な経験が蘇ってきて非常に濃い経験をさせてもらいました。
特に入社してからは色々なことを勉強させてもらって、そのおかげで、入社前の出来事が遥か遠い昔のことのように感じられました。

このように言語化することで自分の学んできたことや取り組んできたことが、経験として自分の中で消化されたような感覚もあります。

また、来年の抱負がたくさんあって「全部に手をつけられるのか...」と今から心配ですが、なんとかやっていけるように優先順位を考えて取り組んでいきたいところです。