Application Development
- Design, develop, and maintain efficient, scalable, and secure Java applications.
- Implement GraphQL APIs to optimize data access and improve front-end performance.
- Develop RESTful APIs and ensure proper integration with GraphQL services.
System Architecture & Design
- Participate in architecture discussions and contribute to the design of robust software systems.
- Collaborate with cross-functional teams to define application structure and ensure scalability.
- Maintain comprehensive documentation of architecture and technical decisions.
Integration & Collaboration
- Collaborate with front-end developers to integrate server-side logic with user-facing features.
- Work closely with product managers and stakeholders to analyze requirements and prioritize features.
Code Quality & Testing
- Conduct code reviews to ensure high standards of code quality and performance.
- Write unit and integration tests using frameworks such as JUnit or Mockito.
- Troubleshoot, debug, and resolve technical issues across development and production environments.
Agile & Team Contribution
- Actively participate in Agile ceremonies, including sprint planning and daily stand-ups.
- Mentor junior developers, promoting best practices and sharing knowledge.
- Contribute to continuous improvement of development processes and coding standards.
Continuous Learning
- Stay current with emerging technologies, development trends, and industry best practices.
- Contribute to the evolution of software design patterns and best coding techniques.
Required Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Minimum of 5 years of experience in Java development.
- Proficiency in GraphQL and experience implementing GraphQL services.
- Strong background in designing and developing RESTful APIs.
- Hands-on experience with microservices architecture.
- Familiarity with the Spring Framework (Spring Boot, Spring Data, etc.).
- Experience with both relational and NoSQL databases.
- Knowledge of software design patterns and development best practices.
- Proficiency with version control tools, preferably Git.
- Experience in Agile environments (Scrum/Kanban).
- Strong problem-solving and analytical skills.
- Excellent verbal and written communication skills.
- Experience with containerization tools (e.g., Docker) is a plus.
- Passion for software craftsmanship and continuous learning.
Skills Required
Java, Graphql, Spring Boot, Rest Apis, Microservices, Sql