【日記】最近読み始めた技術書について
技術書
雑記
公開日 : 2023/5/4
最近思うこと
普段、業務でRuby on RailsやReactなどを扱ったりしているが、いまいち自分が何エンジニアなのかとか、自分の強みは何なのかと自問自答することが多い今日この頃です。
広い意味でソフトウェアエンジニア、といった感じなのでしょうか。自分に何かとがった性能や才能があるようには思えないのですが、好きな作業があります。
それは不具合対応、バグの修正です。
仕様とは異なる動作が起こってしまったりして、報告を受け原因箇所を調査し、修正するのは楽しいと感じます。前職が医療系であった名残でしょうか。
なりたいエンジニア像
とはいえ、バグなんてないほうがいいです。もっと自分が上手にコードを書いていれば、、とバグに気づかされることも多いです。
また、新たな機能を開発したり、既存の機能のリファクタリングなどを行った際にアプリケーションを壊してしまうことがないように、自動テストの充実・適切にログを出力・適切な例外処理ができるようになりたいですね。
昨年末、自分はどんなエンジニアになりたいのかな、と悩んだ時期がありました。
ひとまず、バックエンドに関してもフロントエンド、インフラに関してもレベルとしてはジュニアもジュニアなため、たくさん学習・経験は必要ですが、何か自分の中に芯を持ちたかったんですよね。
業務で必要な知識についてはもちろん、どんどんキャッチアップしていくのですが、それに加えて
- ソフトウェアテスト
- ログ出力
- 例外処理
については、より意識していきたいと思っています。
仕様が複雑に入り組んでいる部分のロジックのコードを修正するというタスクがあった場合、テストが不十分だと、修正は本当に不安ですし、結構な確率でデグレを起こしてしまうでしょう。
また、大きなバッチ処理を実装しても、たいしてログも吐かない、おとなしいバッチ処理を実装してしまうと、実際にその処理を動かしている時に不安だと思います。
例外処理についても同じ感じで、変にエラーを握りつぶしてしまっているような処理を書いていると、実際にバグが出てから原因調査するのがとても大変になります。Ruby on Railsで言ったら、上手にカスタム例外クラスを作ったり、begin ~ rescueを書く際に変にエラーを隠蔽しないように気を付けないといけませんね。
今読んでいる本
すこし前、会社の書籍購入制度を利用させていただき、オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方を読んでいました。
その中で、テストについての項もありました。設計を考える上でテストしやすいような実装(上手にインターフェースが切れている)が大事というような内容があり、自分がこれまで書いていた実装やテストが依存まみれだったなぁ、とハッとさせられました。
テスト繋がりで、この5月の大型連休を使って、ソフトウェアテストについてもう一度勉強してみようと思い、半分ほど読んで積んでしまっていたはじめて学ぶソフトウェアのテスト技法を読み始めました。また、こちらの書籍を読んだらステップアップして設計も学びたく思っているので、次はテスト駆動開発を読んでみたいです。