There are a bunch of books that will help with all programming:
- Code Complete (Steve McConnell)
- Pragmatic Programmer
- Software Craftsmanship by Robert Martin
- Test-driven design by Kent Beck
But the way I have always learned most is working alongside people who were smarter than I am, with more experience, and enough patience to explain stuff that wasn't obvious. If that's not easy in the real world, try contributing to an open source project.
But the way I have always learned most is working alongside people who were smarter than I am, with more experience, and enough patience to explain stuff that wasn't obvious. If that's not easy in the real world, try contributing to an open source project.