Responsibilities

  • Lead the design and implementation of GraphQL APIs to meet business requirements.
  • Collaborate with cross‑functional teams to gather and understand API requirements.
  • Utilise strong proficiency in Java to develop and maintain high‑quality software applications.
  • Implement best practices for code quality, maintainability, and performance.
  • Contribute to the overall system architecture and design decisions.
  • Ensure scalability, reliability, and security of the software systems.
  • Conduct thorough code reviews to maintain code quality and consistency.
  • Provide guidance and mentorship to junior developers in the team.
  • Integrate GraphQL APIs with existing systems and third‑party services.
  • Develop and execute comprehensive unit and integration tests.
  • Participate in Agile/Scrum development processes, including sprint planning, stand‑ups, and retrospectives.

Requirements

  • In‑depth knowledge of Java programming language features, syntax, and constructs.
  • Mastery of core Java concepts such as OOP (Object‑Oriented Programming), multithreading, and exception handling.
  • Proficiency in the Spring Framework, including Spring Boot, Spring MVC, Spring Data, and Spring Security.
  • Understanding of inversion of control (IoC) and dependency injection (DI) principles.
  • Expertise in Hibernate or JPA for object‑relational mapping and database interaction.
  • Familiarity with web development technologies such as HTML, CSS, and JavaScript and/or TypeScript.
  • Experience with front‑end frameworks/libraries (e.g., Angular, React, or Vue.js).
  • Knowledge of building and consuming RESTful APIs using frameworks like Spring REST or JAX‑RS.
  • Strong understanding of GraphQL concepts and best practices.
  • Proficient in working with relational databases like PostgreSQL and a good understanding of database design principles.
  • Extensive experience with testing frameworks such as JUnit, Mockito and TestNG for unit testing and integration testing.
  • Familiarity with build tools like Gradle for dependency management.
  • Proficient in using a version control system like Git for source code management.
  • Knowledge of CI/CD pipelines and tools like Bamboo.
  • Understanding and application of design patterns for creating scalable and maintainable software.
  • Expertise in writing concurrent and multithreaded applications, including synchronisation mechanisms.
  • Awareness of security best practices in Java development, including secure coding principles and vulnerability mitigation.
  • Ability to optimise code for performance and diagnose and resolve performance‑related issues.
  • Experience with logging frameworks (e.g., SLF4J) and application monitoring tools.
  • Strong collaboration skills and the ability to write clear and concise technical documentation.
  • Familiarity with Agile development methodologies, particularly Scrum.
  • Proficient in troubleshooting and debugging Java applications using various tools.
  • Demonstrated commitment to continuous learning and staying updated with the latest Java and industry trends.
#J-18808-Ljbffr
Similar jobs

Java Engineer

Apply Now
Back to search page