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
Participating 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 masters 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.