85
Help us understand the problem. What are the problem?

posted at

updated at

SE 1年目で読んだ技術書68冊+α

概要

社会人1年目が終わるので、この1年間で読んだ本のうち技術寄りの68冊と、Udemy 10本をざっくり紹介します。

説明

オススメ度、難易度を5段階で付けています。

「技術寄りのスキルを地道に付けたいSE1年目」を想定しており、情報系学部生やWeb系エンジニア1年目へのオススメ度とは異なります。また、SEでも「コードは書きたくないです。上流だけやって数年でコンサルに転職したいです」というキャリア観の人へのオススメ度とも異なります。

難易度観はIT業界新卒平均の感覚と上下にズレていることがあります。
参考までに、1年前時点の自分です。

  • 情報系修士卒(基礎理論系)
  • 応用情報は持ってる
  • CやPythonは平凡程度にできる。関数型言語の方が得意
  • フロントエンドは初心者
  • Japanese Traditional SIer

読んだ本はジャンルごとに時系列で掲載していますが、「この順で読むのがいい」になっていないこともあります。
たまたま難易度が前後していることもありますし、「読み終えた技術書とやり終えたUdemy」のみ紹介しているため、途中で別の学習が挟まっていることもあります(たとえばプログラミングのアウトプット、新人研修で貰ったSpring Bootテキスト、本を半分読み終えたところで図書館に返却した、など)

なお、Udemy講座は、会社のお金で受講できる人に向けて紹介しています。
よく90%オフや95%オフをしているので、定価で自腹を切るのはオススメしません。

プログラミング言語

Java(書籍 9、Udemy 1)

SEの共通語です。ほとんど未経験だったので入社前に初心者向けの本からやりました。
5年ほど前に講義で教養として5時間ほど触ったのと、同じ時期にProgateを一周したくらいで、少なくともポリモフィズムをマトモに分かっていませんでした。

1.『やさしいJava
オススメ度★4 難易度★2
入社前の3月に読みました。
Javaの1冊目としてクセがなく、いい本だと思います。
プログラミング未経験者でも読めると思いますし、入門部分が冗長すぎないので他言語経験者がJavaの文法を学ぶ目的でも読みやすいです。
強いて別の本を勧める理由があるとしたら、後述の『スッキリわかるJava入門 実践編』への接続として、1冊目から合わせてスッキリわかるシリーズの方がいいかもという程度です。

2.『 ずばりわかる!Java Javaの良いコード、悪いコード
オススメ度★1 難易度★2
入社前の3月に読みました。
キャラクターの会話形式で業務上のJavaの間違ったコードを正しいコードに修正するという初学者向けの本です。この頃は「同じクラスのインスタンス間で変数共有したいならstatic使えばいい」とかすら知らないレベルだったので、とても勉強になりました。
いい本でしたが、2006年の本で文法も内容も古く、2022年に中古で買って読むほど特別な内容ではないので、オススメ度は低いです。

3.『オブジェクト指向でなぜつくるのか
オススメ度★5 難易度★3
入社前の3月に読みました。
機械語からオブジェクト指向までの歴史や、メモリレベルの動作のザックリした説明など、「知らなくても開発できるけどこれは知っていた方がいいよね」という内容がマニアックにならない範囲で詰まっています。
とてもオススメ。

4.『Java言語で学ぶデザインパターン入門
オススメ度★5 難易度★4
入社前の3月に読みました。
デザインパターンの名著で、理論・コード例・練習問題が付いていて素晴らしいです。
が、Java入門した月に読むのは早すぎて消化しきれていない部分があったと思うので、改めて読みたい本です。
当時は文法が古く読み替える必要がありましたが、昨年秋に15年ぶりに改訂されました。

5.『スッキリわかるJava入門 実践編
オススメ度★4 難易度★3
4月頃に読みました。
コレクション、よく使うAPI、ファイル操作やDBアクセスなど、1冊目の文法書の補完として欲しい章が幅広く入っていて、いい本でした。
2冊セットのJavaの定番書は何種類かありますが、立ち読みした限りはこれが1番「1冊目を終えた今、ちょうど欲しい内容」でした。

6.『なぜ,あなたはJavaでオブジェクト指向開発ができないのか~Javaの壁を克服する実践トレーニング
オススメ度★5 難易度★3
入社前の3月に読みました。
Javaの2冊目として1冊オススメするなら僕はこれです。
ジャンケンゲームなどを題材に「どうクラス分けするか」「全部main関数に書く場合よりどう嬉しいか」ということが手を動かしながら学べます。
「文法は理解したけど、どうクラス分けすればいいか分からない」という段階でぜひ読んで欲しい1冊。

7.(Udemy)『サーブレットを完全マスター!挫折させないJavaプログラミング講座~Webアプリ編~』
オススメ度★2 難易度★2
7月に受講しました。
JSP/サーブレットの簡単なプログラムをハンズオンで学ぶコースです。
環境構築パートが丁寧で、講義パートの割合も多く、概要を学ぶにはいいと思います。
9.5時間のコースですが、環境構築が2.5時間とJS基礎が1時間くらいなので、JSP/サーブレットだけずっとやっているわけでもないです。
このテーマの講義としては★4ですが、「新卒が限られた時間でサーバサイドJava学ぶならJSP/サーブレットじゃなくていきなりSpring Bootとかでよくない?」という意見は理解できるので★2としておきます。

