見出し画像

新人エンジニアに読んでほしいおすすめ書籍

プログラミングを学び始める、あるいは学んでいる最中の新人エンジニアに向けたおすすめ書籍の紹介です。


基礎からのプログラミングリテラシー

コンピュータやプログラミングに関する基本用語の解説がメインの本で、IT技術に関する知識に乏しい人や、プログラミングの初心者が専門的な技術書を読む前にまず読んでおきたい1冊です。
各テーマごとに推薦図書が紹介されていたり、技術書の選び方も載っているので、様々な技術を学ぶための足掛かりとなるはずです。

コンピュータ、どうやってつくったんですか? はじめて学ぶ コンピュータの歴史としくみ

タイトルの通りですが、コンピュータができた歴史とその仕組みをわかりやすく解説した本です。
非常に読みやすくてわかりやすいです。
ITの知識がなくてもコンピュータが動く原理を知ることのできる1冊です。

コンピュータのひみつ

こちらも先と同じく、コンピュータの動く仕組みについての本です。
この本は私自身がプログラミングを本格的に学ぶ前に読んだ本ですが、読んでおいて良かったと思える本です。
この本は著者と学生が対話形式で話が展開されていき、とても読みやすいです。
この本もプログラミングを学ぶ前に読んでコンピュータやプログラミングの仕組みや概念を理解することができる本です。
ハードウェアやソフトウェア、ネットワークの基本を理解するための一助となる本です。

教養としてのコンピューターサイエンス講義

かなりボリュームが多く、全て読むのは時間がかかるかもしれませんが、ハードウェア、ソフトウェア、ネットワーク、セキュリティについて体系的に知識を得るのに最適な本です。
先に紹介した「コンピュータのひみつ」の内容をより幅広く、そして一つ一つのトピックをより深く扱っているような形です。
少しですがプログラミングに関するトピックもあります。
コンピュータというテーマで幅広く知識を得たい方にはおすすめです。

プログラミング言語図鑑

タイトルの通り、様々なプログラミング言語について紹介している本です。
世の中にどのようなプログラミング言語があるのかをざっくり知ることができ、これから学びたい言語や興味がある言語を見つけるのに非常に参考になる本です。
前半部分と後半部分では、プログラミング言語の分類や動作環境についてなど、特定の言語に依存しないプログラミングに関する汎用的な知識も学ぶことができるので、その部分を読むだけでも価値がある本です。

プログラミング言語大全

内容としてはプログラミング言語図鑑と似ていますが、こちらの本の方が出版が新しく、より最新の情報に更新されています。
また、1つの言語に対する解説がプログラミング言語図鑑よりも量が多くなっています。
ボリュームはありますがプログラミングそのものの教養を高めることができる良書。
プログラミング言語図鑑と合わせて読むとより体系的な知識が得られて理解も深まるでしょう。

アルゴリズム図鑑

プログラミングを学ぶ上ではアルゴリズムの知識は欠かせません。
プログラムを作るには、当然プログラミング言語の知識が必要となります。しかし、それだけでどんなプログラムでも作れるようになるわけではありません。
コンピュータの中でのデータの持ち方や並び替え、データの検索方法などを知ることにより、より質の高いプログラムが作れるようになります。
この本は、コンピュータにおけるデータ構造、探索、並び替えといったアルゴリズムを図解でわかりやすく解説している本です。

独学プログラマー

Pythonの入門書ですが、学ぶ言語がPythonでなかったとしても1度は読んでほしいおすすめ本です。
理由としては、この本の内容はPythonという言語の解説だけではなく、プログラミングの学び方、アルゴリズムなどのプログラミングを学ぶ上で必要になる関連知識、バージョン管理やシェルなどのプログラム開発の中でよく使用されるツールなど、プログラマーとして知っておくべきことが非常にコンパクトにまとめられているからです。
内容がすごく洗練されている分、全くの初心者にとっては理解が難しい部分もあるかもしれません。
ただ、分かりにくいわけではないので、初心者でもある程度理解することは可能だと思います。
Pythonを使う人でなくてもプログラミング初心者にとっては読む価値のある本です。

リーダブルコード

可読性の高いソースコード(つまり、他人が見た時に読みやすく、メンテナンスがしやすいプログラム)を書くためのノウハウがまとめられた本です。
プログラミングを学ぶ場合、まず学ぶ言語を決めて、その言語を用いてプログラミングの基礎を学ぶことでしょう。
プログラミング言語の知識が身に付けば、ある程度のプログラムは作ることができるようになってきます。
ある程度のプログラムが書けるようになったら、その次のステップは、可読性の高いソースコードを書けるようになることです。
そのためには、コードの書き方の本を読むことがおすすめです。
コードの書き方の本にも色々な種類がありますが、その中でも最もメジャーで多く読まれているのがおそらくリーダブルコードでしょう。
挿絵などもポップでとっつきやすい内容となっているので、おすすめです。

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

世界の実力あるプログラマ97人から、プログラミング初学者や、新人のプログラマーへ向けたメッセージを集めた本となっています。
プログラミングの学び方や、知っておくべき考え方、学んでおくべきツール、プログラマーとしての仕事に対する考え方など、様々な視点からのメッセージが詰め込まれています。
ある程度経験を重ねたプログラマーの人であれば、当たり前のことだと感じることも少なくないかもしれませんが、経験の少ないプログラマーが、手っ取り早くプロとしての考え方を身に付けるという点では非常に有益な本となるでしょう。
私自身、プログラミング初心者の時に読んで、参考になる内容が多くありました。

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

この本はプログラミングの本ですが、特定のプログラミング言語のソースコードは出てきません。
特定のプログラミング言語に依存しないプログラミングの本質やガイドライン、思想や設計についての考え方についての本になります。
ソースコードがない分抽象的な内容にはなりますが、抽象的である分、幅広く応用が効くような考え方が体系的にまとめられています。
本のタイトルで「3年目までに身に付けたい」とあるように、1~3年目のプログラマーにおすすめの本です。

達人プログラマー

ここで紹介した他の本に比べると多少難易度は上がるかもしれません。
先に紹介した「プリンシプル オブ プログラミング」と重複する内容もありますが、こちらもプログラミングにおける考え方や必要なスキルを体系的にまとめた本となります。
プログラマーとしての教養を高める本としてお勧めです。

ドラッカーさんに教わったIT技術者が変わる50の習慣

ドラッガーの理論に基づき、
・スキルを向上させるためのステップ
・生産性を向上させるための考え方
・コミュニケーションの秘訣
・プロジェクト管理の秘訣
など、ITエンジニアとして成長していくための考え方が分かりやすくまとめられています。
直接的にプログラミングスキルの向上に役に立つわけではありませんが、エンジニアとしてレベルアップするために参考になる考え方が多く得られるかと思います。

プログラマの数学

プログラミングをするのに必ずしも数学の知識が求められるわけではありませんが、プログラミングを学習する事で得られる論理的思考力や抽象化能力は必須です。
数学力を高めて、プログラミングのセンスを高める本としておすすめです。

情熱プログラマー

評価され、価値あるプログラマーになるためのマインドセットと具体的な行動を教えてくれます。
プログラミングの学び方、ビジネスの学び方、ビジネスに対する考え方、などなど、プログラマーとして幸せな人生を送るために身に付けておくべきスキルを学べる本です。
出版が2010年のため、技術情報については若干古い部分もありますが、仕事やキャリアに対する向き合い方は現在でも通用するものばかりです。


この記事が参加している募集

推薦図書

サポートいただくとめちゃくちゃ喜びます。素敵なコンテンツを発信できるように使わせていただきます。