梅雨なので雨の日にでも読んで欲しい新人ソフトウェアエンジニア向け技術系書籍5選
こんにちは!PR TIMESエンジニアの深川です。
梅雨が始まって、外に出ることが億劫になる日がしばらく続きますね。雨の休日などは家や近所のカフェで本でも読んで過ごしてみてはどうでしょう。
今回は年度初めの4月から二ヶ月が経過したということで、新人ソフトウェアエンジニア向けにおすすめの書籍を紹介します。
紹介するのは5冊ですが、セレクトするにあたって観点はこんな感じにしてみました。
- 読み進める難易度が(比較的)低い
- 私が実際の業務に役に立った
- 陳腐化しにくい耐用年数のある知識
■プログラミング
コーディングを支える技術
コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)
- 作者: 西尾泰和
- 出版社/メーカー: 技術評論社
- 発売日: 2013/04/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (33件) を見る
この本は型や例外処理など現在多く使われているプログラミング言語には当たり前の仕様となっている文法がどうして必要なのかを丁寧かつわかりやすい文章や例で説明した書籍です。
コードを書き慣れていないと、よくしらない言語仕様は尻込みして使うことに躊躇することがよくあるとは思いますが、そのような問題に本書はとても役に立ちます。
私もいままで使ったことのないプログラミング言語でコードを書いて迷ったとき、本書の該当する章を読み直すことがあります。
リーダブルコード
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (127件) を見る
この本は優れたコードとは何か、という問いに優れたコードは見た瞬間に何をしているか伝わると定義し、理解しやすいコードを書くために変数やメソッドの名前の付け方やコメントの書き方、ロジックをシンプルにする方法などについて、良い方法となぜそれは良いかを説明した書籍です。
この本の一番の良い所は、本書そのものが読みやすいところです。読みやすいコードを説明した本が読みやすいというのはすごく信頼ができます。
ある程度熟練したプログラマにとっては当たり前に感じる内容も多く含まれていますが、基本があっての応用であり、当たり前のことができることでより難易度の高い問題に取り組めるのだと思います。
本書を読み終わったならばコードコンプリートやリファクタリングといった、より内容の濃い書籍に取り組みことをオススメします。
■ネットワーク
ネットワークはなぜつながるのか
ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識
- 作者: 戸根勤,日経NETWORK
- 出版社/メーカー: 日経BP社
- 発売日: 2007/04/12
- メディア: 単行本(ソフトカバー)
- 購入: 31人 クリック: 372回
- この商品を含むブログ (100件) を見る
この本はネットワーク技術をWebブラウザにURLを入力してからWebページが表示されるまでの経路を通して説明する書籍です。
Webブラウザの利用といった馴染みのある題材なので、読んでいてもどこの説明をしているのだろう?と迷子になることは少なく、網羅的な説明があるため読解することによって得られる知識はネットワーク初学者にとって非常に有用だと思います。
インフラ技術者ではなくとも、下位レイヤー技術の基本的な知識があることは業務で役に立つことは多いです。
■テスティング
知識ゼロから学ぶソフトウェアテスト
- 作者: 高橋寿一
- 出版社/メーカー: 翔泳社
- 発売日: 2013/12/10
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
この本はソフトウェアテストの基本的な考えたを初学者向けに説明した書籍です。
品質管理担当でなくともソフトウェアエンジニアである以上はテストや品質とは離れられません。テストの漏れやダブりを回避して効率よく不具合を検出するための代表的な考え方や手法を学ぶ上で大変オススメの本です。
コードカバレッジの定義とテスト特性、境界値分析の使い方、ディシジョンテーブルによるテスト設計、テスト計画の立て方など実践に基づいた解説は非常に分かりやすく、読んですぐに開発中のテストに取り入れられる知識を学ぶことができます。
今回紹介する書籍の中でも一番読み終わる時間が短いのもポイントです。
■生産性
エンジニアのための時間管理術
- 作者: Thomas A. Limoncelli,株式会社クイープ
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/10/19
- メディア: 単行本(ソフトカバー)
- 購入: 11人 クリック: 322回
- この商品を含むブログ (153件) を見る
この本はシステム管理者を題材に、いかにスケジュールを管理するか、時間を効率的に使うか、多忙さに疲弊しないかをテーマにした書籍です。
ソフトウェアエンジニアはある程度業務に慣れたと上司やチームに判断されると、どんどん平行してタスクを遂行することを求められます。タスクの整理と優先順位の管理方法、割り込みタスクへの対応、ルーチンと自動化の重要性とマルチタスクで業務を進めるうえで有用な自分への管理スタイルを学べます。
一遍通り読んでもすべての内容に理解を得ることが難しいですが、タスクの多さやスケジューリングに悩みがあるときに読むと、きっと何か得られるものがあると思います。ぜひ、二年三年ごとに読み返して欲しい一冊です。
いかがだったでしょうか。これ以外にも紹介したい書籍はあったのですが、自分が新人だったときのことを思い出して厳選?してみました。
これから梅雨と外出しづらい季節になりますが、そんなときはこれらの本でも読んで、落ち着いた時間を過ごしてみるのも良いでしょう。