はじめに
こんにちは!ミツカリでジュニアエンジニアをしています。tt(髙橋)です。
この記事では私がエンジニアになってから読んだエンジニア向け書籍を、新人の視点でレビューします。 今回は技術そのものよりも心構えなどについて書いた書籍をレビューいたします。
これから勉強を始める方、新人教育をされる方の参考になれば幸いです。
自己紹介
30代半ばでジュニアエンジニア?とタイトルで疑問符を浮かべる方もいたと思います。 まずは簡潔に自己紹介をしますね。
ざっくりキャリア
- 大学は経営学部、アカデミックなマーケティングを学ぶ
- Webマーケティングで約10年間
- マーケティングの仕事つながりを元に、2023年に未経験エンジニアとしてミツカリ参画
なぜエンジニアに?
- マーケティング界の天才(と個人的に思っている人)と一緒に仕事をした経験から、マーケティング一本で生きる自分に納得いっていなかった
- 普通の人は選ばないキャリアを選択することで、マーケティング一本では勝てなくても天才と肩を並べられるような人材になりたかった
- でも結局のところは血筋な気がする(兄二人いてどちらもIT専門職)
これが全てではないですが、おおまかに言うとこういった流れでした。
書籍レビュー
それでは本題の書籍レビューです。
人や環境によって感じることは変わると思いますので、あくまで私個人の感想としてお伝えします。
『リーダブルコード』 / Dustin Boswell (著), Trevor Foucher (著), 須藤 功平 (解説) / 2012/6/23
概要
優れたコードとは?そして優れたコードを書くためには?を凝縮した書籍。 how→具体例→whyの流れで、よりよいコードを書くノウハウが細かく解説されています。
おすすめ度
★★★★★
学べたこと・良かった点
エンジニアに限らず、どんな分野の新人にも存在する大きな課題の1つに、目指すべき姿やあるべき形が分からないというものがあると思います。
この書籍で一番よかった点はそんな新人の課題に対する答えの1つとして、コードを書く際の指針が提示されることです。
この書籍では優れたコードを「同僚、そして未来の自分が最短時間で理解できるコード」と定義しています。
なぜそれが優れたコードなのか、そしてどういう状態が優れたコードとなるのか、といった解説を通してコードを書く際の指針を明確にしてくれます。
また、コードを書くノウハウがこの書籍の中心ですので、優れたコードにたどり着くための具体的な方法を多く提示してくれています。
エンジニアになりたての際に読むことで、すぐに役立つ一冊だと思います。
微妙だった点
コードを書いた/読んだ経験が少ない新人には実感が湧きづらいという問題はあります。
「こういう書き方をした方が保守しやすいし、シンプルだよな」
「あっちこっちに処理や定数の定義が飛んでいくコードは読むのに苦労するなぁ」
ある程度コードに触れていくと、上記のようなことを日々の業務で感じると思います。
しかし、がちがちの新人の頃はそんな感覚もないので、言葉としては理解できますが実感は難しいです。当時この本を読んですぐに活かせた内容は、命名規則やコード内コメントなど、新人でも意識しやすい内容に偏っていた気がします。
とはいえ書籍の内容や構成が悪い訳ではありません。
新人の頃は新人なりの学びが、経験を積んだら積んだなりの学びがあるように感じます。
この本は定期的に繰り返して読むことが大事なのかもしれません。
『コードが動かないので帰れません! 新人プログラマーのためのエラーが怖くなくなる本』/ 桜庭 洋之 (著), 望月 幸太郎 (著) / 2023/9/13
概要
エラーを読む時の心構えや読み方、デバックの方法などを初学者向けに書いた書籍。 ポップな絵とキャラクターによって、初学者にとって恐怖の対象であるエラーと向き合う術を教えてくれます。
おすすめ度
★★★★☆
学べたこと・良かった点
100%ではないとはいえ、エラーを克服する術を学べる良書でした。
当時、エラーが出たときは一気に重い気持ちになっており、なんとかその状態を克服したいと思って読んだ本です。
まず、非エンジニアにとってエラー画面は怖いものだと思っています。
なぜなら非エンジニアがあんな画面を見る機会といえば、パソコンのクラッシュなど問題が起こった時くらいだからです。
エンジニアになりたての自分も
「英語の長文でよく分からない」
「所々に赤文字があってなんかヤバそうだけど何がヤバいか分からない」
「解決しないといけないけどググった先も英文ばっかりで絶望する」
といったことを感じていた記憶があります。
この書籍ではその気持ちを克服する術として
- エラー画面をなぜ怖いと感じるのか
- エラー画面には何が書かれているのか
- エラーを解決するためにはどうしたらよいのか
といったことが初学者にも分かりやすく書かれています。
エラーとどう向き合ったらよいか分からない、そんな気持ちを抱いているジュニアエンジニアは一度読んでみてもよいと思います。
微妙だった点
当たり前ですが、この本を読んだからといってすんなりエラーが解決できるようになる訳ではありません。
そもそもエラーを正しく読めても解決に至るには、ケースバイケースのアプローチや労力が必要だと今では思っています。
しかし、何も分からない新人としてはそういった広く通用する「解法」を求めてしまい、その期待の元でこの書籍を読んでも少し期待とずれてしまうと感じます。
気軽にエラーが解決できるようになる本ではなく、解決の糸口を見つける方法を知るための本として読むことをおすすめしたいです。
『世界一流エンジニアの思考法』 / 牛尾 剛 (著) / 2023/10/23
概要
米マイクロソフトの日本人エンジニアが開発の最前線で学んだ、エンジニア業務への取り組み方を紹介した書籍。 プログラムを書く機会が多いエンジニア向けに、考え方や意識の持ち方、取り組み方などを紹介しています。
おすすめ度
★★★☆☆
学べたこと・良かった点
前述の2冊とは違う視点で、エンジニアとしての意識の持ち方を学べました。
- 「Be lazy(怠惰であれ)」
- 「Fail fast(早く失敗しろ)」
- 「偉大なエンジニアになるのではなく、偉大な習慣を身に着けることが大事」
「Be lazy」は特によく言われるイメージですが、こういった意識・心構え・取り組み方を学べる書籍でした。
日々業務をこなしているだけでは、こういった考え方に触れる機会がほぼないと思います。
そのため、この書籍を通して学べることは非常に価値があることですし、読んで損はない考えています。
微妙だった点
前半はとても多くの学びがありましたが、後半は新人にとっては学びが少ないと感じました。 この書籍の後半で焦点が当たるトピックは以下のものになります。
- コミュニケーション
- チームビルディング
- 生産性を高める生活習慣
新人はここで挙げられているような、高い視座で考えることよりも目の前の業務をきちんとこなせるようになることが重要だと考えます。 そういった意味で新人にとっては重要性が一段下がる内容が多い書籍でもあるでしょう。
おわりに
今回の書籍レビューは以上です。
ここまでレビューしておいてなんですが、「何を」読むかより「何故」読むかが重要だと私は考えます。
つまりその時の自分の課題にあった学習をすることが、一番成長につながり業務への貢献度も高まりやすいと思います。
それは時にこのレビューにある書籍を読むことかもしれませんし、時にただひたすらに写経することかもしれません。
今まさに努力しているジュニアエンジニアの方が持つ課題とその解決のための学習に対して、このブログが何かしらの一助になれば幸いです。
現在、ミツカリではITエンジニアを募集しています。興味のある方はぜひお気軽にご連絡ください! herp.careers