This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I highly recommend "Effective Java" to learn about Java in general, and "Design Patterns" (Gamma at al.) to learn about ancient design patterns. Both are standard works. Be aware that "Design Patterns" is very old and that many things are done differently these days.
It is likely that you have to learn about Servlets & JSP and about EJB sooner or later. If you need that rather sooner, it might be necessary to postpone the study of the books I mentioned above. Many people don't recognize flaws in OOD and Java in general when they see them, but they recognize it when you don't know about EE in a company that uses it. However, J2EE is a career choice, not a must. You can also choose a position where you specialise on other areas.
For EJB, "Mastering EJB" (free download) is quite good. Just don't believe anything about OOD or Java best practices you read in there; it's often wrong. You don't have to absorb every little bit of the book. Skip and glance over chapters that are not interesting for you at the moment.
For Servlets & JSP I recommend "Core Servlets and JSP". Again, you can skip and glance over chapters that are not interesting for you at the moment.
You have to know about common development processes like RUP, Agile, XP and a few others. It is enough for a start to know a little about each of them, and a little more about the ones your company uses. "Thinking in Java" 3rd edition (!) chapter 16 and following (including appendices) is a good introduction, or "UML distilled" chapter 2 (read both).
Read or glance over the rest (view only "pictures" if you want) of "UML distilled" as a UML introduction. It only takes half a day.
Finally, spend just a few hours with Ant and a test framework of your choice if you haven't done so already.
My advice is to read "Peopleware," "The Mythical Man-Month," "Code Complete," "Rapid Development" and some books on networking (people not circuits) like "Never Eat Alone." If you just focus on different Java APIs you're greatly limiting yourself.
Joined: Jun 13, 2005
Thanks a lot, thanks from bottom of my heart to both Kai and Mark.