References
Blogs, books, etc. that relate to software engineering in various ways
Books I cherish and blogs I monitor for their lasting value.
Books
- A Philosophy of Software Design by John Ousterhout dethroned Software Tools (below) as my favorite software engineering book of all time.
- Software Tools
by Brian W. Kernighan and P.J. Plauger was the single best book on software engineering I ever read until A Philosophy of Software Design (above).
- Ship it! A Practical Guide to Successful Software Projects
is an excellent introduction to managing software projects.
- Behind Closed Doors: Secrets of Great Management
might be considered an updated One Minute Manager
with a focus on software development.
- The Checklist Manifesto: How to Get Things Right
is a light but insightful read that drives home by example the power of checklists.
- The Design of Everyday Things
may make you swear at ATMs more often because of how badly designed they are. (I haven’t read the updated edition.)
- Things That Make Us Smart
is an essential foundation in user experience.
- The Media Lab: Inventing the Future at MIT
may be a bit dated but has moments that still resonate with me.
- Countdown to Zero Day: STUXNET and the Launch of the World’s First Digital Weapon is a wonderful introduction to practical matters in cyber security.
- The Cuckoo’s Egg: Tracking a Spy Through the Maze of Computer Espionage is a testament to perseverance in debugging.
- The original and still the best, UNIX Network Programming
is a treasure. For years I copied Stevens’s examples whenever I started a new network program. I have the original, single-volume edition. I suspect you can’t go wrong with any of his work
.
- The All-New Switch Book
makes network switching so clear it makes me wish Seifert wrote on more topics. (I haven’t read the updated version but the original is indispensable.)
- Peer Reviews in Software
is an excellent foundation in software review. An author wouldn’t publish without editing. Why would a programmer release without review?
- Cryptography Engineering
is a solid introduction to cryptography that got me through the security questions on the software PE exam.
- The C Programming Language
(“K&R”) is an indispensable reference.
- A Book on C
is a wonderful primer with lots of examples.
Blogs
- Coding Horror : Jeff Atwoods’s thoughts on “programming and human factors.”
- Alert Box : Nielsen Norman Group on usability and user experience.
- In its heyday, Joel On Software articles like Joel’s 12 steps were a great source of insight and guidance. Joel stopped philosophizing a while ago and the blog is more about company news than software development techniques but the archives are worth reviewing. If you can’t make yourself do that, buy the book
.