If you are seeking a job as software engineer in general:
- Clean Code
- Refactoring: Improving the Design of Existing Code
- The Pragmatic Programmer: From Journeyman to Master
- Effective Java (2nd Edition)
- Head First Design Patterns
- SCJP Sun Certified Programmer for Java 6 Exam 310-065
- Head First Servlets and JSP: Passing the Sun Certified Web Component Developer Exam
- Spring in Action
- Java Persistence with Hibernate
- EJB 3 in Action
Sometimes when I ask the candidates to elaborate on how they separate tiers on the software they've worked on they stagger because they never went deep in the framework they were using so ask questions go deep in your current framework but keep this in mind: programming languages and frameworks come and go through time it's ok to know how they work to understand the philosophy behind them but it's better to have solid basics because this will allow you to learn new frameworks and languages much more faster.
So my advice is polish your basics then pick-up a language or framework and go deep with it and never stop learning, never stop asking questions and the most important one never stop to be humble because no matter how good you are no team will accept you if nobody wants to work with you.