As a junior developer, my skills sucked.
Apart from my work colleagues, who showed enormous support, there were a number of books recommended to me which helped develop my skills and ask for less help from those around.
These books cover software development and the Java programming language. Ordered by their importance, these are:
1. Thinking in Java - Bruce Eckel
A friend called this “The Bible”. It’s huge, at 1000+ pages, but the information inside is totally worthwhile.
Out of all the books listed here, in my opinion, this is the most essential and informative technical book on Java, a huge help in understanding the programming language.
2. Oracle Certified Associate Java SE 8 Programmer I Study Guide - Jeanne Boyarsky, Scott Selikoff
The second most important book, the Study Guide for the OCA exam also offers insight on the Java language, as well as preparation for the exam.
While you’re at, if you do finish this book, you can take a couple of additional online mock tests and then take the Certification exam. It’s a helpful certification to have under your belt as a developer.
3. The Pragmatic Programmer: From Journeyman to Master - Andrew Hunt, Dave Thomas
This book transcends programming languages and offers helpful career information for software developers. I even wrote a shitty article in english and romanian about it, where you can see more about what this book has to offer.
4. design pattern tutorial - tutorialspoint
An online tutorial about design patterns, it’s a useful resource to look less like an idiot when the older developers are discussing about “implementing a template” in a project.
3/5 stars, informative [direct link]
5. The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win - Gene Kim, Kevin Behr, George Spafford
A great work of fiction, in which a department manager is thrown into the position of leading a massively over-budgeted and underestimated project, which if unsuccessful, causes the outsourcing of a whole department and the loss of a large number of jobs.
The book makes you understand how much communication and work organization matter for the good workflow of a company. It also shows how difficult it is to actually improve these organizational aspects.
If not for the perspective shift, it’s an entertaining book to read. Give it the first chapter.
6. Effective Java Programming Language Guide - Joshua Bloch
A lecture not necessarily for young software developers, the book is jam packed with good practices to keep in mind when coding. Some notions are difficult to understand if you have only basic knowledge of software development, but others are essential for young coders. It’s a work that can be read and re-read for advice that might have been missed on an earlier reading.
Let me know if any of these helped! Any feedback will be appreciated!