新卒(ML)エンジニアにオススメの書籍・Web サイト等
新卒だった頃の自分に薦めたい本の一覧とそれらに対してのコメントを書いていきます。 自分が新卒だったのは2年前なので最近だともっと良い本があるかもしれません。
まとめていった結果MLに限らず一般的な新卒webエンジニアに薦めたい本になりました。
ちなみに 自分がここ数年で読んだ本一覧はこちらにまとめています。https://booklog.jp/users/schumi543
想定読者
自分と同様, 大学の研究で簡単な数値計算や機械学習のコードは書いたことがあるが, 大きめのソフトウェアを書いたことがない新卒MLエンジニア。
ソフトウェア基礎
Linux, shell
IDE (Matlab, Rstudio, Pycharm)) などに慣れていてまともに Linux触ったことなかったので最初厳しかった気がします。 以下の2冊は自分で実際にCやgo で低レイヤのAPI触りながら仕組みが理解できるのでオススメです。
![[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 [試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識](https://images-fe.ssl-images-amazon.com/images/I/51r%2BeNsY2fL._SL160_.jpg)
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
- 作者: 武内覚
- 出版社/メーカー: 技術評論社
- 発売日: 2018/02/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
![Goならわかるシステムプログラミング Goならわかるシステムプログラミング](https://images-fe.ssl-images-amazon.com/images/I/515xkIcDgXL._SL160_.jpg)
- 作者: 渋川よしき,ごっちん
- 出版社/メーカー: ラムダノート
- 発売日: 2017/10/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
スクリプトを書くのはad-hocになりがちですが, 別のコマンド, APIを知っていると より効率的に書ける ということは割とよくあります(shell以外も)。 一度リファレンスをざっと通読しておくとよいかなと思います。
![[改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる (WEB+DB PRESS plus) [改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/41i956UyusL._SL160_.jpg)
[改訂第3版]シェルスクリプト基本リファレンス ──#!/bin/shで、ここまでできる (WEB+DB PRESS plus)
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2017/01/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
git
学生の時はバージョン管理システムをまともに使ってなかったので, 慣れるのに苦労しました。。。 概念に慣れるまでが一番厳しかったのですがとっつきやすかったのは以下の本でした。 マンガだと逆に抵抗感ある方もいるかも知れませんが, 内容と説明両方の面から今見ても十分オススメできる本です
![わかばちゃんと学ぶ Git使い方入門 わかばちゃんと学ぶ Git使い方入門](https://images-fe.ssl-images-amazon.com/images/I/51oMuvNCF3L._SL160_.jpg)
- 作者: 湊川あい,DQNEO
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2017/04/21
- メディア: Kindle版
- この商品を含むブログを見る
正規表現
コードやログを読むときに普通に検索するより正規表現の知識があると効率がとても良くなります。
![正規表現辞典 改訂新版 (DESKTOP REFERENCE) 正規表現辞典 改訂新版 (DESKTOP REFERENCE)](https://images-fe.ssl-images-amazon.com/images/I/51kgg8F66ZL._SL160_.jpg)
正規表現辞典 改訂新版 (DESKTOP REFERENCE)
- 作者: 佐藤竜一
- 出版社/メーカー: 翔泳社
- 発売日: 2018/05/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
データ構造とアルゴリズム
情報系あるいはそれに近い分野が専門だった場合, 大学で理屈は学んでいるかと思いますが, 実際にコードに落とすには慣れが必要なので オンラインジャッジ系の競技プログラミングの問題を解いてみるのはオススメです。
今だと AtCoderがとっつきやすくて良いかなと思います。
以下の入門記事から初めてステップアップしていくのが良さそうです。
集団開発の基礎
テスト, コードの書き方, 開発手法というトピックで何冊か選びました。
個人的にはここが会社で開発するうえで一番知識のギャップがあったなと感じます。 実際に仕事やってレビューしてもらう過程で知識は身についていくかと思いますが, 並行してこの辺りの書籍で勉強しておくとよさそうです。
テスト
![テスト駆動開発 テスト駆動開発](https://images-fe.ssl-images-amazon.com/images/I/51hsd-b1RTL._SL160_.jpg)
- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
![JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus) JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/51TaOch1LJL._SL160_.jpg)
JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)
- 作者: 渡辺修司
- 出版社/メーカー: 技術評論社
- 発売日: 2012/11/21
- メディア: 単行本(ソフトカバー)
- 購入: 14人 クリック: 273回
- この商品を含むブログ (69件) を見る
コードの書き方
![リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)](https://images-fe.ssl-images-amazon.com/images/I/51MgH8Jmr3L._SL160_.jpg)
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
- 購入: 68人 クリック: 1,802回
- この商品を含むブログ (140件) を見る
![新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES) 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)](https://images-fe.ssl-images-amazon.com/images/I/51RWpUlhNxL._SL160_.jpg)
新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)
- 作者: Martin Fowler,児玉公信,友野晶夫,平澤章,梅澤真史
- 出版社/メーカー: オーム社
- 発売日: 2014/07/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (11件) を見る
開発手法
見積もりとコミュニケーションのための本です。
手を動かす側の職だったとしても, プロジェクト or プロダクトマネージャがどう考えているか知ることは有用だと思います。
![アジャイルサムライ−達人開発者への道− アジャイルサムライ−達人開発者への道−](https://images-fe.ssl-images-amazon.com/images/I/51flKufOVUL._SL160_.jpg)
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 42人 クリック: 1,991回
- この商品を含むブログ (257件) を見る
設計
小規模なコードだといきなり書き始めてもなんとかなりますが, ある程度以上のコードは設計せずに書き出すと論理の不整合などで厳しくなってきます。 運良く完成できたとしても, 保守性が厳しいコードになりがちなので設計は少し勉強しておいたほうが良いでしょう。
設計の経験がない場合 コード書き始める前に設計や方針を先輩方にレビューしてもらうと良いと思います。
![UMLモデリングの本質 第2版 UMLモデリングの本質 第2版](https://images-fe.ssl-images-amazon.com/images/I/41LkPJiQcNL._SL160_.jpg)
- 作者: 児玉公信
- 出版社/メーカー: 日経BP社
- 発売日: 2011/05/26
- メディア: 単行本
- 購入: 6人 クリック: 23回
- この商品を含むブログ (6件) を見る
![現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法](https://images-fe.ssl-images-amazon.com/images/I/51fm-EVWsnL._SL160_.jpg)
現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法
- 作者: 増田亨
- 出版社/メーカー: 技術評論社
- 発売日: 2017/07/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
また、オブジェクト指向のSOLID原則の解説について学ぶには, 最近技術書典で出されていた以下の本がオススメです。 (自分が今まで見た中で一番わかり易いと感じました)
web開発基礎
開発するソフトの全体像掴むためにもwebの基礎技術については勉強しておいたほうが良いかと思います。
![Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)](https://images-fe.ssl-images-amazon.com/images/I/51qo6pgjaSL._SL160_.jpg)
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
- 作者: 山本陽平
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 143人 クリック: 4,320回
- この商品を含むブログ (183件) を見る
ドメイン知識
自分の場合はアドテクなので以下をオススメします。web業界は特に変遷激しいので各々の会社の先輩に聞くのが良いかと思います。
![アドテクノロジーの教科書 デジタルマーケティング実践指南 アドテクノロジーの教科書 デジタルマーケティング実践指南](https://images-fe.ssl-images-amazon.com/images/I/41GzAfOPI1L._SL160_.jpg)
- 作者: 広瀬信輔
- 出版社/メーカー: 翔泳社
- 発売日: 2016/03/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
上記はどちらかと言うとビジネス職の人向けの話が多いので, 個人的にはこちらのほうがわかりやすかったです。 booth.pm
SQL
データベースの利用者としてみるか, 設計者としてみるかでオススメの本変わってきますが, 利用者の場合以下2冊がおすすめです。
![10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA) 10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA)](https://images-fe.ssl-images-amazon.com/images/I/513Kq0DFpnL._SL160_.jpg)
10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く (Informatics &IDEA)
- 作者: 青木峰郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/06/30
- メディア: 単行本
- この商品を含むブログ (7件) を見る
![ビッグデータ分析・活用のためのSQLレシピ ビッグデータ分析・活用のためのSQLレシピ](https://images-fe.ssl-images-amazon.com/images/I/51dFJh3FKiL._SL160_.jpg)
- 作者: 加嵜長門,田宮直人,丸山弘詩
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/03/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
エンジニアとしての心構え的なもの
エンジニアの哲学, 仕事の作法や向き合い方, キャリアなどの話題に触れているもので今も度々読み返している書籍たちです。
![プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則 プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則](https://images-fe.ssl-images-amazon.com/images/I/51Ss443d4hL._SL160_.jpg)
プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
- 作者: 上田勲
- 出版社/メーカー: 秀和システム
- 発売日: 2016/03/23
- メディア: 単行本
- この商品を含むブログ (11件) を見る
![SOFT SKILLS ソフトウェア開発者の人生マニュアル SOFT SKILLS ソフトウェア開発者の人生マニュアル](https://images-fe.ssl-images-amazon.com/images/I/51a8%2BRIbDoL._SL160_.jpg)
- 作者: ジョン・ソンメズ
- 出版社/メーカー: 日経BP社
- 発売日: 2016/06/02
- メディア: Kindle版
- この商品を含むブログ (8件) を見る
![ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック](https://images-fe.ssl-images-amazon.com/images/I/511%2BgHq1yML._SL160_.jpg)
ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック
- 作者: Pete Goodliffe,柴田芳樹
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/12/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る