Reading List
Tools
-
A good introduction to Cassandra 2.0.
-
While the grammar was atrocious, this filled in a lot of the gaps that Learning Apache Cassandra didn’t cover. The ‘Cassandra Architecture’ and ‘Performance Tuning’ chapters were awesome. Note that this and Learning Apache Cassandra were the only books I could find on Cassandra 2.0 and 2.1 as of June 2015.
-
Hadoop: The Definitive Guide, 3rd Edition
A good introduction to Hadoop and the Hadoop ecosystem, thought you’ll probably want the 4th edition.
-
After reading the whole thing my git-fu was better than almost all my classmates’.
-
Version Control with Subversion
The first four chapters were very useful; I didn’t read more because my interactions with svn are infrequent and straightforward (thankfully).
- Classic Shell Scripting
- Learning The Vi And Vim Editors
Software Engineering
-
Useful, engaging, and short. I’ve read it twice.
- The Mythical Man Month
-
Code: The Hidden Language of Computer Hardware and Software
This was a great introduction to digital logic when I read it in high school.
-
Code Complete, 2nd Edition and The Art of Readable Code
If you don’t know everything in these books you should read them.
-
97 Things Every Programmer Should Know and Secrets of the Rock Star Programmers
I’ve forgotten if these were any good, but they were less focused on single topics and more conversational.
Languages
-
An amazing book on an amazing language, this gave me a new perspective on functional programming and concurrency.
-
After reading this I no longer feel like a stranger in the Lisp world.
- Effective Java, 2nd Edition
- JavaScript - The Good Parts
- Javascript: The Definitive Guide, 5th Edition
-
C# in depth, 1st Edition
The first edition was a good introduction to C#, so I expect the newer editions are as well.
- Pro C# 2008 and the .NET 3.5 Platform
-
The C Programming Language, 2nd Edition (K&R)
Old, but a very good introduction to C.
-
Lots of useful information in a very dense format, this helped take me from ‘using C’ to ‘knowing C’.
- Eloquent Ruby
-
An Introduction to Functional Programming Through Lambda Calculus
This book is light on math and won’t bore a software engineer. Thanks to this book I can bootstrap a language with booleans, positive integers, and lists from lambda calculus at a moment’s notice.
Other Technical Topics
- Webmaster in a Nutshell, 3rd Edition
- Beginning XML
Non-technical
-
How to Win Friends and Influence People
Worth reading so I never forget rules like “always remember people’s names” and “anyone will like you if you just listen.”
- Ender’s Game
-
Amazing worldbuilding, which is the main reason I read it. However, the amount of worldbuilding decreases monotonically, and my enjoyment did as well.
- Dreaming in Code