8.『スッキリわかる サーブレット&JSP入門
オススメ度★1 難易度★3
10月に読みました。
スコープやサーブレットクラス実行の理解が深まりました。
サーブレット&JSPの文法の詳細は現代的なWeb開発で直接役立つわけではないので、「より低いレイヤの仕組みが知りたい」という欲求がなければ優先度は高くないと思います。

9.『Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発
オススメ度★3 難易度★3
11月に読みました。
業務でSpringを使っていて、この先もしばらく使うだろうなということで通読しました。ちなみにこの頃までに、研修でSpring Bootを学び、2000行程度のシンプルなプログラムを書いています。
やや応用的なことをしたい時も「これはSpringの標準的な使い方で可能で、あのあたりに書いてあった」と思えるようになったのは良かったです。
Spring使うならこの本を手元に置いて最初の方を読んでおくのは重要ですが、通読は優先度高くないと思います。

10.『 徹底攻略Java SE 11 Silver問題集
オススメ度★5 難易度★3
2月に読みました。
Java Silver受けるならこの本1冊で間違いないと思います。
資格自体の有効性は分かりませんが、「こんな書き方普通は絶対しないけど、理論上は可能?エラー?」という疑問に「そんなことしないから分からない」でなく「技術的にはこうなっているので、可能(/エラー)」と答えられるようになったので、受験料が自腹じゃないなら取り組む価値のある資格だと思いました。

HTML/CSS/JavaScript(書籍 4、Udemy 5)

中学生の時にHTMLオンリーのサイトを書いていた程度の経験値です。
入社前時点ではvarとletの違いも知りませんでした。Webスクレイピングに必要な程度にHTML構造やCSSセレクタを覚えたり、雰囲気で自分用のchrome拡張を書いたりしていました。
SEもReact/Vue/Angularから逃れられない時代ですし、プライベートでも静的なページをササっと作れた方がなにかと便利なので、Javaの次に優先度が高い領域だと思います。

11.(Udemy)『[HTML/CSS/JavaScript] フロントエンドエンジニアになりたい人の Webプログラミング入門』
オススメ度★5 難易度★2
6月に受講しました。
完全な初心者が0から学ぶためのコースです。
講義時間は9時間弱ですが、一緒に手を動かすので実際は20-30時間くらいの分量です。
HTMLオンリーのページから始めて、入力フォーム、BootStrapを使ったレスポンシブなページ、Ajax通信をするページなど6個くらいページを作ります。
「ググりながらならHTML/CSSで書けそう」「JSも勉強すれば色々できそう」という0から1への踏み出しとして有意義なコースです。
画面操作をそのまま追え、他の人へのQ&Aで解決することも多く、自分で質問を出すこともできるという点も書籍にはないUdemyならではの利点ですね。

12.『スラスラ読める JavaScriptふりがなプログラミング
オススメ度★2 難易度★1
8月に読みました。
プログラミング未経験者向けの本としては丁寧でいい本だと思います。今中学生ならこれを読みたい。
他の言語を知ってる人に向けた本ではないですが、Kindle Unlimitedにあるので、ザっと眺めるには悪くないと思います。

13.(Udemy)『【JavaScript&CSS】ガチで学びたい人のためのWEB開発徹底実践(フロントエンド編)』
オススメ度★3 難易度★4
8月に受講しました。
「モダンなデザインを実現する機能を、手動で作ってちゃんと理解しよう」という趣旨のコースです。
CSSアニメーションやレスポンシブデザイン、ヒーロースライダーを手書きします。
最終的に作れるようになるものは、コース紹介のWebサイト作成(序)_【導入】セクション紹介のサンプル動画を観るのが分かりやすいです。
コースとしては非常に完成度が高く、CSSを優先して学びたい人はぜひ観てほしいですが、記事の趣旨としては★3。
VSCodeショートカット、Sass導入、chrome開発ツールの使い方などにも多くの学ぶ点があるので、無料で観れるなら前半観て後半はつまみ食いするのもかなりアリです。

14.(Udemy)『【JS】ガチで学びたい人のためのJavaScriptメカニズム
オススメ度★3 難易度★5
9月に履修しました。
JSの言語仕様を丁寧に丁寧に解説し、演習問題で理解を確認できる動画です。
Twitterでよくバズる「JSのこの動作が意味分からない」というもののほとんどを、自力で説明できるか少なくとも「ECMAScriptのこの辺読めば分かるはず」と言えるようになります。
以前は日本語でJSのメカニズムを学べるコンテンツがES2015より前の『開眼! JavaScript』くらいしかなかったので超オススメでしたが、この講座の講師が同コンセプトでよりとっつきやすい本(※)を出版したので、動画の方は★3です。

※ ↓ これです

