見出し画像

新卒エンジニア 読んだ本とおすすめ

こんにちは、新卒エンジニア4ヶ月目のkotapです。
(なんでこんな中途半端な期間の報告なのかというと、思い立ったが吉日だからです。)

さて、新卒エンジニアの僕がこの4ヶ月で買った本とその中でも良かった本をまとめます。今回は技術書に絞りました。

技術書となると読者のレベルにもよるため、前提として入社時の自分のレベルを紹介します。

- 主にC++ は研究で3年くらいPython は研究で2年くらい
- オブジェクト指向の雰囲気はわかる
- 実務のコード経験無し、Web アプリもしっかりと作ったことなし
- 機械学習もモデルの作り方の雰囲気と理論はなんとなくわかる

いまはJava で基盤開発を行っています。
これからは業務を通して機械学習、開発、データエンジニアリングを広く浅く強化していきたいと考えています。

※ 今回おすすめ度を設けましたが、実際これは自分の中の感心度でありどんな評価でも気になったら一度読むことをおすすめします。
どんな人におすすめ?も追加しましたので併せて参考にしてください。


● マインド

Team Geek

おすすめ度: ★★★★★
どんな人におすすめ?: 新卒(エンジニアでなくても)

HRT (謙虚・尊敬・信頼)の精神。これってとっても良いこと言ってると思うんです。
エンジニアはその他全般的な職よりコミュニケーションは少ないものだと思っていました。実際にそうなのかもしれませんが、だからこそそのコミュニケーションをうまくやらないと何も残らないです。
コミュニケーションを円滑にするにはどうすればいいか。それがこのHRTの精神だと僕は思いました。
ちょっとコミュニケーションうまくいかないなあと思ったときは相手に対してHRTの精神が持てているか自問することにしています(ただし、前提として相手もその精神を持っていること、つまりいい人でないといけません)

ハッカーと画家

おすすめ度: ★★★☆☆
どんな人におすすめ?: エンジニア全般

よく見かける本。
刺激的で楽しめて読めたのですが、十分にこの本の面白さを理解できなかったと思います。
この本が特に刺さるのは「技術オタクな学生時代を過ごした人(特に今学生のひと)」もしくは「2005年頃もしくはそれ以前からIT業界に携わっていたエンジニア」だと思いました。

● Web

- Web を支える技術

おすすめ度: ★★★★★
どんな人におすすめ?: Web 業界に関わる人、Web アプリを作りたい人

Web 業界に務めているのにREST API もよくわかってないの???それが僕でした。
なるほどが多い本でした。Web 業界に関わる、Web アプリを作りたい人はぜひ一度読むべきでしょう。
結構昔の書籍ですが、最近ではReal World HTTP 第2版 ―歴史とコードに学ぶインターネットとウェブ技術 がこれに近く新しい本らしいです。
僕はまだこちらは読んでいませんが読んでみたい所存です。

● 言語学習

プログラミング言語についての書籍。
今回はJava とPython です。

- 独学プログラマー

おすすめ度: ★☆☆☆☆
どんな人におすすめ?: プログラミング初めて、Python 初めて。

感覚で書ける状態だったPython を1から学ぼうと思い買いました。
思ったより基礎的すぎて学べたことは少ないです。
ただbash や正規表現など細かい部分まで書いてあったのは面白いと思いました。初学者にはとてもいい本でしょう。

- スッキリわかる Java入門 実践編 第3版

おすすめ度: ★★★★★
どんな人におすすめ?: Java を復習したい。他の言語はわかるがJavaははじめて。

読みやすくてよかった。デザインも全般的に○。
Java本格入門 の本もよかったですがこちらのほうがわかりやすかったです。
第3版が2019年に出ているのもポイント高いですね。

- Effective Java

おすすめ度: ★★★★★
どんな人におすすめ?: Java の基礎知識を知っていて業務で使う人

Java をある程度学んでからこの本を読んだら面白くて止まらない。

いまはわからない部分もあるのですが、分かる部分は本当に面白い。わからなくてもなんとなく面白い。
学生時代に読んでもなにも響かなかったと思います。
仕事として真剣に向き合うと、ぬるぬると面白さが伝わってきます。
こういう感情に出会えて、エンジニアになったんだなあと感じました。

- Effective Python

おすすめ度: ★★★★★
どんな人におすすめ?: Python ある程度かける。Python でキレイにコードを書きたい。

