We are seeking a pivotal Java GraphQL Developer responsible for designing and implementing robust, scalable applications using Java and GraphQL. You will work closely with cross-functional teams to deliver innovative software solutions, with a focus on creating high-quality, maintainable code. This role requires a strong background in Java development, comprehensive knowledge of GraphQL principles, and the ability to thrive in an Agile environment.
Roles & Responsibilities:
- Design, develop, and maintain efficient and scalable Java applications.
- Implement GraphQL APIs to optimize data fetching and enhance user experience.
- Collaborate with front-end developers to integrate user-facing elements with server-side logic.
- Participate in architecture discussions to define application structure and design.
- Ensure application performance, quality, and responsiveness through code reviews and testing.
- Develop RESTful APIs in conjunction with GraphQL services.
- Write unit tests and conduct system testing to ensure functionality.
- Maintain comprehensive documentation of application architecture and design decisions.
- Troubleshoot and debug complex technical issues throughout the development process.
- Stay updated with current industry trends and emerging technologies.
- Participate in Agile ceremonies, including sprint planning and daily stand-ups.
- Mentor junior developers and contribute to their technical growth.
- Collaborate with product management for requirements analysis and feature prioritization.
- Identify and mitigate risks related to software development.
Skills Required:
- Proficiency in GraphQL and related technologies.
- Strong experience in Java development.
- Experience with REST API design and development.
- Strong understanding of microservices architecture.
- Familiarity with Spring Framework and related Spring technologies.
- Experience with relational and NoSQL databases.
- Knowledge of software development best practices and design patterns.
- Experience working within Agile development environments.
- Proficiency in version control systems, preferably Git.
- Strong analytical and troubleshooting skills.
- Excellent communication and teamwork skills.
- Experience with testing frameworks like JUnit or Mockito.
- Familiarity with containerization technologies (e.g., Docker) is a plus.
QUALIFICATION:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.