Here are some books that I highly recommend.
For C++, there is the curated list on StackOverflow: The Definitive C++ Book Guide and List. Nothing I could add to that list, or take away.
For JavaScript (ES6), I've been out of the loop too long. I suspect books like Eloquent JavaScript and JavaScript: The Good Parts are out of date, but I found them to be a great help back in the day.
For F#, I've read about a dozen books on the topic. Only one book have I found to be useful so far:
- The Book of F#, by Dave Fancher, a fantastically fabulous book
- disclaimer: I haven't read "Expert F# 4.0" yet, which I hope and expect will be good, even if the reviews call it "preachy"
For agile, I've really enjoyed these books:
- The Scrum Guide, by Schwaber and Sutherland, is nice, very short, definitive, and free (PDF)
- Succeeding With Agile, by Mike Cohn, is a "must have" book for agile
- How To Implement Scrum in 10 Easy Steps, by Kelly Waters, is an online article, but I'd be remiss if I didn't call it out here. Scrum really is that simple... in theory.
For general development, I have these heavily dog-eared books on my top shelf:
- Writing Solid Code, by Steve Maguire
- Code Complete, by Steve McConnell
- Clean Code, by Robert C. Martin
- Design Patterns, by Gamma, Helm, Johnson, and Vlissides
- AntiPatterns, by Brown, Malveau, McCormick, and Mowbray
On my short queue of books to read that have been highly recommended to me:
- Refactoring, by Martin Fowler, et al
- The Pragmatic Programmer, by Hunt and Thomas
- Growing Object-Oriented Software, Guided by Tests, by Freeman and Pryce
What are some book recommendations you would like to share?
Working Effectively with Legacy Code by Michael Feathers is a must read. Even for those, who dream of working on green field project all their life. :)