📖

プログラミング独学1年目の私に教えてあげたい書籍リスト

2022/10/02に公開1

はじめに

今回の記事では、私がプログラマー活動や情報発信を継続する上で、「最初の1年間で読むべきだった」と思う技術書を簡潔にまとめる。今回の記事は情報量が非常に多いので、全部を確認するのは不可能だ。そのため、流し読みして興味が湧いた書籍や情報にアクセスするように使ってほしい。

これからWebプログラマーになる人、プログラミング初心者やWebプログラマー1年目の参考になれば非常に幸いである。

1年目の私に教えてあげたい書籍とのリストは次の通りである。

【プログラマー関連】

  • リーダブルコード
  • プリンシプル オブ プログラミング
  • プログラマーは世界をどう見ているのか
  • IT用語図鑑[エンジニア編] 開発・Web制作で知っておきたい頻出キーワード256
  • Web技術が これ1冊でしっかりわかる教科書
  • Webを支える技術
  • 達人プログラマー
  • Clean Architechture
  • オブジェクト指向でなぜつくるのか
  • 入門 Python 3
  • インターフェイスデザインの心理学
  • ソフトウェアアーキテクチャの基礎
  • プログラミングTypeScript
  • Web API: The Good Parts
  • 現場で使える Django REST Frameworkの教科書
  • Django Webアプリ開発実装ハンドブック

【その他】

  • 考える技術・書く技術
  • 妄想する頭 思考する手
  • 知的戦闘力を高める独学の技法
  • これだけは知っておきたい「税金」の仕組みとルール
  • アメリカの高校生が学んでいる お金の教科書
  • エッセンシャル思考

プログラマー関連

リーダブルコード

https://www.oreilly.co.jp/books/9784873115658/

良質なコードの書き方を具体例やソースコード付きで徹底解説されているO'Reillyの良書である。コードを書く上での基本的なことやテクニック、マインドセットが徹底解説されている。しかし、多くのプログラマーがそれらを実践できていない。コードを書く我々プログラマーにとって本書は必要不可欠である。これはあくまで個人の一見解に過ぎないが、すべてのプログラマーは『リーダブルコード』を購読するべきだと考えている

本書に関しては、過去に以下のような記事を執筆しているので参考になれば非常に幸いである。

https://zenn.dev/nameless_sn/articles/readable_code_handbook

プリンシプル オブ プログラミング

https://www.shuwasystem.co.jp/book/9784798046143.html

本書は、プログラミングを学ぶうえで重要なマインドセットや守るべき鉄則がまとめられている良書である。様々な文献を参照しながら、プログラミングを学ぶ上で重要なマインドセットや守るべき鉄則がまとめられている。

プログラミングを効率よくかつ上手に進める上で重要なことや大切なことがまとめられている良書である。本書も『リーダブルコード』とセットで必ず目を通しておきたい。

プログラマーは世界をどう見ているのか

https://www.sbcr.jp/product/4815608224/

本書の著者は2022年10月現在で若者から圧倒的に支持されているインフルエンサーで、かつ「2ちゃんねる」の創設者である西村博之だ。本書はプログラミングを学ぶ上で身につけておきたい思考術と基本的な知識や文法がこれ1冊でまるごと学べる良書である。本書はプログラミングをまったく経験していない初心者向けに書かれており、解説が非常に丁寧で読みやすい。

IT用語図鑑[エンジニア編] 開発・Web制作で知っておきたい頻出キーワード256

https://www.shoeisha.co.jp/book/detail/9784798169101

本書は我々プログラマーが実務で頻繁に耳にする256の専門用語を徹底解説している画期的な良書である。IT分野は日進月歩で新しい用語が頻繁に登場し、経済学や簿記のように体系的に学ぶのは非常に難しい。IT業界では、今使っている技術や習得している知識がたった数ヶ月で陳腐化することは珍しくない。本書は分野ごとに頻出する用語にまとめて解説が非常に丁寧である。イラストも豊富で圧倒的に理解しやすい。

本書は専門用語ではなく、エンジニアが実際のコミュニケーションで使う言葉(「叩く」や「キックする」など)とその使い方を丁寧に解説されているのが最大の特徴である。個人的には、プログラミング独学を始めた私に一番届けたい書籍である。本書を読んでプログラミングの概要やIT業界の世界をイメージしておこう。