15.『独習JavaScript 新版
オススメ度★5 難易度★4
11月に読みました。
JSのメカニズムに向き合った本で、thisやプロトタイプ、レキシカルスコープや非同期処理の仕組みにがっつり踏み込んでいます。理解するには数回通読する必要がありますが、最高でした。
これは日常的にJSフレームワークを使っているWeb系の人にもオススメ度★5だと思います。
1冊目で読むと辛いと思うのでJSの基本文法を他で学んでから読むべき本です。

16.『モダンJavaScriptの基本から始める React実践の教科書
オススメ度★2 難易度★3
11月に読みました。
フレームワークの本でJavaScriptの基本から始まなくていいのにと思いがち。
Reactの雰囲気を掴んで体験するための最初の1冊という位置づけかなと思います。

17.(Udemy)『超TypeScript入門 完全パック(2021)』
オススメ度★3 難易度★5
12月に取り組みました。
「超入門」な「完全パック」は大体どちらかがウソですが、これは本当です。
完全パックの通り、かなり網羅的に機能や文法を割と早口で14時間たっぷり解説しています。
また、「TSの何が嬉しいか」が丁寧に語られていたり、とても誠実な入門講座だと思います。入門者が単に使い方を覚えるだけなら最初は1-5章と9章だけでもいいかなとは思います(TSを使う全人類がMapped Typesやデコレータを使いこなしているとは思えないので)
JSの解説はなく、アロー関数やthisが指すものあたりは既習として進むので、JS初学者が並行して学ぶのはオススメしません。

18.(Udemy)『【2時間半で学べる!】はじめてのAngular超入門!実践で学ぶ本格Webアプリ開発【TypeScript】』
オススメ度★1 難易度★1
12月に取り組みました。
公式チュートリアルの最初のページを、一緒に手を動かして作る講座です。
公式チュートリアルは日本語もありますが、「もし躓いてもこの講座を観れば一緒に画面操作できます」という点では価値があると思います。
無料で観れる人なら躓いた時にググる時間を省けるのでアリ。

19.『Angular アプリケーションプログラミング
オススメ度★3 難易度★3
12月に読みました。
Angular案件にアサインされたので手を動かしての学習と並行して通読しました。
咀嚼しきれてはいませんが、脳内にインデックスは貼れました。
分厚く、開発中に横に置いておくと安心というタイプの本です。

Python(書籍 2)

Pythonは学生の頃からちょっとしたスクリプト作成に重宝していて、WebスクレイピングやDiscord bot作成に使っていました。
新卒SEの第一言語はJavaで第二がJavaScriptだとすると、Pythonは様々な領域で便利な、第三言語の有力候補だと思います。

20.『退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
オススメ度★2 難易度★2
入社前の2月に読みました。
前半はプログラミング入門で、後半はテーマ別の自動化処理です。「ノンプログラマーにもできる」っていうか「ノンプログラマーは前半でプログラマーになるからできる」です。
後半は面白く、特にExcelの章で得た知識は今もよく使ってます。でも後半のコードが最新のライブラリで今でも同じように動くのか謎。
前半は経験者には冗長で、完全な未経験者は文法は別の本で学ぶ方が分かりやすいと思いますが、例えばPython未経験のVBAユーザーが1冊で学ぶにはドンピシャな本だと思います。

21.『自走プログラマー ~Pythonの先輩が教えるプロジェクト開発のベストプラクティス120
オススメ度★3 難易度★3
9月に読みました。
関数名やクラス設計の話から、システム設計や要件定義の話まで、「ホビープログラミングとソフトウェアエンジニアリングの橋渡しをする本」でした。Djangoも使います。
PythonでWeb開発するならとてもいい本です。

C++(書籍 2)

13歳の時に『13歳から分かるC++』みたいな本に挫折して以来、「ガチプロとねねっちが使う言語」として敬遠してきました(Cは大学の講義で標準的に使っていました)

22.猫でもわかるC++プログラミング
オススメ度★4 難易度★3
9月に読みました。
少し古めの入門書で、このシリーズのC言語には18歳の時にお世話になりました。
未経験者も対象のC++の入門書は「変数とは?」から「ポインタ」「構造体とクラス」まで書かないといけないので本質的に難しいですが、この本はさらに「多重継承」「演算子のオーバーロード」「テンプレート」までを入門者向けに分厚すぎずにまとめていて、えらすぎです。
ビッド演算やポインタの話が詳しく、C++の低レイヤ寄りの部分を強調した本。Java経験者が読むならこっちがオススメ。

23.スラスラわかるC++
オススメ度★4 難易度★2
1月に読みました。
こちらも未経験者も対象の入門書。この著者は『プログラムはなぜ動くのか』が有名です。
「なぜクラスなんてものがあるか」のような、C++のオブジェクト指向寄りの部分を強調した本。C経験者が読むならこっちがオススメ。
(functionの音訳が関数の語源というのは俗説らしいですが)

Rust(書籍 2)

2018年頃に英語チュートリアル読んで「いや分からん」となったので経験値はほぼ0です。
(最近オライリーの第2版と『高効率言語Rust』で学んでいますが、読み終えていないのでここでは省略)

24.『Rustプログラミング入門
オススメ度★2 難易度★2
11月に読みました。
『実践』って付いていない方の『Rustプログラミング入門』
初学者が「Rustらしさをざっくり学んで動かしてみる」チュートリアルくらいの本です。
2019年に「日本語母語話者によるRust入門本」を出版したこと自体はとても素晴らしいですが、今読むならこれではないかなと。

