My Summer Reading List

Technically, I started reading in April, but look at that stack! I'm not spending too much time reading on a daily basis right now. I want to get past the learning phase, then once I've had enough exposure to the main requirements for a coding interview, I'll spend half the day reading and the other half doing programming problems.

John Washam and his stack of computer science books, preparing for the software engineer interview

The full list of everything I'm studying is in this Github repo:

The list:

Page counts do not include indices or reference appendices. Some appendices include useful additional learning, and some are just for quick lookups.

In total, it's 5,093 pages.

The order listed is the order in which I'm reading them.

Why these?

The C and C++ books are meant to re-teach me C and C++. I've had only a little exposure to them, since I've spent my entire career doing web development, so C and C++ haven't been needed in my daily work. For the job interview and my new career as a software engineer, I need to know them, and, more importantly, I want to know them. I'm digging down though the abstraction layers to get as close to the metal as possible, without doing assembly code.

I've always been mystified by uses of awk, sed, and even grep at times. I can work in the shell, but don't understand why some things are done in a certain way. The Unix Programming Environment has the answers, and is a solid foundation in the whys and hows of any *nix system. Later I'll move on to reading something modern and Linux-focused.

The The Algorithm Design Manual is recommended by Steve Yegge, whose blog post is well-known. He also mentions Introduction to Algorithms if you want to be prepped, and I do.

Programming Interviews Exposed has been around a long time and is a recommended read.

Programming Pearls was recommended by a lot of people.

Cracking the Coding Interview is generally highly recommended by multiple sources for a review of concepts and programming questions. Don't fear its size. The pages are thick. The C++ book, on the other hand, has almost onion-skin paper.

Why so many?

I'm coming from many years of writing software, but almost no computer science training. So I have a lot to learn to get the basics. Some would say I'm over-preparing, but to me, it's worth it. I want to nail this interview.

Where to get them

Some of these books can only be bought used, and in some cases, near-new or new us pretty expensive, especially for college textbooks.

Amazon sells new and also via merchants, where the prices can range from $5 to $200. Half.com is one of my favorite places to get old textbooks. They usually have everything, and if you're OK with having pages highlighted or scribbled with margin notes, you can save a lot of money. You want your books to have some history, right?

You can also rent textbooks on Kindle or Kindle app if you only need them for a month or two.

comments powered by Disqus