- Key Responsibilities:
- Java & Spring Boot Development:
- Design, develop, and maintain scalable, efficient, and secure backend services using Java and Spring Boot.
- Implement RESTful APIs and microservices architecture to enhance application scalability and maintainability.
- Leverage Spring Boot to build and deploy Spring-based applications rapidly and efficiently.
- Microservices Architecture:
- Develop, implement, and maintain microservices using Spring Boot, Spring Cloud, and other related frameworks.
- Ensure seamless communication and integration of microservices through RESTful services, API Gateway, and Event-driven architecture.
- Design microservices for high availability, fault tolerance, and scalability.
- API Development & Integration:
- Build and manage RESTful web services for front-end and back-end interactions.
- Ensure the APIs are well-documented, secure, and scalable while following industry standards.
- Integrate third-party services or databases with backend systems via APIs.
- React Front-End Development:
- Develop user interfaces using React.js to provide seamless interaction and integration with backend services.
- Implement state management techniques such as Redux to manage data flow within React applications.
- Work closely with UI/UX designers to implement responsive and visually appealing front-end features.
- Database Management & Integration:
- Work with relational and NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB) for data storage and retrieval.
- Implement ORMs like Hibernate or JPA for managing database operations in a Java environment.
- Design and optimize database schemas for high-performance data retrieval.
- Cloud Integration & Deployment:
- Deploy and manage applications on cloud platforms (e.g., AWS, Azure, Google Cloud).
- Ensure that microservices are deployed in containers using technologies like Docker, Kubernetes for orchestrating services at scale.
- Implement continuous integration and deployment (CI/CD) pipelines using Jenkins, GitLab, or other CI/CD tools.
- Performance Optimization:
- Ensure high performance and responsiveness of applications by optimizing both the front-end (React) and back-end (Java, Spring Boot).
- Profile and optimize code for latency, throughput, and memory usage.
- Resolve performance bottlenecks by conducting thorough testing and debugging.
- Testing & Quality Assurance:
- Write unit tests, integration tests, and functional tests for backend and frontend applications using frameworks like JUnit, Mockito, Jest, and React Testing Library.
- Ensure that services adhere to best practices in terms of clean code, testing, and code coverage.
- Collaboration & Agile Practices:
- Work in an Agile team environment, collaborating with cross-functional teams including designers, QA engineers, and product managers.
- Participate in scrum ceremonies such as daily stand-ups, sprint planning, and retrospectives.
- Documentation & Code Reviews:
- Document backend services, front-end architecture, and API specifications using tools like Swagger or OpenAPI.
- Perform code reviews and provide constructive feedback to team members to maintain high coding standards.
- Skills and Qualifications:
- Mandatory Skills:
- Java: Strong proficiency in Java and object-oriented programming concepts.
- Spring Boot: Extensive experience with Spring Boot for building scalable, maintainable, and production-grade applications.
- Microservices: Expertise in designing and implementing microservices architecture using Spring Cloud, Spring Boot, and related technologies.
- RESTful APIs: Experience in developing and consuming RESTful services with JSON format.
- React.js: Strong experience with React.js for building dynamic and responsive user interfaces.
- Frontend State Management: Experience in managing state in React applications using Redux or similar libraries.
- Database Integration: Experience in working with relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB).
- Version Control: Proficiency with Git for version control and collaborative development.
- CI/CD Pipelines: Knowledge of Continuous Integration and Continuous Deployment pipelines using tools like Jenkins, GitLab CI, Docker.
- Testing: Experience with testing frameworks like JUnit, Mockito, React Testing Library, and Jest.
Skills Required
Mysql, Postgresql, Nosql, Junit, Mockito