25.『やさしいRust入門
オススメ度★1 難易度★2
11月に読みました。
他言語の知識を前提としないRust入門書というチャレンジングな本ですが、Rustらしさの説明が物足りませんでした。
これも、今読むならこれではないかなと。

コンピュータサイエンス

ここでは「情報系学科で関連講義がありそうな分野」「プログラミング言語以外で技術寄りのこと」くらいの意味です。

アルゴリズム(書籍 6)

入社前のレベル感は、「アルゴリズム専門外で競プロもやっていない情報系院卒の平均」くらいです。
具体的には「有名ソートやメモ化再帰フィボナッチあたりは普通に書ける」「ダイクストラ法の挙動と正当性は説明できるけど、自力で実装するとバグ取りに1時間以上掛かる」「データ構造のTrie?Treeの誤植?」みたいな。

26.『アルゴリズム ビジュアル大事典 ~図解でよくわかるアルゴリズムとデータ構造~
オススメ度★5 難易度★2
5月に読みました。
有名アルゴリズムを視覚的に分かりやすく解説した本です。見た目の分かりやすさだけでなくオーダや疑似コードも載っています。
難易度的にも、スワップや初等ソートからセグ木やダイクストラ/ベルマンフォード/ワーシャルフロイドまで載っていますし、「有名アルゴリズムの気持ちを理解する」ために読むならとても素晴らしい1冊です。

27.『進化計算アルゴリズム入門 生物の行動科学から導く最適解
オススメ度★1 難易度★5
11月に読みました。
背景解説とコード量(C++)のバランスがよく、入門書と言いつつ理論や数式がカッチリ書かれています。それでいて8つのアルゴリズムが200ページ弱に収まっていて、世界観がよく分かりました。市民図書館で借りましたが大学図書館にありそうな「入門」でした。難しい。

28.『問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本
オススメ度★5 難易度★4
12月に読みました。
「なぜそのアルゴリズムで正しく求まるか」「そのアルゴリズムはこのデータ量で概算どれくらいの時間が掛かるか」が養えます。
敷居は低く、最低限のプログラミングと16歳くらいまでの数学が分かれば読めますが、演習問題含めて全部理解するのはとても難しい。アルゴリズムを考える楽しさを知ってAtCoderに登録する道案内。

29.『銀髪赤眼の後輩と学ぶ競技プログラミング
オススメ度★3 難易度★4
1月に読みました。
銀髪後輩ちゃんと対話形式で競プロの初級問題をC++で解いていく技術同人です。
イラストにピンときたら買い。

30.『プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
オススメ度★5 難易度★5
1-3月に読みました。
初等的なモノから競プロらしいものまで、アルゴリズムを使った問題演習はもちろん「データ構造を自分で実装する」「ライブラリを自作する」という経験を積めます。
学生時代のアルゴリズム講義の座学の知識が実践の伴ったものに変換され、大量の経験値が得られました。
同じような背景の人に非常にオススメしたい1冊。

31.『問題解決力を鍛える!アルゴリズムとデータ構造
オススメ度★5 難易度★5
3月に読みました。
アルゴリズム設計技法に多くのページを割いた書籍です。
難度は上述の『プログラミングコンテストのための~』と同程度で、あちらが「典型的なアルゴリズムとデータ構造を理解して自分で書く」というコンセプトなのに対して、こちらは「初見の問題に対して自力で解決方法を思いつけるようになる」というコンセプトです。
また、扱っている分野も異なり、こちらはネットワークフローなどグラフ理論の解説が充実していました。

基礎理論(書籍 5)

今回出てくるジャンルでは1番専攻に近いです。
SE1年目へのオススメ度となると下げざるを得ないのが残念。

32.『はじめての数理論理学:証明を作りながら学ぶ記号論理の考え方
オススメ度★3 難易度★2
入門前の2月に読みました。
この分野の入門書としてはとても平易で、情報系の学部3年生に勧めるなら★5です。
SEには優先しては勧めないですが、いつかコードや仕様を書く人みんな論理学を学ぶ世の中になってほしいという気持ちの★3。

33.『情報科学における論理
オススメ度★1 難易度★5
入社前の3月に読みました。
情報系の難しめの数理論理学の講義の教科書によく指定されているイメージ。
一瞬で述語論理までの基礎が終わり、様相論理や直観主義論理に1章ずつ割いています。難しかった。

34.『プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識
オススメ度★5 難易度★2
5月に読みました。
CPUやメモリのレベルで「プログラムはどうやって動作しているのか」を平易に解説した名著です。
情報系以外の出身なら必読レベルだと思います。

35.『コーディングを支える技術――成り立ちから学ぶプログラミング作法
オススメ度★3 難易度★3
12月に読みました。
「if文やfor文はなぜ存在するのか」「スコープ, 型, オブジェクトに対する様々な言語の見解」など、プログラミング言語の各概念を、言語設計者の視点から解説した本です。
……と聞いて「面白そう!」と思った人には刺さる内容なのでぜひ!

