We are seeking an experienced Java developer to join our team. This role involves developing middleware to integrate various systems and requires a deep understanding of Java-based technologies and prior experience in building robust, scalable integration systems.
Responsibilities:
- Design and develop high-performing middleware using Java, capable of handling complex data synchronization between different systems.
- Implement secure, scalable, and efficient APIs, with a specific focus on integrating using GraphQL.
- Collaborate with project managers and other team members to define requirements, set development goals, and meet project deadlines.
- Write well-designed, testable, and efficient code.
- Participate in the entire application lifecycle, focusing on coding, debugging, and testing.
- Prepare and produce releases of software components.
- Support 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 of 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.
- Mastery in software engineering tools.
- Ability to document requirements and specifications.
- Experience in building integrations and familiarity with GraphQL are highly desirable.
Desirable Skills:
- Familiarity with concepts of MVC, JDBC, and RESTful.
- Experience with Spring Framework and its related sub-projects like Spring Boot, Spring MVC, and Spring Data.
- Knowledge of concurrency patterns in Java.
- Experience with building and managing Docker containers.
- Familiarity with CI/CD pipelines and tools like Jenkins.
- Knowledge of front-end technologies (JavaScript, HTML, CSS) is a plus, though not required.
Application Requirements:
- Please submit a resume/CV detailing your relevant experience.
- Include a portfolio of your previous work that includes middleware projects, API integrations, or other relevant technologies.
Employment Details:
- This is a full-time position with hybrid/remote work options.
- Project Duration: 6+ months, with the possibility of extension based on project needs and performance.