Books to read:

Head First Design Patterns

The GOF book was a bit much. Maybe looking at the more common patterns will be useful.

Effective Java, Bloch

I don't use Java very often, but this seems like a good one to go to for learning some of the language idioms.

Elements of Statistical Learning

Doing Data Science

Algorithms by Dasgupta

Applied Discrete Data Structures, Doerr and Levasseur [ads]

Math for Computer Science, Lehman and Leighton [ mathcs ]

Think Bayes, Downey

Making Software, Oram and Wilson

Doing Bayesian Data Analysis, Kruschke

An Introduction to Analysis of Algorithms, Flajolet and Sedgewick

Analytic Combinatorics, Flajolet and Sedgewick

Concrete Mathematics, Graham, Knuth, and Patashnik

Working with Legacy Code, Feathers

Concepts, Techniques, and Models of Computer Programming, Van Roy and Haridi

Clean Code

Due for a re-read:

- Programming Pearls, Benteley
- Code Complete