36.『万能コンピュータ: ライプニッツからチューリングへの道すじ
オススメ度★2 難易度★4
17世紀から20世紀前半までの「コンピュータ前史」としての数学者・論理学者のエピソード本。
「ライプニッツの夢」「ヒルベルトの救済プログラム」「クロネッカーの亡霊」「ゲーデルの不完全性定理」といったワードに胸がときめく中2心溢れる人向け。

ネットワーク/クラウド(書籍 5、Udemy 2)

学部講義や応用情報程度の前提知識です。マスタリングTCP/IPはずっと積んでいます。

37.『ネットワークがよくわかる教科書
オススメ度★5 難易度★2
入社前の3月に読みました。
初学者向けかつ内容が正確で、SE1年目が読むネットワークの本としてとてもいいと思います。
最低限知っておくべきプロトコルには個別にページを割いていて、これをちゃんと頭に入れておけば「先輩の言っていることが単語レベルでチンプンカンプン」ということにはならないかなと。

38.『擬人化でまなぼ! ネットワークのしくみ
オススメ度★5 難易度★2
5月に読みました。
ネットワークの2冊目として優れています。
「OSI参照モデルは分かる。そこで使われてるプロトコルも分かる。で?」という状態から、一連の流れとして説明できるようになります。
(オタクコンテンツはどうしても無理という宗教の人は、『ネットワークはなぜ繋がるのか』が方向性が似ています)

39.『図解 クラウド 仕事で使える基本の知識
オススメ度★2 難易度★1
5月に読みました。
クラウドがバズワードになった頃に出た本で、「クラウドを導入すると何がいいか」「SaaS, PaaS, IaaSとかって何が違うの?」など一般教養として知っておくべきことがうまく整理されている点がよかったです。
具体的なサービスや事例が古いですが、まぁ2011年の本なのでそこは仕方ない。

40.『いちばんやさしい5Gの教本 人気講師が教える新しい移動通信システムのすべて
オススメ度★1 難易度★2
5月に読みました。
バズワード解説にしては技術解説に紙面を割いていて、技術解説にしては物足り1冊ですが、5G関連のキーワードにアンテナを張れるようになるというのがいい読み方な気がします。

41.『AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー
オススメ度★4 難易度★3
7月に読みました。
AWSクラウドプラクティショナー対策のド定番で、まずこれを読むべきだとは思います。
しかし試験対策という意味では、あまり試験範囲のキーワードを網羅していないので、無料or安価な模擬試験も受けておく方が無難です。
(※自分の場合は、ハンズオンやハッカソン → 本テキスト → 下のUdemy講座で問題演習としました)

42.(Udemy)『【2022年版】この問題だけで合格可能!AWS 認定クラウドプラクティショナー 模擬試験問題集(7回分455問)』
オススメ度★4 難易度★3
7月に取り組みました。
7回分の問題演習で、ちゃんと解説もついています。
この講座が自費負担0で観られる環境なら、上の試験テキストを読んだあとはこの講座でポチポチしていれば安全に合格するとは思います。

43.(Udemy)『AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得』
オススメ度★5 難易度★2
8-9月に取り組みました。
AWS講座というよりは、AWSを使ったインフラ講座です。
出来上がるものが「EC2にWordPressを入れて運用」なので地味に思えますが、その過程でやることは実用的です。Linuxコマンドをほとんど打ったことない人でも挫折しないように丁寧にフォローしてくれますし、独自ドメインを購入して差し替えたり、冗長構成に変更したり、スモールステップで進化していくので達成感もあります。
本や資格で理屈として知っている知識が実践的な技能と結びつく、有用な講座だと思います。

DB, SQL(書籍4、Udemy 1)

入社前は第n正規化とか応用情報のSQL問題が分かる程度でした。

44.『イラストで理解 SQL はじめて入門
オススメ度★3 難易度★1
5月に読みました。
1冊かけてJOINの触りまでやるような、初心者向けの中でも易しい1冊です。

45.『SQLの苦手を克服する本 データの操作がイメージできれば誰でもできる
オススメ度★4 難易度★3
9月に読みました。
SQL文を見て「どのテーブルをどんな条件で結合して、どのレコードのどの列を取得しているか」をまだ視覚的にイメージできない頃に読むと、目から鱗かもしれません。

46.『SQL実践入門 ──高速でわかりやすいクエリの書き方
オススメ度★4 難易度★5
10月に読みました。
「実践入門」というのは「実行計画を理解してクエリを高速化するレベルの入門」という意味で、中級者向けの内容です。
初級者向けの本には載っていない多くのことを学べる良著です。

47.(Udemy)『3時間で学ぶ SQL ・データベース 超入門【丁寧な解説+演習問題で SQL データ抽出の基本が身につく】標準 SQL』
オススメ度★3 難易度★2
12月に取り組みました。
SELECT文のみに絞った入門講座で、練習問題とのバランスやボリュームはちょうどいいと思います。
INSERTやUPDATEをやらない代わりに、SELECTに関してはHAVING句までやるので、他の入門書と合わせて補完的に使えるところもポイント高いです。

