The role
Job description
PFB the JD for the Java Developer role:Experience: 4 to 8 yearsTimings: 10:30 am to 07:30 pmLocation: Mohali (Sec-83)Role overview
We're looking for a Java Developer with strong backend skills and experience building calculation-heavy, finance-related applications.
Key responsibilities
- Design, build and maintain backend applications using Java and Spring Boot. Break requirements into modules, write the code end to end, and keep it maintainable as features grow.
- Build secure, well-structured REST APIs with proper request validation, error handling, status codes and versioning. Document APIs using Swagger/OpenAPI so other teams can use them easily.
- Write clean, readable and testable code that follows SOLID principles and team coding standards. Refactor older code when needed and keep technical debt under control.
- Implement business logic for multi-step calculations such as rates, slabs, percentages, fees, rebates and penalties. Make sure every result is accurate, repeatable and easy to trace.
- Implement double-entry postings, map each transaction to the correct finance/account codes, and handle reversals, refunds and adjustments without breaking ledger balances.
- Write and optimise complex SQL queries, stored procedures, views and reports. Design tables and indexes that keep data consistent and queries fast as volume grows.
- Write unit and integration tests for all business logic, with extra focus on calculation edge cases and boundary values. Keep test coverage high so changes can be released with confidence.
- Investigate and fix production issues, including calculation or data mismatches. Do root-cause analysis and put permanent fixes in place, not just workarounds.
- Take part in code reviews, sprint planning and technical discussions. Work closely with QA, business analysts and finance teams to clarify rules and confirm expected results.
Required skills and experience
- 4–8 years of hands-on Java development (Java 11 or later; Java 17 preferred), with at least 2 years on enterprise or transaction-heavy applications.
- Strong command of OOP concepts, Collections, Generics, Multithreading and concurrency utilities, Exception Handling, Streams and Lambdas. Able to explain why one approach is better than another, not just use it.
- Solid experience with Spring Boot, Spring MVC, Spring Data JPA, Hibernate and Spring Security. Understands dependency injection, bean lifecycle, profiles and configuration management.
- Has built and consumed RESTful services, including authentication (JWT/OAuth2), validation, pagination and global exception handling. Has integrated with third-party APIs such as payment gateways or banks.
- Strong SQL on PostgreSQL, Oracle or MySQL — complex joins, subqueries, window functions, indexing, stored procedures and query tuning using execution plans.
- Clear understanding of ACID, isolation levels, optimistic and pessimistic locking, and idempotency. Knows how to prevent duplicate entries and race conditions in multi-user systems.
- Uses BigDecimal correctly for money, with defined scale and rounding modes. Knows why double/float must not be used for financial values.
- Understands ledgers, journal entries, debits and credits, chart of accounts and finance code structures. Can translate a finance rule into correct and testable code.
- Writes unit tests with JUnit 5 and Mockito, and integration tests for APIs and database layers. Comfortable with test-driven thinking for logic-heavy code.
- Comfortable with Git branching, Maven or Gradle, Jenkins or other CI/CD tools, and basic Linux commands for deployment and log checks.
- B.Tech / BE / MCA in Computer Science, IT or a related field.
Good to have
- Experience splitting applications into microservices, with service-to-service communication, API gateways and service discovery.
- Hands-on work with Kafka or RabbitMQ for async processing, event-driven flows and reliable retries.
- Docker, Kubernetes and deployment on cloud platforms, with Azure preferred (AWS or GCP also fine).
- Using Redis to speed up frequently read data and reduce database load.
- Generating documents and reports with iText, Apache PDFBox or JasperReports.
- Basic React knowledge, enough to work smoothly with the front-end team and debug integration issues.
Pay: ₹500,000.00 - ₹1,000,000.00 per year
Benefits:
- Commuter assistance
- Flexible schedule
- Food provided
- Leave encashment
- Paid sick time
- Paid time off
- Provident Fund
Experience:
- Java: 4 years (Required)
Work Location: In person