Key Responsibilities:
1. Technical Leadership & Architecture
- Design and develop scalable, high-performance Java applications using Spring Boot, Hibernate, JPA, and Microservices architecture.
- Define and enforce coding standards, best practices, and architectural patterns.
- Implement RESTful APIs, GraphQL, and WebSockets for seamless integration.
- Optimize application performance, security, and maintainability.
2. Module Management & Delivery
- Take ownership of end-to-end delivery of assigned modules within project timelines.
- Plan, track, and ensure high-quality, on-time module completion.
- Work closely with the project manager to define technical deliverables and milestones.
- Conduct regular progress reviews, identify roadblocks, and mitigate risks.
3. Team Leadership & Mentorship
- Lead and mentor a team of software engineers, fostering a culture of learning and growth.
- Conduct code reviews, provide constructive feedback, and ensure best practices.
- Guide the team in troubleshooting technical issues and optimizing solutions.
- Organize training sessions on emerging Java technologies.
4. API Development & Database Management
- Develop and integrate RESTful APIs, GraphQL, and third-party services.
- Design and optimize database schemas for SQL (MySQL, PostgreSQL) and NoSQL (MongoDB, Cassandra)databases.
- Ensure data security, indexing, and query optimization for enhanced performance.
5. Security, Performance & Optimization
- Implement authentication and authorization mechanisms (OAuth, JWT, Spring Security).
- Optimize applications for high availability, scalability, and performance.
- Follow security best practices, ensuring compliance with OWASP standards.
- Perform performance tuning, caching strategies (Redis, Memcached), and asynchronous processing.
6. Testing, Debugging & CI/CD Integration
- Oversee unit and integration testing using JUnit, Mockito, and TestNG.
- Implement test automation strategies to improve software quality.
- Debug and resolve complex production issues.
- Collaborate with DevOps teams to integrate modules into CI/CD pipelines (Jenkins, GitHub Actions, GitLab CI/CD, Azure DevOps).
- Ensure seamless deployment on cloud platforms (AWS, Azure, GCP) using Docker and Kubernetes.
7. Agile Development & Stakeholder Communication
- Participate in Agile ceremonies (Sprint Planning, Stand-ups, Retrospectives).
- Communicate technical updates and risks to stakeholders, product managers, and senior leadership.
- Work closely with UI/UX designers, backend teams, and DevOps engineers for integrated solutions.
- Ensure proper documentation of module functionalities and technical decisions.
Requirements
Technical Skills:
- Core Java (JDK 11+), Spring Boot, Hibernate, JPA.
- Microservices architecture, RESTful APIs, GraphQL, WebSockets.
- SQL (MySQL, PostgreSQL), NoSQL (MongoDB, Cassandra, DynamoDB).
- Testing frameworks (JUnit, Mockito, TestNG, Cucumber).
- Cloud platforms (AWS, Azure, GCP) - deployment and monitoring.
- CI/CD tools (Jenkins, Git, Docker, Kubernetes, Terraform).
- Security best practices (OWASP, OAuth, JWT, Role-Based Access Control).
Soft Skills:
- Strong leadership and team management abilities.
- Excellent analytical, problem-solving, and decision-making skills.
- Effective communication with technical and non-technical stakeholders.
- Ability to work in a fast-paced, deadline-driven environment.
Preferred Qualifications:
- Bachelor's or Master's degree in Computer Science, IT, or a related field.
- Certifications such as Oracle Certified Java Programmer (OCJP), AWS Certified Solutions Architect, Spring Professional Certification are an advantage.