Developer Reading List

Written by
Published on Jan. 08, 2013

Below is a reading list of software engineering books that I put together for a friend a few month ago - hope you enjoy the list...

C
 
C Programming Language (2nd Edition) by Brian W. Kernighan and Dennis M. Ritchie
 
Java
 
Java Programming Language, The (4th Edition) by Ken Arnold, James Gosling and David Holmes
 
Thinking in Java (4th Edition) by Bruce Eckel
 
Advanced Effective Java (2nd Edition) by Joshua Bloch
 
Advanced Java Concurrency in Practice by Brian Goetz, Tim Peierls, Joshua Bloch and Joseph Bowbeer
 
Ruby
 
Learn to Program, Second Edition (The Facets of Ruby Series) by Chris Pine
 
Programming Ruby 1.9: The Pragmatic Programmers’ Guide (Facets of Ruby) by Dave Thomas, Chad Fowler and Andy Hunt
 
Algorithms
 
Algorithms in Java, Parts 1-4 (3rd Edition) (Pts.1-4) by Robert Sedgewick
 
Testing
 
Test Driven Development: By Example by Kent Beck
 
Software Design Advanced
 
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
 
Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant and William Opdyke
 
Refactoring to Patterns by Joshua Kerievsky
 
The Enterprise Advanced
 
Patterns of Enterprise Application Architecture by Martin Fowler
 
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe and Bobby Woolf
 
Web
 
Agile Web Development with Rails (Pragmatic Programmers) by Sam Ruby, Dave Thomas and David Heinemeier Hansson
 
Advanced Restful Web Services by Leonard Richardson, Sam Ruby and David Heinemeier Hansson
 
Methodology
 
Extreme Programming Explained: Embrace Change (2nd Edition) by Kent Beck and Cynthia Andres
 
Agile Software Development with Scrum (Series in Agile Software Development) by Ken
Schwaber and Mike Beedle
 
SQL
 
Joe Celko’s SQL for Smarties, Fourth Edition: Advanced SQL Programming (The Morgan Kaufmann Series in Data Management Systems) by Joe Celko
 
37 Signals
 
Rework by Jason Fried and David Heinemeier Hansson
 
Getting Real: The smarter, faster, easier way to build a successful web application by Jason Fried, Heinemeier David Hansson and Matthew Linderman
 
Collections
 
Pragmatic Unit Testing in Java with JUnit by Andy Hunt and Dave Thomas
 
Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps by Mike Clark
 
Pragmatic Version Control Using Git (Pragmatic Starter Kit) by Travis Swicegood
 
Pragmatism
 
The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas
 
Hiring Now
Biofire
Hardware