Web技術が これ1冊でしっかりわかる教科書

https://gihyo.jp/book/2021/978-4-297-12309-3

本書は図解と易しい解説でWebの基本的な知識が丁寧に解説されている良書である。プログラミング初心者がWebについて学ぶなら最初におすすめしておきたい書籍だ。

  • TCP/IPやHTTPのプロトコル
  • HTMLのフォーマット
  • Webサーバやプロキシサーバ
  • Webアプリケーションが動く仕組み

具体的にはこれらのこと(Web技術に関することならすべて)が徹底解説されている。初心者から上級者まで幅広い層に役立つ画期的な良書である。

Webを支える技術

https://gihyo.jp/book/2010/978-4-7741-4204-3

  • Webの歴史
  • Webサービスの基本的な仕組み
  • フロントエンドとバックエンド
  • API
  • HTTPの構造

上記に示したように、Webプログラマーが開発で知っておくべき基本的な知識がこれ1冊で学べる良書である。1度読んだだけで理解できなくても、Webサービスの設計や実装を経験してから再度読み直すとWebの仕組みが再度理解できる。

達人プログラマー

https://www.ohmsha.co.jp/book/9784274226298/

本書は疎結合、DRYやKISSなど実務で扱うコーディングのテクニックだけではなく、開発の進め方や重要なマインドセットが徹底解説されている画期的な良書である。422ページと結構な量があるものの、優秀なプログラマーの立ち振る舞いやソフトウェア開発のフローのエッセンスがすべて書かれている。

プログラマーとして果敢に市場価値を上げていきたい人には非常にオススメできる1冊である。

Clean Architecture

https://www.oreilly.com/library/view/clean-architecture-a/9780134494272/

エンジニアリングの上流工程で頻繁に耳にする「アーキテクチャ」の基本と設計やテストの原則や具体的なテクニックが徹底解説されている書籍。ソフトウェア開発に「アーキテクチャ」や「設計」が要求されている理由やその意義を知りたければ本書をおすすめする。ただし本書は難解な専門用語が多く、初心者には正直難しいので別の書籍でプログラミングを学んでから取り組んだほうが遥かにいいだろう。

本書はアーキテクチャの概観を学ぶ上では良書であるものの、前置きが長く多少曖昧な部分でごまかしているところがしょっちゅうあるので優先度はそこまで高くない。

オブジェクト指向でなぜつくるのか

https://bookplus.nikkei.com/atcl/catalog/21/S00180/

本書はPythonやJavaなどのオブジェクト指向プログラミング言語を実務で扱っているプログラマーなら全員読んでおきたい画期的な良書である。

  • オブジェクト指向の概要と意義
  • オブジェクト指向と現実の違い
  • オブジェクト指向の歴史
  • オブジェクト指向の設計方法(クラス、ポリモーフィズム、継承、例外など)
  • UML(Unified Modeling Language、統一モデリング言語)

これらのことについて上手に説明できなければ必ず読むべきである。オブジェクト指向は私がプログラミング独学を進める上で最初に躓いた分野だ。私がプログラミングを始めた頃の自分に教えてあげたい書籍の1つ。オブジェクト指向は本書から理解することを始めよう。

入門 Python 3

https://www.oreilly.co.jp/books/9784873119328/

初心者から上級者までPythonの基本的な文法、ライブラリだけではなく勉強方法や情報リソースまで示されているPythonの参考書。本書はPythonを体系的に学ぶ上では必要不可欠である。

  • カレンダーと時刻の表示
  • ファイルとディレクトリの操作・処理
  • 並行処理
  • データベース(RDBとNoSQL)の操作
  • Webスクレイピング
  • アプリケーション(Webとデスクトップ)の開発

これらのことをPythonで実装する方法を徹底解説されている。章ごとに問題も付いているのでアウトプットの練習もできるので、Pythonを学ぶ上では画期的な良書だ。本書を読んで優秀なPythonista(Pythonプログラマーの通称)になろう。

インターフェイスデザインの心理学

https://www.oreilly.co.jp/books/9784873115573/