まだこちらは直近でPython を使うことがないのでざっくり読んだくらいですが、Effective Java に比べると基礎的です。
Python は色々なことができる反面気をつけて使わなければいけないというように思いました。
「よく知らなくても感覚で動く」というのがPython の印象ですが仕事で使うならそんな感覚では絶対にいけません。便利なものこそ、用途用法を守れということですね。

- Java 言語で学ぶデザインパターン

おすすめ度: ★★★☆☆
どんな人におすすめ?: ある程度業務経験があって設計等も考えられる人

デザインパターンは知っておいたほうがいいなと思って買いました。
ただ概念の雰囲気が頭に入るだけでどんな設計だったか問われるとすぐには出ません。
先に知っておいたほうがいいのか、必要になってから調べたほうがいいのかどちらが適切かはわかりませんが現時点では活用しきれていないような気がします。決して内容が悪い本ではなく、現在の自分にあってなかったというような印象です。

● 設計・コーディング

- リーダブルコード

おすすめ度: ★★★★★
どんな人におすすめ?: エンジニア全般

えっ、まだリーダブルコード読んでないの?と言われるかもしれないくらい有名な本。
大学時代にサラッと読んだことはあったが再読。
アタリマエのことは多いが、アタリマエだからこそ抜けてはいけない点。
当然のようにおすすめ。

- クリーンアーキテクチャ

おすすめ度: ★★★★☆
どんな人におすすめ?: 場数をある程度踏んでプロダクトコードに慣れている人

ちょっとまだ自分には早かった感はあるが大変参考になる本でした。
章ごとに数ページでまとまっていて読みやすかったです。(もしかしてクリーンなアーキテクチャ!?
 理解ができ参考になったのが4割、なんとなく理解した章が3割、なにがいいたのかどこが優位なのかわからない章が3割ありました。
シンプルに自分の前提知識のなさが原因。 今後読み直したい一冊。 

● 機械学習

前提として大学院コンピュータサイエンス専攻を修了しましたのである程度の周辺知識はある上でのおすすめです。

- 仕事ではじめる機械学習

おすすめ度: ★★★★★
どんな人におすすめ?: モデルはかけたりする!でも仕事では使ったことない

機械学習を使うというのはプロジェクトで見るとほんの一部でしかなく、コード単位でみても非常に小さいということを実際に感じた社会人生活。

まさに井の中の蛙大海を知らず状態だったが、この本を読んで実務としての機械学習の側面を知る第一歩となった。
趣味から仕事へ機械学習を使う中での悩みや疑問点を多々感じることがあった中、網羅的にその解決へのヒントを知ることができました。 

- ゼロから作るDeep Learning 

おすすめ度: ★★★★★
どんな人におすすめ?: ディープラーニングを知りたいという初学者

初めて読んだときは感動しました
 オライリー本ではあるがとても読みやすく、初学者向け。
 ディープラーニングといってるものの、ディープラーニングの章は7章から。 それだけ丁寧に0から教えてくれます。 
ディープラーニングの1つ1つが学べる一冊。

- Kaggle で勝つデータ分析の技術

おすすめ度: ★★★★☆
どんな人におすすめ?: テーブルデータコンペ出たい人。ディープラーニングではない機械学習手法について知りたい人。

Kaggle に限らず広く機械学習手法について知れる本だと思います。
理解しやすくカバー率も高く、内容も十分でした。参考文献として実際のコンペに対する手法の参考が書いてあったのがよかったですね。
自分で調べて深堀りすることで内容以上に深く知ることができます。

ただし、ディープラーニングについてはほとんど書いていませんので画像分析コンペに参加したい場合はこの本ではすぐにはできません。あくまでもテーブルデータに対する分析です。


● クラウド

- GCP ストーリーで学ぶGoogle App Engine

おすすめ度: ★★★☆☆
どんな人におすすめ?: GCP使ってみたい!GCP でアプリ作りたい!

広く浅くWeb アプリケーションを一気通貫で作れる本です。
カバー率が高い分一つ一つの内容は薄い部分もありますが、とても読みやすくてよかったです。
★3 にした理由は2点、GCP 等のクラウドプラットフォームは移り変わりが激しい(内容が変わる)という点と公式ドキュメントでも十分なチュートリアルがあるという点です。


**


個人の意見ですので、気になった本はおすすめ度に関係なく迷わず買ってみるといいと思います。


書籍をこんなに読める環境にあるのも書籍購入補助制度がある弊社の福利厚生が要因の一つです。
エンジニアとしてとても働きやすい環境で、日々成長することを感じています。
現在、採用強化中のようなので興味ある方は御覧いただけると幸いです。


この記事が気に入ったらサポートをしてみませんか?