About the Role:
We are looking for an experienced Software Engineering Expert (Java) to join our product engineering team. The ideal candidate will have a strong background in building and maintaining production-grade applications using Java and modern backend frameworks. You will be responsible for designing and validating authentic software engineering challenges, contributing to production-quality codebases, and creating real-world problem statements and test suites that reflect professional software development scenarios. This role requires in-depth technical expertise, meticulous attention to detail, and the ability to design scalable, maintainable, and efficient backend systems.
Responsibilities:
- Design and develop realistic software engineering tasks in production-scale environments using Java and Spring frameworks.
- Build and maintain high-quality backend applications that demonstrate best practices in architecture and performance.
- Draft detailed problem statements and solution implementations that mirror real-world business and technical requirements.
- Create and maintain robust test suites to validate code quality, functionality, and system integration.
- Review and provide detailed feedback on code submissions from other contributors to ensure technical accuracy and maintain high-quality standards.
- Collaborate with cross-functional teams to enhance data creation infrastructure and improve overall engineering processes.
- Document and communicate reasoning, design decisions, and system-level trade-offs clearly and effectively.
Qualifications:
- 5+ years of professional software engineering experience with Java in production codebases.
- Strong programming fundamentals and proficiency in Java, Spring, and Spring Boot.
- In-depth understanding of backend systems, including APIs, databases, and microservices architecture.
- Experience in working with complex or large-scale applications involving multiple components and dependencies.
- Proficiency in writing unit and integration tests, ensuring code reliability and maintainability.
- Excellent problem-solving and debugging skills with a focus on performance optimisation.
- Ability to work independently and deliver high-quality output in fast-paced environments.
- Strong written and verbal communication skills with attention to clarity and technical details.