1. Contribute to all phases of the development lifecycle.
2. Write well designed, testable, efficient code.
3. Ensure designs follow specifications.
4. Prepare and produce releases of software components.
5. Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.
1. BS/MS degree in Computer Science, Engineering or a related subject.
2. Proven hands-on Software Development experience.
3. Proven working experience in Java development.
4. Hands-on experience in designing and developing applications using Java EE platforms.
5. Object-Oriented Analysis and design using common design patterns.
6. Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management, etc).
7. Excellent knowledge of Relational Databases, SQL and ORM