Job Description
Software Engineer
Location
Pune, India (Hybrid)
Experience
3–6 years of relevant hands-on software engineering experience
Role Overview
We are looking for a Software Engineer with a strong foundation in Java-based backend development, cloud-ready applications, and modern engineering practices. In this role, you will contribute to the design, development, testing, and maintenance of high-quality software systems while working closely with senior engineers and cross-functional teams.
This position is ideal for engineers who enjoy building reliable systems, writing clean and testable code, and continuously improving their technical skills.
Key Responsibilities
Software Development
- Develop and maintain backend services using Java 17 and the Spring Framework.
- Build and manage projects using Maven, following established coding and architectural standards.
- Implement features and bug fixes based on well-defined requirements and specifications.
- Work with structured and semantic data formats using XML, XSD, RDF, SHACL, and OWL.
- Use Apache Jena to process and validate RDF data as part of application workflows.
- Integrate with internal and external systems, including middleware such as Apollo CSB.
- Implement data parsing and transformation logic using Jackson and JSoup.
Cloud and Containerization
- Contribute to cloud-based solutions using AWS, primarily Amazon S3.
- Containerize applications using Docker for local development and testing.
- Use Localstack to simulate AWS services during development.
- Participate in integration testing using Testcontainers.
Testing and Quality Engineering
- Write unit and integration tests using JUnit 5, AssertJ, and Mockito.
- Develop and maintain BDD tests using Cucumber and Gherkin.
- Follow coding standards enforced through Checkstyle.
- Support architectural consistency checks using ArchUnit.
- Ensure code quality, readability, and maintainability.
Logging and Troubleshooting
- Implement application logging using Logback and/or Log4J.
- Assist in diagnosing and resolving development, test, and production issues.
Collaboration and Learning
- Collaborate with senior engineers, architects, and product teams to deliver features.
- Participate in code reviews and design discussions.
- Actively learn and apply best practices in software engineering.
- Contribute to team knowledge sharing and continuous improvement initiatives.
Required Technical Skills
Core Technologies
- Java 17
- Spring Framework
- Maven
- Git
Semantic and Data Technologies
- XML, XSD
- RDF, SHACL, OWL
- Apache Jena
- JSoup
Cloud and DevOps
- AWS (Amazon S3)
- Docker
- Localstack
- Testcontainers
Libraries and Utilities
- Jackson
- Lombok
- Immutables
- Guava
Testing and Quality
- JUnit 5
- AssertJ
- Mockito
- Cucumber / Gherkin
- Checkstyle
- ArchUnit
Logging
Nice to Have
- Experience working on enterprise or platform-based applications
- Basic understanding of microservices or distributed systems
- Familiarity with automated testing and CI/CD pipelines
- Interest in AI-assisted or spec-driven development approaches
What We Offer
- Opportunity to work on meaningful, real-world systems
- Supportive environment focused on learning and growth
- Exposure to modern Java, cloud, and semantic technologies
- Competitive compensation and benefits
Our Interview Practices
To maintain a fair and genuine hiring process, we kindly ask that all candidates participate in interviews without the assistance of AI tools or external prompts. Our interview process is designed to assess your individual skills, experiences, and communication style. We value authenticity and want to ensure we’re getting to know you—not a digital assistant. To help maintain this integrity, we ask to remove virtual backgrounds and include in-person interviews in our hiring process. Please note that use of AI-generated responses or third-party support during interviews will be grounds for disqualification from the recruitment process
Our Interview Practices
To maintain a fair and genuine hiring process, we kindly ask that all candidates participate in interviews without the assistance of AI tools or external prompts. Our interview process is designed to assess your individual skills, experiences, and communication style. We value authenticity and want to ensure we’re getting to know you—not a digital assistant. To help maintain this integrity, we ask to remove virtual backgrounds and include in-person interviews in our hiring process. Please note that use of AI-generated responses or third-party support during interviews will be grounds for disqualification from the recruitment process.
Applicants may be required to appear onsite at a Wolters Kluwer office as part of the recruitment process.