1
/
5

駆け出しエンジニアにぜひ読んでほしい名著を人事が紹介する#1

みなさん、こんにちは!
株式会社スリィ・ウェイブ 採用担当の髙杉です。

突然ですが、わたくし髙杉の夫はWeb系エンジニアで、自宅に結構な数の技術書があります。
弊社スリィ・ウェイブは、開発経験者はもちろんですが、実務未経験の方の採用も行っています。
未経験の方の中には、つい最近エンジニアを志して、まだどんな言語を学ぼうか考えている最中…という方や、コードを書けるようになってきたので、もう一歩踏み込みたい…と思っている方もいるのではないでしょうか?

そこで、

「うちにある本の中で、経験が浅い駆け出しエンジニアにおすすめするとしたらどれ?」

と聞いてみましたら、いそいそと本を引っ張り出してくれました!(笑)

というわけで、今回は実務経験のない(または経験の浅い)エンジニアの卵さんにこそ読んでみてほしい本をご紹介します!


現役エンジニアがレビューするのが筋かなと思ったのですが、これからエンジニアを志す人に近い立場=Notエンジニアの方が距離近いんじゃ?と思いまして、Notエンジニアの私が読んで「こういう感じだからおすすめ!」という部分を中心にご紹介いたします!

今回ご紹介する本は、こちら。

「リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック」

リーダブルコード
美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ。(本書「はじめに」より) ...
https://www.oreilly.co.jp/books/9784873115658/


リーダブルコードは、「脱初心者したい人は読むべき」「数年前に買って読んだけどまた読み直した」などなど、ちょっと調べただけでも非常に多くのレビューがあり、長く愛されている名著です。(以下、本書といいます)

本書は233ページと、技術書の中では読みやすいボリューム感なのではないかなと思います。持ち運びも気にならない重さ。電子版もあるみたいなのでそっちの方が…とわたしは思うのですが、技術書は絶対紙の本が良い!!と旦那は言い切っているので(パッと見たいところを開くのが楽だったり、隣に置いて作業しつつ読んだりしやすいため)、紙をおススメします。

「いかにも技術書!」的な語り口ではなく、先輩からのアドバイスのような読みやすさと分かりやすさ

本書は、身近な先輩からアドバイスをもらったような感覚で読み進められる本だなと感じました。レビューを見ても、同じようにに感じる方が多いみたいです。
様々な酷いコードを見てきた著者が、豊富に事例を出しながら解説してくれるので、「なるほど感」がすごくあります。その「なるほど感」も、何と言いますか…例が大きすぎず身近な感じがするんです。
Notエンジニアのわたしでも身近に感じるくらいなので、学習進められている方や現役エンジニアさんなら

わかりみが深い…

と感動してくれるんじゃないかなと思います。
プラスして、各章が難易度別で独立しているので、それこそ一番後ろから読んでもいいし、真ん中から読んでもいい仕様です。

本書は楽しく気軽に読んでもらいたい。できれば1~2週間で読んでほしい
引用:はじめに [本書の読み方]

と書いてありますので、一気に詰め込むものではなく、電車の移動時間などに読み進めるのが良いスタイルかな、と。尚更、各章で完結していると読みやすくていいですよね!

「コードを誰かに読まれること」を念頭に置くことができる

本書の目的は、読みやすいコードを書くことである。その中心となるのは、コードは理解しやすくなければいけないという考えだ。具体的に言えば、誰かが君のコードを読んで理解する時間を最短にするということだ。
引用:はじめに [本書について]


コレがこの本の全てと言っても過言ではないです。
自己学習だと特にそうだと思うのですが、コードを書いて読む人って基本的に自分しかいませんよね。
自分にわかる名前をつけるし、ちょっと行数が多くてモッサリしてても「まぁ動けばいいか…」となりがちではないでしょうか。まぁ、そりゃそうですよね。自己学習なので、まずは結果を出す(問題なく動くコードを書く)ことが優先されるのが道理だと私も思います。
しかし、現場に出ると色々な人が介入します。
特に弊社がやっているSES(客先常駐)は、色々なエンジニアの記述を読みますし、読まれます。
自分は解っても違う人に伝わるとは限りませんし、逆に他の人の書いたコードで「なんじゃこれ?」となることだってあるかもです。
そういった「コードを誰かに読まれること(そしていろんな人のコードを読むこと)」を意識できるようになるのも、本書の良いところではないかと思います。

特定の言語に絞られておらず、共通した表記上の改善点がわかる

説明のために、C++、java等のプログラミング例が出てきますが、これら言語に対する知識は特になくても読み進められます。もちろん扱ったことがあれば尚わかりみが深くなると思いますが、他の言語でも問題なく応用出来る内容です。


例えば、名前について。どんなコードを書くときでも、名前は重要な情報となります。
本書に記載されている例を出すと、

def GetPage(url):

一見分かりやすい名前のように思いますが、この部分だけ読んで、ページをどうやってGetするのか分かりますか?
データベースでしょうか。インターネットでしょうか。
書いた本人は解っていても、同じコードを他の方が見て、同じように理解してくれるとは限りません。
上記のような例であれば、FetchやDownloadなど状況によって明確な意味をもつ単語を選びましょう。それが解りやすさと伝わりやすさの第一歩かもしれません。

…というような、非常に解りやすい例が盛りだくさんです。本書内のアメリカンな雰囲気のある挿絵も、解りやすさ2割増しです。


名前の他にも、美しさ(整列や改行)、コメント、テストと読みやすさ等、実務を行う上でも役立つトピックが掲載されております。


実務経験や勉強度合によっては分からない章も多いかも知れませんが、そういう時は飛ばし飛ばし、
興味のあるものを中心に読み進められるのも本書の良いところかと思います。

以上、とてもとても簡単ですが「リーダブルコード」のご紹介でした。
…いかがでしょうか?興味、そそられました?
検索すると現役エンジニアさんのレビューもたくさん出てきますので、ぜひそちらも参考にしてみてください!
わたし自身も、プログラミングをする環境ではないものの、こういう部分に苦労するんだなぁ…という気付きを得ることができたので、非常に役立ちました。
もし興味が湧きましたら、「気になる」押して弊社に遊びにきてください!お貸ししますので!(笑)

株式会社スリィ・ウェイブでは一緒に働く仲間を募集しています
1 いいね!
1 いいね!
同じタグの記事
今週のランキング