Principal Software Engineer (Java Full stack)
HybridBengaluru, Karnataka, India
Job Summary
Design, develop, and maintain complex, enterprise-scale Java applications using Spring Boot, REST APIs, and relational databases. Lead technical direction for modules while actively driving modernization initiatives from legacy systems to cloud-ready microservices architectures. Mentor engineers across teams and collaborate with global product, QA, and DevOps stakeholders to deliver high-performance, secure solutions aligned with business goals. Perform technical trade-off analysis, ensure code quality through unit testing and static analysis, and support performance tuning in production environments within Agile/Scrum teams.
Required Qualifications
- MCA or Bachelor's degree in Engineering, Computer Science, or equivalent
- 8+ years of hands-on experience in Java-based software development on global or enterprise projects
- Proven experience in product development environments
- Strong understanding of the Product Development Lifecycle and Lean Agile / Scrum methodologies
- Excellent verbal and written communication skills
- Strong analytical and problem-solving abilities
- Strong learning mindset and continuous improvement orientation
- MCA or Bachelor's degree in Engineering, Computer Science, or equivalent
- 8+ years of hands-on experience in Java-based software development on global or enterprise projects
- Proven experience in product development environments
- Strong understanding of the Product Development Lifecycle and Lean Agile / Scrum methodologies
- Excellent verbal and written communication skills
- Strong analytical and problem-solving abilities
- Strong learning mindset and continuous improvement orientation
- Candidate must be able to work and live in the UK without restriction
Desired Qualifications
- Exposure to Azure cloud-native development
- Experience with shipping/logistics workflows or scientific data processing (e.g., Genomics, laboratory systems)
- Exposure to event-driven or message-based systems
- Experience with software design patterns, layered architectures, and performance optimization
- Good hands-on knowledge of performance profiling and memory analysis
- Strong experience with unit testing and mocking frameworks (JUnit, Mockito, etc.)
- Familiarity with Azure DevOps, CI/CD pipelines, Docker, and cloud platforms
- Understanding of build and dependency management tools such as Maven or Gradle
- Experience with microservices architecture, service communication, and integration patterns
- Working knowledge of Hibernate / JPA and transaction management
- Experience with API-based, file-based, and message-based integrations (e.g., Azure Service Bus or similar)
- Experience with Angular
- Experience with React
- Experience with MongoDB
- Experience with AKS
- Experience with RESTful API design
- Experience with SQL
- Experience with Spring / Spring Boot
- Experience with Java (8+)
- Experience with Scaled Agile, Lean, Kanban, and Zero-Defect Development
- Experience with Daily stand-ups and close collaboration with development teams
- Experience with Continuous Integration and Continuous Deployment (CI/CD)
- Experience with Automated builds, deployments, and testing
- Experience with Automated unit and functional testing
- Experience with Adherence to development guidelines and coding standards
- Experience with SonarQube-based static code analysis
- Experience with Design, develop, and maintain backend and full-stack features using Java, Spring Boot, REST APIs, and relational databases
- Experience with Support modernization of legacy Java applications to modern, cloud-ready architectures
- Experience with Build modular services and support microservices-based designs where applicable
- Experience with Design and integrate RESTful APIs, backend services, and data models
- Experience with Support UI teams building Angular or React frontends by providing robust backend APIs
- Experience with Implement high-performance data processing and integration logic for analytical workflows
- Experience with Apply object-oriented design principles and design patterns (SOLID, OOP, layered / hexagonal architecture)
- Experience with Contribute to application and solution architecture discussions
- Experience with Perform technical trade-off analysis and guide design decisions
- Experience with Ensure clean, extensible, and maintainable codebases
- Experience with Ensure high code quality through unit testing, mocking frameworks, and static code analysis
- Experience with Perform performance profiling, memory analysis, and JVM tuning to resolve bottlenecks
- Experience with Support performance tuning and stability improvements in production environments
- Experience with Work closely with QA teams to ensure strong test coverage and release quality
- Experience with Work within Agile / Scrum teams, contributing to sprint planning, reviews, and retrospectives
- Experience with Support end-to-end product development, including development, deployment, and maintenance
- Experience with Collaborate with global teams and stakeholders across regions
- Experience with Provide technical guidance and mentoring to engineers
- Experience with Own and drive hands-on design and development of complex, enterprise-scale Java applications
- Experience with Lead technical direction for modules or subsystems while remaining actively involved in implementation
- Experience with Support modernization initiatives, including migration from legacy or monolithic systems to modern architectures
- Experience with Act as a technical mentor and role model for engineers across teams
- Experience with Ensure solutions meet performance, scalability, security, and maintainability expectations
- Experience with Collaborate closely with product, QA, DevOps, and architecture teams to deliver end-to-end solutions
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.