はじめに
みなさん、こんにちは torihaziです
さて、今年は残すは1ヶ月となりました。
寒いですね、私は朝起きるのが遅くなってきました。
あまり生活習慣が乱れないように7時台には起きれるように頑張っていきたいと思います。
では 4ヶ月目の振り返り、startです
感想
そうですね、箇条書きで思いついたこと書いていきます。
- エラーの解決が早くなった。
- やっぱりコード書くのが楽しい。
- 記事投稿が少なかった
- backendのコードリーディングが早くなった
- 口うるさいかもしれん
- Go は難しい
1つずつみていきましょう
エラーの解決が早くなった
これは、同じエラーを何度もみているからかログを意識的に読むようにしていたからか早くなったと感じます。
多分、何度もフロントとバックのコードを行ったり来たりして全体がわかるようになってきたからということも影響している かなと思います。今までは他人が書いたコード(特にバックエンド)の意味を理解することになかなか苦労していました。
しかし「最終的にやりたいことは何か」と言うのがわかると解決までが早いことがわかりました。
例えば、最終的にそれが多分必要だからそこから逆算してこの値がおそらく必要。だからここではこの値を返す必要があってDBにこの値で絞り込んでこの処理を書く必要があるんだけど、多分ここでこれがこうなってるからエラーが返ってくると思うんだよね、あ、やっぱりログ見ると同じところで引っかかってるしビンゴみたいな感じですね。
今まではコードを追うことができていなかったもしくは甘かったのだと思います。
慣れていなかっただけということもあるかもしれません。
実際やってみると、難解なアルゴリズムをつらつらと書いているわけではないし、
1つずつ紐解いていけば基本的なことの連鎖でした。
基礎侮ること無かれですね。Claudeにエラー文はっつけて、言われたことを実施するだけのエンジニアにならなくてよかったです。
やっぱりコード書くのが楽しい
11月初旬は少し腐っていました。全体の要件を理解できていなかったからというのもあったかもしれません。
メンバーにタスクを振るもしくはドキュメントに残タスクを書き出すみたいな少し味気ないものばかりをやっていました。
めちゃめちゃつまらなかったです。コード書かずに1日が終わる時もありました。
ただそこから徐々にプロジェクトの理解が進み、道筋がわかってくるといつの間にか自身のモヤモヤというか焦りが消えていました。
書いていて思ったのですが、自分は目指すべきゴールが分からずに作業を進めることにひどく不快感を覚えるようですね。
確かにむしゃくしゃしていました。焦りもあったと思います。こんなんじゃいつまで経っても稼げんてみたいな。
要件理解するまで人捕まえて聞いて、聞いて、でやっと理解して。
あのとき腐り切らずに途中で持ち直せてよかったです。自分の精神力に感謝ですね笑
PMつまんないというわけじゃないですよ。今思えばさっきも書きましたが要件理解しきれてなかったことが原因ですね。
11月の中盤くらいからコード書くことが増えてきて、やっぱむっちゃ楽しいとなったので思いついたんだと思います。
記事投稿が少なかった
これは少し反省ものですね。技術記事投稿が少なかったです。
1日業務やっていて分からないことの1つや2つ出てくるはずです。
もしなければ昔の自分に向けてRubyの概念の1つや2つ出せるはずです。
出そうとしていないから出ないだけ。
甘えでしたね。12月は頑張らないと。
1週間に1つはやんないとですね。
backendのコードリーディングが早くなった
これはエラー解決の時に読むようになったからですかね。
名前空間とか仕組みが最初わかんなかったのですが、今となっては大丈夫です。
理解の詳細度が上がったからだと思います
口うるさいかもしれない
これは母親譲りだと思います。よく言えば他人を気にかけている見ている、悪く言えばおせっかい口うるさいです。
PMもどきとして"終わらせる"ということに意識を向けるとどうしても"早くしないと、あの人大丈夫かな、詰まってないかな"
と思ってしまいます。それが当人のコードと向き合う時間、考える時間を奪い成長を阻害してしまっているのではないかと。
最近はいい意味で"ほっとく"ことを意識していますが、やっぱり気になります。どうすればいいんでしょうかね。
ただあるところまで行くと一気に母親と同じでその相手に対して無関心状態になると思うので、んーまぁそうならないように気をつけます。
Goは難しい
文字通り、難しいです。
バニラな印象を持ちました。いろんなことを自分で1から書かないといけないなというのが感想です。
ただ1から書けるから制御も細かくできそうかなとも思いました。
現状わからないのはポインタとgoroutineとかいうやつですね。
ifとかforは他の言語と似てるのでそこはハードル低かったです。
頑張りどこですね。
得た知識
フロントバックについて得た知識をつらつらと。
front
- useSWRはキーが変わると再取得を行う
- useSWRはmutationする際キーの管理が重要
- リフレッシュトークンの扱いはシングルトンクラス使うと便利かも
- Mapオブジェクトはキーとバリューの組み合わせからなるデータ構造で使うと便利なことが多い
front少ないですね。多分まだ頭の中で埋没してそうな気がします。そうですね、現場で使ってる技術の詳細な説明を詳しく書いた記事を12月は書くことにしましょう。react-hook-form、zod、useSWRとかでしょうかね。
back
- 名前空間は実際のディレクトリ構造と一致しているわけではない
- module Hogeとか使ってディレクトリ構造と別にすることができるけどわかりにくいからしないだけ。
- モデルのcreate処理で例外処理目的で!つけるけどそれが可能なのはActiveRecord::Baseを継承したものだけ
- Mailを送るには ActionMailer::Baseとかいうやつを継承したものじゃないとダメ
- 変数の存在判定はempty?とかあるけどblank?が便利。
- frontからjsonをbackに送るにはjson.stringfyしないとダメ
backも少ないですね。多分まだあると思うんですが埋没しているだけですね。理解の詳細度をもっと上げてかないといけません。
インフラ系に関する知識は・・・ですね。ここら辺の知識をどうつけるかが考えところです。
終わりに
今年ももう終わりかけています。
今年の最初を思い出してみるとちょうどHCに入ったくらいですかね。
昔立てた目標を見てみるとまだスクールは卒業しておらず、Goの勉強とかをしていたそうです。
本当は前職9月くらいで辞められていたことを考えると本当に思い切って抜け出してよかったと思います。
まじで人生変わったと思います。
あの時は本当に辛かったですね。
実務と違うことを勉強しないといけなかったので、本業へのやる気を見出すのがきつかったです。
資格を頑張ってとっても特に関係なかったし。
思い出すと目の前暗くなるのでこれくらいにしときますが、
兎にも角にも死に物狂いで頑張ったからこそ今があると思っています。
とにかくやったからです。
ただひたすらに。
それ以外に目標達成する方法はないと思います。
愚直に継続あるのみです。
ということで今年最後の1ヶ月お互い頑張りましょう。
現場からは以上です。