How To Become A Developer -- Part 4: Recommended Reading
Tags: beginners, career
Published: 2019-08-06 01:43:49

---
title: How To Become A Developer -- Part 4: Recommended Reading
published: true
description: There are hundreds of great books and courses out there! Here are a few recommendations from me and my peers.
tags: beginners, career
cover_image: https://thepracticaldev.s3.amazonaws.com/i/euntr74lv7gh05vxrbpr.jpg
series: How To Become A Developer
---

There are hundreds of great books and courses out there! Here are a few recommendations from me and my peers. **You do not have to read these in order! Pick and choose the ones that fit your needs.**

NOTE: I'll try to keep this up to date as I learn of more great resources. Consider it a living list.

All books and courses cost money, unless otherwise indicated.

# Programming Culture

These books give you insight into how the software development industry actually works.

* ["Dreaming In Code" by Scott Rosenberg](http://www.dreamingincode.com/) <-- Offers an excellent look at the nature of real-life projects through the story of one fated software project. **Every programmer should read this!**

* ["The Cathedral and the Bazaar" by Eric S. Raymond](http://www.catb.org/esr/writings/cathedral-bazaar/) <-- The watershed essay that defined the entire Open Source movement, along with many other insightful essays about open source software development. [Free to read online.]

* ["The New Hacker's Dictionary" by Eric S. Raymond](https://www.amazon.com/New-Hackers-Dictionary-3rd/dp/0262680920) <-- A hilarious compendium of programmer culture slang, witticisms, and legend. [Also free to read online at [The Jargon File](http://www.catb.org/jargon/html/).]

* ["Turing's Cathedral" by George Dyson](https://www.amazon.com/Turings-Cathedral-Origins-Digital-Universe/dp/1400075998) <-- A fantastic journey through the origins of computer science.

* ["Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold](https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/)

# General Knowledge

* ["Computational Fairy Tales" by Jeremy Kubrica](https://computationaltales.blogspot.com/p/book.html) <-- a whimsical and memorable look at data structures, algorithms, and the concepts behind algorithmic efficiency. Also a TON of fun! [Free to read online]

* ["Game Programming Patterns" by Robert Nystrom](http://gameprogrammingpatterns.com/) <-- A hilarious and insightful must-read for any language. [Free to read online.]

* ["Think Like A Programmer" by V. Anton Spraul](https://nostarch.com/thinklikeaprogrammer) <-- Uses C++, but good for any language!

* ["Hacker's Delight" by Hank Warren](https://hackersdelight.org/) <-- Especially for the math nuts. Contains many nerdfully delightful algorithms written in machine code. Surprisingly, this is actually a great "deep dive" style entry into machine-level programming.)

# Python

* ["Automate The Boring Stuff with Python" by Al Sweigart](https://automatetheboringstuff.com/)

* ["Python Crash Course" by Eric Matthes](https://nostarch.com/pythoncrashcourse2e)

* ["The Complete Python Course" by Jose Salvatierra and Rob Percival (Udemy)](https://www.udemy.com/the-complete-python-course)

# C++ and C

* ["Beginning C++ Programming" by Tim Buchalka (Udemy)](https://www.udemy.com/beginning-c-plus-plus-programming/)

* ["C++ Primer" by Stanley B. Lippman](https://www.amazon.com/Primer-5th-Stanley-B-Lippman/dp/0321714113/) <-- I haven't personally read this, but many C++ devs highly recommend it. *DO NOT GET PRIMER PLUS...that's a different book, and not a trustworthy one.*

* ["Learn C The Hard Way" by Zed Shaw](https://learncodethehardway.org/c/) <-- Great once you've learned at least one other language.

# Linux

* ["The Linux Command Line" by William Shotts](http://www.linuxcommand.org/tlcl.php) [Free to read online.]

* ["How Linux Works" by Brian Ward](https://nostarch.com/howlinuxworks2)