14 books for developers that we love

- February 12, 2015


When does one decide to become a programmer? Some people may do it on the side just for fun, some people may decide to go to school for it, some people just use it as a solution to a certain problem.

But for all programmers we find techniques and chunks of code that we find work well – that we become used to – and implement them. Sometimes like a child with a Shape and Sort it out toy.

The following list comes from a few of our devs at Filestack. There is a different approach to this list: some of these are a bit off the beaten path, whereas others are tried and true methods and practices that we find effective and continue to use.

Interesting fact: the Ada programming language, which might sound a little obscure, is still used today in projects that need to be quite secure. Some examples include: software for the Boeing 777, Air traffic control systems, rail and metro systems in Paris, London, Hong Kong, and New York City. Recently it was used to help with the Rosetta/Philae probe that landed on a comet. See a full list.  Hat tip to Slawomir for the Ada suggestions!

If you have any suggestions for us, please leave it in the comments!

Craftsmanship, Programming Practices

Code Craft: The Practice of Writing Excellent Code by Pete Goodliffe
Code Reading: The Open Source Perspective by Diodimis Spinellis
Code Quality: The Open Source Perspective by Diodimis Spinellis
Practices of an Agile Developer by Venkat Subramaniam, Andy Hunt
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas

Project Management

Agile Software Development by Alistair Cockburn
Behind Closed Doors: Secrets of Great Management by Johanna Rothman, Esther Derby
Manage It! Your Guide To Modern, Pragmatic Project Management by Johanna Rothman
Ship it! A Practical Guide to Successful Software Projects by Jared Richardson, William A Gwaltney

Programming Language Guides

The C++ Programming Language, 3rd ed. by Bjarne Stroustrup
Programming in Ada 2005 by John Barnes

Software Design

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm
HOOD: an Industrial Approach for Software Design by J-P. Rosen

Distributed Systems:

Concurrency in Ada, 2nd ed. by Alan Burns, et al.