48.『絵で見てわかるOracleの仕組み 新装版
オススメ度★4 難易度★3
2月に読みました。
Oracle Databaseの仕組みの初学者向けの本ですが、内容が詳しく、ORACLE MASTER試験対策を始める前の1冊としても優れていると思います。

Web技術(書籍 2)

一般リテラシー程度の完全な初心者です。

49.『React Angular Vueをスムーズに修得するための最新フロントエンド技術入門
オススメ度★3 難易度★1
2月に読みました。
SPAの概要や利点にページを割いた、React/Angular/Vueの入門以前本です。
「どういうモチベーションでこれらの技術が流行っていて、なぜ自分も学ぶ必要があるか」を整理できます。
分かりやすくていい本ですが、こういう初学者向け書籍で「次世代SPA」のような混乱の基になる造語を出すのは悪だと思っているので、それを差し引いて★3です。ここだけ本当に残念。

50.『「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか
オススメ度★4 難易度★2
3月に読みました。
「なぜ今日のWeb技術(サーブレット/JSP, cookieやセッション管理, MVCなど)は生まれたか」を歴史や技術的根拠を踏まえて丁寧に解説した良著です。2010刊行の本なので「今日」がかなり古いですが……。
それを了承した上で読む分には今でもいい本だと思います。まぁ黎明期から2022を1冊に収めるのは不可能なので、最近のことは別の本で読むことにして、2010までを概観するために読むのが正解かなと。

その他技術(書籍3)

Githubはただのうpロダとして使用していました。
機械学習は情報系教養レベル程度です。パターン認識の講義でk近傍法+αをC言語で実装したり、情報×社会学系の講義でJupyter Notebookに穴埋めしたり程度。
暗号技術は座学としては学部講義2つと院の講義1つ取りましたが、研究には無関係で実務経験も0です。

51.『改訂2版 わかばちゃんと学ぶ Git使い方入門〈GitHub、SourceTree、コマンド操作対応〉
オススメ度★5 難易度★3
7月に読みました。
SourceTreeというGUIアプリを使ったGit入門で、同じことができるコマンド操作も付いているのがとてもオススメです。
1周目はGUIで「何がしたいのか」、2周目はCUIで「どうやるのか」を学ぶといいんじゃないでしょうか。

52.『Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
オススメ度★4 難易度★5
8月に読みました。
教師あり/なし学習の各アルゴリズムの特徴紹介と実践だけでなく、特徴量エンジニアリング、モデルの評価、パイプライン構築にも1章ずつ使っていて、非ディープな機械学習を1冊で濃密に学べました。
機械学習アルゴリズムはscikit-learnを使用するため、数学やアルゴリズムの高度な前提知識は不要ですが、読み応えがあります。
僕は夏季10連休の半分がこの1冊に溶けました。平日にちゃんと読んだら1ヶ月掛かると思います。

53.『暗号技術入門 第3版
オススメ度★5 難易度★4
11月に読みました。
暗号技術·認証技術の日本語入門書籍と言えばコレです。
各手法の仕組みまで丁寧に掘り下げつつ、説明がかみ砕かれていて分かりやすいです。
セキュリティ系の部隊でなければこの1冊の内容を説明できれば十分「暗号技術をちゃんと分かってる」と見なされると思います。

ソフトウェアエンジニアリング

ここでは便宜上「ソフトウェア開発を行う上で必要な事柄から、プログラミングとコンピュータサイエンスを引いたもの」くらいの意味です(怒られそう)
ちゃんとした定義は『Googleのソフトウェアエンジニアリング』の1章「ソフトウェアエンジニアとは何か」の議論が好きです(5章くらいまでしか読んでいませんが)

ここからは「入社前のレベル感」は新卒で大差ないと思うので省略します。

設計、コードの書き方(書籍 4)

54.『リーダブルコード
オススメ度★5 難易度★2
入社前の2月に読みました。読むのは3回目です。
読みやすいコードを書くための考え方やテクニックの名著です。
チーム開発でレビュアーやレビュイーになる前に読んでほしい。

55.『プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理
オススメ度★5 難易度★3
9月に読みました。これも読むのは3回目です。
よく名前を聞く法則の用語集や古典的名著への道案内として、よく網羅されていてオススメです。

56.『リファクタリング
オススメ度★3 難易度★4
10-11月に読みました。
現代開発にリファクタリングは不可欠、リファクタリングを語るなら本書は必読、ゆえにオススメ度★5……と言いたいところですが、1年目でこれを通読してすぐ役に立つかというと疑問なので★3。
僕も後半の手法集は消化不良なので、2年後くらいにまた読みます。
前半だけでもとてもいい本です。

57.『ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本
オススメ度★4 難易度★3
11月に読みました。
DDDが簡単なサンプルでコードレベルで書かれていて良かったです。
「DDDって調べても自然言語の曖昧な説明ばかりだけど、結局なんなの……?」という疑問が解決できました。
DDDの古典的名著を読む前の最初の1冊としてとてもいい感じ。

Webデザイン(書籍 3)

58.『エンジニアのための理論でわかるデザイン入門
オススメ度★2 難易度★2
6月に読みました。
「デザインはロジックと試行錯誤で上達する」という価値観を持っていないなら『ノンデザイナーズ·デザインブック』と合わせてぜひ読んでほしいです。
内容はワイヤーフレームの章が良かったです。メインはフォント、レイアウト、色彩の基礎の基礎で、Webデザインとしての即効性は低いです。

