rikuto tech blog

ゆる〜くやってます

エンジニアになって4ヶ月で読んだ本たちを振り返る

f:id:riku929hr:20220321142005p:plain

時が経つのは早いですね…

昨年11月半ばに転職して今日でちょうど4ヶ月になりました。めちゃはやい。

そしてブログの更新が1ヶ月近く滞っていました。(その間に独自ドメインにしてみました✌)

でもQiitaは1本書きました←

qiita.com

入社してから知ったMergeとRebaseの使い分けについて書いてみました。よかったら読んでみてください!

自分の積読

入社してからいろんな本を読み漁りました。

Notionが非常に使いやすいので、積読KANBANなるカンバンボードを作り、読んだ本のログを取っています。

f:id:riku929hr:20220315235303p:plain

ここに記載している本は、Twitterでの口コミだったり、ゆめみさんの推薦図書 を参考に、仕事で使えそうなものから個人的に興味を持ったものまでジャンル関係なく載せています。

気になったものはBacklogに積んでおいて、今読みたい・読む必要があると思ったものは、買ってReadyに移動させるという、本を買わない積読法です。これはNotionでしかできません。しかも、読書メモを残すのも楽!下の画像のようにアイテムにページを追加すれば、メモ機能も簡単に実現可能!Notionは最強です。

f:id:riku929hr:20220316000634p:plain

本の紹介します

このままではNotionの宣伝になってしまうので、真面目に本の話をします。

たぶんこの記事を読むのは僕と同じ駆け出しエンジニアの人だと思うので、前提を書いておきます。

個人開発レベルだが、大学でプログラミングやってた。主にC++python

開発実務は初めて。

現在、仕事ではReact(JavaScript)とLaravelを書いている。

ということで、ちょっとプログラミング経験があって、これからしっかり開発業務していくぞ!という人の目線になると思います。

本① リーダブルコード

言わずとしれた名著です。

書いてあることは主に下の2つです。

  • 良い命名の仕方
  • 良いコメントの書き方

もちろん、設計に関することも少し載っているのですが、本の半分くらいがこの説明に当てられています。様々な言語で、いい例と悪い例が載っているので、とても参考になる良き本です。

実は、最初にこの本を読んだのは大学院生だった2019年頃で、いま働いているオープンロジの技術試験の前にこれを読み、コードをリファクタリングして提出したところとてもウケがよく、入社することができたようです←

というわけでとてもおすすめしております!!

本② SOFT SKILLS

この本は技術書というより、エンジニアとして(もっというと社会人として)の処世術が、筆者の経験をベースに事細かに記載されている本です。

前回記事ではこの本の読書レポートを投稿していました。

blog.riku929hr.com

僕と同じ新卒〜3年目くらいの人たちにおすすめします!

ただし注意点があります。前回記事にも書いていますが、原著がアメリカのため日本と若干の違いがあることと、筆者がFIREを達成しており、FIRE達成のためにはどうすればよいかという視点に少し傾いています。ここは違うな、と思うところは気にしなくて良い気がします。

本③ ソフトウェアテストの教科書

僕はエンジニアとして今の会社に入社するまで、テストコードというものを一度も書いたことがありませんでした。

そこで、テストとは何かを知るのにいい本として、ネットでよく紹介されていたのがこの本でした。

非常にコンパクトに纏まっていながらボリュームがあり、短期間でテストについてインプットするには十分すぎる内容になっています。

ただ一方で、テストを専門としない人にとってはかなり手応えがあります。 私の開発チームのリーダーからは、大体3章の「ホワイトボックステストブラックボックステスト」まで読んで理解すれば最初は十分とのコメントをもらいました。

業務で扱う範囲が増えるに従って読み進めていけば良さそうです。

本④ Java言語で学ぶデザインパターン入門

実はまだ読みはじめです。500ページ前後と非常にボリュームがあります。

読もうと思ったきっかけは、Laravelを使っているのですが、その設計がGoFデザインパターンに由来していると知ったことです。たぶんこの記事を読んでいる多くの人が、何かしらのフレームワークを用いて開発したり、そもそもフレームワークそのものを作ったりしているかと思いますが、設計思想を理解しておくと良い開発ができると思います。

実際僕も、コードレビューで指摘されることの大半は設計に関することで、設計の知識があれば指摘されずに済みそうだなと思うことが多々あります。 LaravelにはEvent/Listener、Resource、Providerなどたくさんの用語が登場しますが、このデザインパターンに基づくものが多いそうです。

ボリューミーですが早く読み切りたいですね。


今回ここで紹介した本は、おそらくエンジニアのポジション(フロントエンド、バックエンドなど)によらず役に立つものだと思っています。

駆け出しの皆さん、一緒に頑張りましょう!