Job Summary
Senior Software Engineer – Payments Modernization (Offshore, Bengaluru, India)
Overview: We are hiring Senior Software Engineers (Senior Developers) to join our offshore team in Bengaluru for a large Payments Modernization program. In this role, you will work closely with onshore colleagues to develop the next generation of real-time, cloud-based payment and data services, leveraging modern tech stacks to replace legacy banking systems. You will be part of a dynamic, Agile team building microservices, event-driven processes, and data pipelines for a critical enterprise platform. The ideal candidate brings 6–12 years of strong backend development experience (Java/Spring, microservices) and is comfortable working in a global team environment with excellent communication skills.
Key Responsibilities
Key Responsibilities:
- Feature Development & Coding: Develop and maintain server-side features of the modernized payments platform, including microservices and APIs. Write high-quality, efficient code to implement new product features, ensuring that the services are scalable, secure, and maintainable.
- Event-Driven Systems: Implement and refine event-driven architecture components (e.g., using Kafka or message queues). Build systems that react to real-time events in the payments flow to ensure timely processing and updates across the platform.
- Data Processing & Integration: Construct robust data processing pipelines to handle real-time and batch data from various sources. Develop modules for data transformation, enrichment, and loading (ETL) to integrate the modern platform with upstream/downstream systems and reporting databases.
- Legacy System Modernization Support: Work on re-engineering tasks such as decoupling and porting mainframe (COBOL) logic into modern code, rewriting stored procedures from DB2 into Java-based services, etc. Ensure that the new implementations faithfully replicate critical business logic while improving performance and reliability.
- Payments & Messaging Support: Contribute to building capabilities that handle payments messages and reports (SWIFT, ISO 20022, BAI, etc.) within the system. Implement parsing, business rules, and data mappings for these formats as needed, collaborating with business analysts and the QA team for validation.
- Testing & Code Quality: Write and maintain unit and integration tests for all new features. Debug and resolve issues across the software stack (application code, database, infrastructure) during development and testing. Work with the Automation & DevOps team to ensure your code is integrated smoothly into the CI/CD pipeline for continuous testing and deployment.
- Team Collaboration: Communicate and synchronize effectively with the onshore team members and project leads. Participate in daily stand-ups and design discussions with colleagues across geographies. Provide timely updates on progress, and proactively identify and address technical risks or impediments.
Skill Requirements
Qualifications & Skills:
- Experience: 6–12 years of hands-on software development experience, particularly in building enterprise backend systems or financial services applications. Prior exposure to working with global/distributed teams is highly beneficial.
- Core Technical Skills: Strong proficiency in Java programming and the Spring/Spring Boot framework for developing web services and microservices. Solid understanding of RESTful API design, along with working knowledge of front-end integration patterns (though this is primarily a backend role).
- Distributed Systems & Messaging: Experience developing distributed applications and familiarity with messaging/streaming systems (Kafka, IBM MQ, or similar) for inter-service communication and event processing. Ability to implement asynchronous processing and handle concurrency effectively.
- Database & Data Skills: Proficient in working with SQL databases (writing complex queries, optimizing performance) and comfortable with one or more NoSQL data stores. Understanding of how to manage large datasets and maintain data consistency and integrity across distributed components.
- Payments/Finance Domain Knowledge: Some familiarity with the payments domain or fintech applications is preferred. Knowledge of payment processing lifecycles (authorizations, settlements, reporting), financial messaging standards (SWIFT, ISO 20022), or mainframe to cloud migration scenarios will be a plus.
- Software Engineering Best Practices: Fluent in using version control (Git) and participating in code reviews. Experience with Agile/Scrum development processes. Demonstrated habit of writing unit tests and documentation as part of the development lifecycle.
- Communication & Teamwork: Effective communicator in English, with the ability to work collaboratively in a remote/distributed team. Proven ability to understand requirements, ask clarifying questions, and contribute ideas in design discussions. Self-motivated and able to work independently while coordinating closely with team leads to align with the overall project objectives.
Other Requirements
Preferred/Additional: Experience with cloud platforms (AWS/Azure) and containerization (Docker/Kubernetes) in a production environment is an advantage. Familiarity with any front-end technologies or data analytics (e.g., Python, Spark) is a bonus but not mandatory. Above all, a strong sense of ownership, adaptability, and eagerness to learn in the payments technology space will help ensure success in this role.