59.『プロとして恥ずかしくない 新・WEBデザインの大原則
オススメ度★1 難易度★2
7月に読みました。
前半はレイアウトの種類やテーマごとの配色で、初心者としては良かったです。後半はCSSのプリ/ポストプロセッサツール、jQueryの使い方、SEO対策など陳腐化が速い章で、2014刊行のため内容は古いです。こういうコンセプトの新しい本は沢山あるので、新品を買うならこれではないと思います。

60.『だから、そのデザインはダメなんだ。WebサイトのUI設計・情報デザイン 良い・悪いが比べてわかる
オススメ度★4 難易度★2
8月に読みました。
ユーザビリティの観点から、サンプルサイトのデザインのビフォーアフターを解説した書籍です。
「具体的に悪い場所」「なぜ悪いか」「どう直せばいいか」がセットとなった事例が豊富に載っていて、初級者が一気にレベルアップするにはとてもいい本でした。

上流(書籍 5)

61.『ITエンジニアのためのプロジェクトマネジメント入門
オススメ度★3 難易度★2
5月に読みました。
PMBOK準拠のプロジェクトマネジメント本としてはかなり簡潔で薄い本だと思います。

62.『図解でわかるアジャイル・プロジェクトマネジメント
オススメ度★2 難易度★3
5月に読みました。
アジャイルの理念や用語の解説から始まりますが、かなり実際のプロジェクトへの適用方法がかなり細かく書いてあります。
「アジャイルについて知ったかぶりたい」人向けではなく、「急にアジャイルPJのマネジメントを任されたどうしよう」という人向けの本だと思います。

63.『【図解】はじめての上流工程(要件定義・システム設計・プロジェクトマネジメント)入門: よくわかる!システム開発入門
オススメ度★3 難易度★2
9月に読みました。
上流の基礎を1冊にまとめた、新人SEにうってつけの本です。
新人研修で似たようなテキストでじっくりやるので、9月に読むのはちょっと違ったかなと思いました。
入社前に予習としてkindle unlimitedで読むならオススメ度★4です。

64.『プロマネ 一日一句
オススメ度★2 難易度★1
8月に読みました。
1ページに2句ペースで、365句とその簡単な解説が載った本です。
何個か面白いものもあったはずですが、すみません忘れました。

65.『DX推進から基幹系システム再生まで デジタルアーキテクチャー設計・構築ガイド
オススメ度★4 難易度★1
2月に読みました。
超上流、マイクロサービス、DevOps、ゼロトラストセキュリティのような今っぽい用語が手広くまとまっていて、知識の整理ができます。
想定読者はおそらくITコンサルやユーザ企業で、技術的な解説はありません。逆に言えばエンジニアは当然知っていると期待される内容で、SE1年目の抜け漏れを防ぐ本としても優れていると思います。

組織論、キャリア論(書籍 4)

66.『エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド
オススメ度★3 難易度★3
入社前の3月に読みました。
将来マネジメント方向に行くかもしれないと1ミリでも考えているなら、読む価値が十分あります。
日本のSIerのキャリアパスとは異なる面もありそうで、入社前はフーンという感じで読みましたが、5年後くらいに読むとより実感を伴って理解できるかなと思いました。

67.『[イラスト解説]ティール組織――新しい働き方のスタイル
オススメ度★2 難易度★2
5月に読みました。
「結局ティール組織って何なの?」という疑問は解消できました。
一方で「明日からどう取り入れるか」というのは僕には分かりませんでした。
オリジナルは分厚いので、まずはこちらを読むと挫折せずに済みます。

68.『エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
オススメ度★3 難易度★4
11月に読みました。
「エンジニアリングの本質は不確実性の削減」という定義で、ソフトウェアエンジニアリングを行う組織に必要な考え方や手法を解説した本です。
ストーリーラインは明快で勉強になりましたが、一文一文がやや難解で、普段本を読んでいないと読み通しづらいかもしれません。

69.『How Google Works
オススメ度★5 難易度★2
2月に読みました。
「スマートクリエイティブ」「ラーニングアニマル」「ピザ2枚ルール」「20%ルール」「70対20対10」のような、孫引きの孫引きで語られがちな"Googleの文化"の元ネタをちゃんと知れます。

SE論(書籍 1)

70.『新版 SEを極める50の鉄則 入門編
オススメ度★3 難易度★1
入社前の2月に読みました。
少し古い部分や、アカウントSE寄りのキャリアの話が多い部分もあるとは思いますが、原則として役立つ部分も多い……のかな?1年目だとまだ評価できませんが。少なくとも大きく外れてはいないと信じています。

その他(書籍 5、Udemy 2、ゲーム 1)

分類に困ったりしたもの。

71.『トコトンやさしいIoTの本
オススメ度★1 難易度★3
5月に読みました。
IoT自体の概要は本当にさわりだけです。また2018年の本で、実例や課題は古くなっています。
センサの章については解説がとても詳しくて面白かったです。
同じシリーズで同著者がセンサだけで1冊書いた本があるみたいで、読んでないけどそれは面白そう。

