paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

現役エンジニアが「4月入社の新人エンジニア」におすすめする書籍17冊

f:id:paiza:20170403132301j:plain
Photo by Germán Poo-Caamaño

f:id:paiza:20140916135428p:plainこんにちは。谷口です。

4月からITエンジニアになられた皆さん、ご入社おめでとうございます。

今回は、新人ITエンジニアの皆さんにおすすめしたい書籍を、弊社の現役エンジニアたちに聞いてきました。

分野ごとにわけてご紹介していきますので、片っ端から全部読むというよりは、自分に必要な分野・不足していると思う分野からチェックしてみるのがよいかと思います。

■仕事全体の進め方について

Clean Coder

Clean Coder プロフェッショナルプログラマへの道

Clean Coder プロフェッショナルプログラマへの道

達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道

開発業務というのは「ただただPCに向かってプログラミングだけしていればOK」というわけではありません。効率よく質の高いコードを生産していくためには、やるべきことや気をつけるべきことがたくさんあります。この辺の書籍には、プロの仕事の進め方や考え方、気をつけるべきことなどが書かれていますので、これからエンジニアを目指す人の参考になると思います。

プログラマが知るべき97のこと

プログラマが知るべき97のこと

プログラマが知るべき97のこと

世界中で活躍している97人(+日本人10人)のプログラマたちのエッセイ集です。著名な開発者たちが大事にしている考え方や勉強方法、また「若い頃はこんなことで苦労した」などといった興味深い話が詰まっていて、特に経験の浅い若い人におすすめです。

■コードの書き方について

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

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リファクタリング―既存のコードを安全に改善する―

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

リーダブルコードはかなり有名なので、学生時代に既に読んだことある人も多いかもしれませんが、この2冊は、メンテナンスしやすいコードを維持していくための大切にすべき考え方が詰まっています。

新人のうちに読んでおけば「読みやすいコードを書くための良い習慣」を早くから身につけることができるかと思います。「美しいコードは尊いもの」という考えを身につけるためにも、手元に置いておきたい書籍です。

プログラミング作法

プログラミング作法

プログラミング作法

スタイル、アルゴリズムとデータ構造、設計と実装……などなどの章立てを通して、プログラミングをしていて壁や落とし穴にぶち当たった時にどのような行動をとるべきかが解説されています。「プログラミングするときに守った方がいいルール」の多くが書かれていますので、読んでおけばこの先プログラミングで苦労することがかなり減らせるはずです。

■Web開発について

Webエンジニアの教科書

Webエンジニアの教科書

Webエンジニアの教科書

Webを支える技術

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

この辺の書籍には、Web開発初心者向けの基礎的な知識が詰まっています。Webサービスを開発している企業に入社したてで「プログラミングは学生時代に習得してきたけど、WebやSQLなどの知識はちょっと弱いかも?」といった人におすすめです。

GitHubについて

GitHub実践入門 ~Pull Requestによる開発の変革

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

「業務でGitHubを使うことになりそうだけど、あんまり使ったことないから詳しくない」という人におすすめです。実際に手を動かしながらGitHubの基本的な使い方や、GitHubを使った開発フローについてが学べます。

■DB・SQLについて

SQLアンチパターン

SQLアンチパターン

SQLアンチパターン

SQLの記述方法だけでなく、DB設計の段階から、様々な場面で陥りやすいアンチパターンについて解説されています。アンチパターンというのは「やってはいけない、避けたいパターン」ということです。知らないとついついやってしまうアンチパターンですが、「なぜやってしまうのか、どうすれば防げるのか」がわかりやすく書かれています。

DB設計の経験がある人向けの書籍だとは思いますが、DBを使うことになった新人の人にもおすすめしたいです。

■ゲーム開発について

ゲームデザイン

ゲームデザイン脳 ―桝田省治の発想とワザ― (ThinkMap)

ゲームデザイン脳 ―桝田省治の発想とワザ― (ThinkMap)

ゲーム開発のエンジニアになると、プログラミングだけでなく企画から入ることも多いと思いますので、そんな人におすすめです。「リンダキューブ」や「俺の屍を越えてゆけ」を作ったゲームデザイナーの桝田さんが、ゲームを通してアイデアの考え方や視点を語られた書籍です。読み物としてもかなり面白いですよ。

アルゴリズムについて

珠玉のプログラミング

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

古典ですが、エレガントなプログラムを書く際のさまざまなアドバイスや手法が書いてあり、アルゴリズムの大切さがよくわかります。ベストなプログラムに至るまでの過程が擬似コードや図表を用いて書かれているので、どのようなアプローチで考えていくべきかを知ることができます。アルゴリズムやデータ構造について学びたい人におすすめです。

■コンピュータ原理について

コンピュータはなぜ動くのか

◇ネットワークはなぜ繋がるのか

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

コンピュータやネットワークにおける原理的な仕組みや「中で何が起きているか」を理解できているでしょうか。情報系を専攻していた人にとっては当たり前の知識かもしれませんが、文系で情報系の勉強をしてきたわけではない人は、ちょっとずつ勉強しておくといいかと思います。

計算機プログラムの構造と解釈 第二版

計算機プログラムの構造と解釈

計算機プログラムの構造と解釈

通称SICP。プログラミングではなく、あくまで計算機科学についての書籍です。情報系を専攻してこなかったけどコンピュータサイエンスの基礎を勉強したい人、Lispに興味がある人におすすめです。

ただ正直言って初心者向けの書籍ではないため、一人で読んでいるとつらい……出てくる練習問題も難しくてわからない……誰かに教えてほしい……というときもあると思います。そんなときはpaizaの中のエンジニアが読書会を定期的に開催しているのでぜひご参加ください……!! ↓
sicp.connpass.com

■企画について

なんとなく企画クリエイティブの仕事をしたいと思っている人のなんとなくをなんとなくじゃなくする本 なんクリ

自社サービス開発企業などで、実装だけでなくサービス企画から携わることになった人におすすめです。

企画とは選ばれた才能やセンスがある人にしかできないことではなく、「企画をするための技術がある」として、誰もがその技術を学び、習得し、企画クリエイティブの仕事に活かせるような方法論が書かれています。

■コミュニケーションについて

なぜ、この人と話をすると楽になるのか

会話の流れを細かく分解しながら、コミュニケーションの技術について解説している実践的な書籍です。どんな仕事でも、この先いろいろな人といろいろな話をする場面が増えるかと思いますが、それを憂鬱に感じている自称コミュ障の人におすすめです。

■まとめ

新人ITエンジニアの方の中には、「現在研修中です」という方も「既に開発業務に入ってます」という方もいらっしゃるかと思いますが、早いうちに読んでおけば今後の業務に活かせそうな書籍をご紹介いたしました。興味のある書籍がありましたら、ぜひ読んでみてください。

また、「これからプログラミングの基礎を学びたい」という方は、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べる「paizaラーニング」もおすすめです。

RubyJavaPythonPHP、HTML/CSSJavaScriptなどなど、人気言語が基礎から学べるレッスンを多数公開中です。
paiza.jp

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
paiza.jp
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza


プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編