Job Description: We are looking for a Java developer to join our team. You will be responsible for developing and maintaining high-quality software that meets our clients’ needs. You will work closely with our project managers and other developers to ensure that all project requirements are met.
Responsibilities:
- Designing, implementing, and maintaining Java applications that are often high-volume and low-latency, required for mission-critical systems
- Delivering high availability and performance
- Contributing in all phases of the development lifecycle
- Writing well-designed, efficient, and testable code
- Conducting software analysis, programming, testing, and debugging
- Managing Java and Java EE application development
- Ensuring designs comply with specifications
- Preparing and producing releases of software components
- Supporting continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Requirements:
- Proven hands-on software development experience in Java development
- Hands-on experience in designing and developing applications using Java EE platforms
- Object-oriented analysis and design using common design patterns
- Profound insight into Java and JEE internals (Classloading, Memory Management, Transaction management, etc)
- Excellent knowledge of Relational Databases, SQL, and ORM technologies (JPA2, Hibernate)
- Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC)
- Experience with test-driven development
Nice to Have:
- Experience in the Spring Framework
- Experience with Agile methodologies
- Experience with software development tools such as Maven, Git, and Jenkins
- Knowledge of JavaScript frameworks like Angular, React, or Vue.js
Education and Certifications:
- Bachelor’s degree in Computer Science, Engineering, or a related field
- Java certifications are a plus