Clean Code by Robert Martin. You'll see it mentioned frequently on HN and online in general. Changed the way I wrote code almost immediately. I kind of wish it had been a part of my university curriculum. I'm sure we HNers can pick on the book for this and for that (can't any book?) but overall I think it's excellent.
Designing Data-Intensive Applications by Martin Kleppmann. If you ever plan on working on systems with high availability, high throughput or high data volume requirements, this is the book to read. Great balance between practical and theoretical, best book on distributed systems IMO.
I would recommend The Goal (E. Goldratt) over The Phoenix Project. Although The Goal is not about IT, I feel it’s much more didactic on how to identify problems and deal with them. In The Phoenix Project, things kinda fall into place without any deeper reasoning about why they should.