Responsibilities
- Design, implement, and maintain Java applications that are high-volume and low-latency, necessary for mission-critical systems.
- Contribute to all phases of the development lifecycle, writing well-designed, testable, and efficient code.
- Ensure designs comply with specifications, preparing and producing releases of software components.
- Support continuous improvement by investigating alternatives and technologies, and presenting these for architectural review.
- Collaborate with team members to create a synergy that drives impact and innovation in development projects.
Minimum requirements
- Bachelor's degree in Computer Science, Engineering, or a related field.
- 2-3 years of hands-on Software Development experience in Java and J2EE frameworks (like Spring, Hibernate).
- Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management, etc).
- Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC).
- Excellent knowledge of Relational Databases, SQL, and ORM technologies (JPA2, Hibernate).
Preferred skills
- Experience with test-driven development.
- Mastery in software engineering tools.
- Ability to document requirements and specifications.
- Familiarity with build tools such as Ant, Maven, and Gradle.
- Experience in developing applications using microservices architecture.