本書はアプリを開発したり、サイトを制作したりする時に必要なデザインの知識や考え方が心理学の観点から説明されている画期的な良書である。

  • ユーザはどうアプリやサイトを見るのか
  • ユーザはどう情報を読むのか
  • ユーザはどう記憶するのか
  • ユーザはどう決断するのか

主にこれらの内容を図解やイラストを駆使して徹底解説されている良書である。「良いデザインがわからない...」「デザインをどう勉強すればいいのかわからない...」そう思っている人にこそ読んでほしい。良いデザインは論理で説明できる

ソフトウェアアーキテクチャの基礎

https://www.oreilly.co.jp/books/9784873119823/

本書はソフトウェアアーキテクチャを図解やイラスト、具体例を的確に用いて徹底解説されている画期的な良書である。曖昧な言葉として語られることの多い「ソフトウェアアーキテクチャ」という言葉を一から定義して初心者にもわかりやすく解説されているソフトウェアアーキテクチャの意義や設計のテクニック、具体的なソフトウェアアーキテクチャの特徴や課題点、重要なマインドセットが本書1冊でまるごと学べる。文言が比較的易しいので初心者でも十分に理解できる。

ソフトウェアアーキテクチャがわからない人は、まずこの記事を読んでみてほしい。上流工程を任されて何をすればいいのかわからないプログラマーは本書を読めば具体的なアクションプランが浮かぶだろう。

プログラミングTypeScript

https://www.oreilly.co.jp/books/9784873119045/

初心者向けにプログラミング言語「TypeScript」が丁寧に解説されている画期的な良書。

  • TypeScriptの概要と歴史
  • 型定義の仕組み
  • TypeScriptの基本的な内容・応用
  • エラー処理
  • 非同期通信
  • TypeScriptが使われているフレームワークと規格

これらについてソースコードや活用事例も含めて学べる画期的な良書である。TypeScriptを学ぶなら読んでおいて損はない。

Web API: The Good Parts

https://www.oreilly.co.jp/books/9784873116860/

Web APIの設計や開発、運用に必要な基礎知識や原則、具体的なテクニックが本書1冊にまとめられている画期的な良書である。APIは設計次第では使いにくいものになるだけではなく、公開したあとの保守運用も難しくなる。それゆえにAPIを美しく設計することが非常に重要である。

本書ではWeb APIを設計する上で重要な原則や具体的なテクニックを学ぶ上では必要不可欠だ。API開発で生計を立てたいと考えている人は全員読むべきである。

現場で使える Django REST Frameworkの教科書

https://booth.pm/ja/items/1559869

本書はDjango REST Framework(DRF)を実務で扱う上で重要なことやテクニックが徹底解説されている良書である。前提知識のない人のために一応説明しておくが、Django REST FrameworkはPythonのWebフレームワーク「Django」でREST APIを開発できるパッケージである。PythonでSPA(Single Page Application)やスマホアプリのバックエンドを開発したいなら一つの手段として読んでおいて損はないだろう。

Django Webアプリ開発実装ハンドブック

https://www.shuwasystem.co.jp/book/b605573.html

本書は初心者向けにPythonのWebフレームワーク「Django」で実際にWebアプリケーションを作りながらその仕組みや挙動を学べる画期的な良書だ。

  • データベース設計
  • CRUD(Create, Read, Update, Delete)機能
  • データの一覧表示
  • ログイン・会員登録機能の実装や仕組み

主にWeb開発を進める上で必要不可欠な知識を学べる。DjangoでWebアプリを開発したいプログラマーは一読して損はないだろう。

ソフトウェア・ファースト あらゆるビジネスを一変させる最強戦略

https://www.kinokuniya.co.jp/f/dsg-01-9784822289911

本書はGAFA勤務の経験がある著者が独自の経験をベースに今後のプログラマーのキャリアや働き方の道標を詳細に解説している良書である。(主に会社員向けに書かれている)

  • 会社での立ち振舞いで重要なこと
  • DX(Developer Experience、開発者体験)
  • プロダクト企画の進め方
  • 将来のキャリアパス
  • 会社における強いプログラマー組織の作り方
  • これからプログラマーとして活躍する上で重要な原則

これらを学びたければ本書を購入しよう。

その他(思考術・コミュニケーションなど)