72.『いちばんやさしいグロースハックの教本 人気講師が教える急成長マーケティング戦略
オススメ度★2 難易度★3
6月に読みました。
概論から各用語やフレームワークまで、グロースハック入門書として非常に良かったです。
個人的にマーケティングの勉強も好きで、「製品開発とマーケティングが、別々でなく一体となっている」という点で一応ここで取り上げましたが、ゆーてこの本を単体でSEに勧めたいかというとそうでもない。
サービスを個人開発する上で取り入れられるエッセンスはあると思います。

73.『ノーコード大全 アプリ開発編: アプリ開発の主要ツールからこれから注目のツールまで徹底解説
オススメ度★3 難易度★1
9月に読みました。
ノーコードは自分ではまだ使わないとしても、動向を定期的に把握しておいた方がいいとは思っています。
この本は2021年3月時点のノーコード動向が簡潔にまとまっており、目的に適っていました。
kindle unlimitedで読めます。

74.(Udemy)『【初級者から上級者まで】1日で学べるExcelの教科書 マスターコース』
オススメ度★4 難易度★2
12月に取り組みました。
基本的にはビジネス常識の範疇で、本屋に平積みされている少し厚めのExcel本くらいの内容です。
ただしショートカット関連の細かなtipsが丁寧だったり、トレースなどの計算チェックで1章使っていたりするので、1つ何か学ぶとしたらこれは面白いです(Excel雰囲気で10年触っていても、意外とF2やF4を活用していなかったりするので……)
9.5時間+演習なので「社内研修だとしたら定時で収まらなくない?」というボリュームですが、録画なので再生速度を変えて観ましょう。

75.(Udemy)『Excel中級者への150分【ピボットテーブル・VLOOKUP・条件付き書式・グラフ応用】』
オススメ度★3 難易度★2
12月に取り組みました。
Excel中級機能をハンズオンで触ってみるという講座で、こちらは知っている人には新鮮さはありませんが、逆に知らない人は必修だと思います。

76-77.『NOISE 組織はなぜ判断を誤るのか』(上下)
オススメ度★5 難易度★3
12月に読みました。
行動経済学でノーベル経済学賞を獲ったダニエル・カーネマンらが書いた本です。
前著『ファスト&スロー』が「バイアス」(誰もが同じ方向に偏るエラー)に焦点を当てているのに対し、こちらは「ノイズ」(人によって逆の偏りがあったり、同じ人でも日によって偏りが異なるエラー)がテーマとなっています。
技術書とかけ離れていると思うかもしれませんが、「なぜ人間の直感だけに任せず科学技術も用いるべきか」という説得に学術研究や社会実証を持ち出せるようになるだけでも業務に直接的に役立ちます。たとえば10章では「AIは過去の人間の差別的判断から学習するから差別を拡大させる」という通説に対して、複数の論文を引用して「注意深く構築されたモデルは人間の判断よりも差別的でなく予測精度も高い」ことを示しています。一方で「ビッグデータがあって最高の社会科学者と最高のAI科学者のチームが揃っていても、『貧困世帯の15歳のその後の人生を予測する』というコンペで高い精度は出なかった」話などは未来予測の限界として使えるのではないでしょうか。
下巻の帯コメントが松尾豊教授なことからも、AIやデータ分析から遠くない書籍だと思います。

78.『ポストモーテム みずほ銀行システム障害事後検証報告
オススメ度★3 難易度★2
3月に読みました。
この1年間のみずほの11回のシステム障害を、発生から鎮静まで時系列で丁寧にまとめ、その原因を分析した本です。
ハードや運用が主要因の障害では、一発アウトの大ミスというのは(マネロン未チェック以外)基本的になく、上から下まで小ミスを重ね続けた結果がディザスターなのだなと痛感しました。
人為的なミスで開発側SEがやりそうなものだと本書にも2度あった「設定したという言質は確認したが中身は確認しなかった」による見逃しがありそうです。怠惰というより技術力不足でそういう生殺与奪の権を握らせるマネジメントしかできなくなるキャリアは避けたいなと思いました。

79.『Turing Complete
オススメ度★5 難易度★4
11-12月にやりました。
Steamで購入できる回路シミュレーションゲームです。(リンク)
すごく大雑把に言えば「パソコンを1から作るゲーム」です。
具体的には「NAND素子を組み合わせて色んな部品を作る」→「それらを組み合わせてチューリング完全なコンピュータを作る」→「サブルーチン呼び出しや四則演算ができるように改良し、自分でアセンブリ言語を定義する」→「そのアセンブリ言語でソート、右手法、ハノイの塔の解法などを実装する」というステップです。
真理値表や機械語という単語を知らないレベルからだとハードルが高いですが、インクリメンタルに作るので大学や資格勉強で部分的にでも知っていれば非常に楽しめるゲームです。
プレイ時間は全部埋めると約20-50時間で、チューリング完全なコンピュータを作るまではその1/3~1/2で出来ます。

おわり

未経験者の場合、最優先はJavaと基本情報だと思います。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
85
Help us understand the problem. What are the problem?