Senior Java Software Engineer
Key Responsibilities
- Design, develop, and maintain scalable, high-performance enterprise applications using Java and Spring Boot.
- Develop, enhance, and support microservices and REST APIs in distributed application environments.
- Design and optimize relational database queries, schemas, indexes, and stored procedures using PostgreSQL and SQL.
- Write maintainable, reusable, and secure code following clean coding principles, design patterns, and architectural best practices.
- Follow Test-Driven Development (TDD) practices and develop comprehensive unit test cases.
- Implement and support CI/CD pipelines, automated deployments, and DevOps practices.
- Apply application security principles, including authentication, authorization, secure API development, and access control.
- Support application monitoring, logging, performance analysis, troubleshooting, and root-cause analysis in production environments.
- Use AI-assisted coding tools to improve development productivity, code quality, debugging, and test generation.
- Collaborate with infrastructure, DevOps, QA, security, and other engineering teams to ensure reliable application delivery.
- Provide technical guidance, conduct code reviews, mentor developers, and contribute to technical planning and design decisions.
- Participate in Agile ceremonies, technical discussions, and production support activities.
Mandatory skills: Core Java, Spring Boot, Microservices, PostgreSQL/SQL, unit testing with TDD, CI/CD and DevOps deployment, application security, monitoring/troubleshooting, AI-assisted coding, infrastructure knowledge, and technical leadership and any cloud exposure