考える技術・書く技術

https://www.diamond.co.jp/book/9784478490273.html

問題解決の根幹となる「考える」ことと「書く」ことにフォーカスして書かれている良書。

  • 論理的思考力を鍛える上での重要な原則
  • 論理的な文章の書き方
  • ピラミッドの作り方
  • 問題を定義する方法

これらのことを学ぶ上では非常に参考になる。文章を書くことは知的労働者にとっては必要不可欠な能力である。本書の内容は非常に難しいものの、実際に自分で文章を何度も書いて何度も読み直すことで初めて理解できる。

文章を書くことの難しさや面白さ、重要さを教えてくれる。私は本書の内容に従って大学のレポートを書いたところ、見事に最高評価を得られた。論理的思考力や問題解決の基本的な原則を学ぶならこの1冊に限る。

妄想する頭 思考する手

https://honto.jp/netstore/pd-book_30684643.html

本書は新しいアイディアを出す上で重要な原則や発想のポイントをまとめている画期的な良書である。本書では優れたアイディアを出す上で重要なことを以下に示している。

  • 「なんか面白そう」という気持ちをベースに考える(いわゆる妄想)
  • とりあえず手を動かす
  • アイディアを眠らせる
  • 余裕を作る
  • 選択と集中に固執しすぎない

アプリ開発ではアイディアが必須である。どうしてもアイディアが思い浮かばない、何か面白いアイディアの発想の仕方がわからないと思っているなら本書を読もう。

知的戦闘力を高める独学の技法

https://www.diamond.co.jp/book/9784478103395.html

本書は独学をする上で重要な原則や具体的なテクニックがまとめてある良書だ。さらに、独学を効率的に進める上で重要なポイントを丁寧にまとめられている。

  • 闇雲にインプットしない
  • 知識を必ず整理する
  • 自分の実力に見合ったインプットをする(プログラミング独学の場合は、自分の習得レベルに応じて技術書やUdemyの講座を選ぶ)

このように、独学を進める上での重要な原則が本書1冊にまとめられている。これからプログラミングを独学する人や、プログラマーで新しい言語やフレームワークを学ぶ人は必ず読んでおきたい。

これだけは知っておきたい「税金」の仕組みとルール

https://www.hanmoto.com/bd/isbn/9784866801896

本書は複雑化している税金の知識をわかりやすい言葉や表現で整理されている良書だ。昨今フリーランスが働き方のトレンドになっている。フリーランスとして生計を立てる上で税金の知識は必須

本書はとっつきづらい税金の知識を学ぶ上では非常に参考になる1冊だ。他の業種にも言えることだが、税金は一生モノの知識なので学んで損をすることは一切ない。独立・起業を考えているプログラマーは必ず買うべき。毎年に一度変更されるので最新版を都度購入するといいだろう。

アメリカの高校生が学んでいる「お金」の教科書

https://www.sbcr.jp/product/4815602918/

本書は人生のライフステージでお金との向き合い方や金融商品(株や債券など)の基礎知識を体系的に学べる良書である。日本ではアメリカやイギリスと比較して金融教育が進んでおらず、マネーリテラシーを学ぶ機会が全くない。「お金」で致命的なミスをしないようにするためには本書を読もう。

エッセンシャル思考

https://www.kinokuniya.co.jp/f/dsg-01-9784761270438

本書は本当に自分にとって重要な選択肢を見極める上で必要なテクニックがまとめられている良書だ。

  • 「これしかないもの」だけを選ぶ
  • 上手に自分ができないことに対して「ノー」と言えるようにする
  • 面倒くさい人たちと一線を画す
  • 自分の今やっている仕事・作業が本当に成果につながっているのかを考える
  • 世の中の大多数の物事は無価値である

など、「本当に大事なこと」や「大切なこと」に没頭する上で重要なことが書かれている。一見基礎的なことのように思えるが、ほとんどの人が実践できていない。私は本書を読んで自分の思考パターンや行動が一変し、自分のやらなければならないことが大幅に減った

参考サイト

https://qiita.com/virtual_techX/items/35034d28cdb9255367ba

https://zenn.dev/nameless_sn/articles/recommend_book

GitHubで編集を提案

Discussion