Backend Software Engineer - Notifications
Bengaluru, Karnataka, India · Full Time
Be the first to apply
- Experience
- 4+ yrs
- Salary
- —
- Openings
- 1
- Posted
- 1 day ago
- Work mode
- In office
- Resume
- Required to apply
Where you'll work
Sign in to tell us what does and doesn't work for you here — it sharpens every match we show you.
Job description
About Corporater
Corporater is a worldwide enterprise software firm that assists large-scale organizations in managing governance, performance, risk, compliance, and business workflows by leveraging a connected business management platform.
Role Overview
We are expanding our Product Engineering team in India with a focus on high-quality, scalable product development. We are seeking a Backend Software Engineer to work on the Notifications platform, known as Pigeon, which provides shared notification services utilized by various Corporater products.
This role involves direct involvement in product engineering, where you will contribute not only to coding but also to solution design, architecture, technical decision-making, and product discovery. Reliability, scalability, and consistent integrations are key aspects of this standalone service.
Key Responsibilities
- Design, develop, and enhance the Notifications platform and its core shared features.
- Create backend services managing notification rules, template handling, user profiles, and workflow communications.
- Implement dependable integrations with external email providers such as SMTP and Mailjet, managing provider-specific behaviors, failures, retries, and tracking delivery status.
- Work with event-store architectures including append-only storage, state projections, and event replay mechanisms.
- Architect solutions addressing message ordering, idempotency, and state restoration from event streams.
- Develop RESTful APIs, business logic, data persistence layers, and integrations utilizing Java and Spring Boot framework.
- Apply Hexagonal Architecture (Ports & Adapters pattern) to maintain clear domain boundaries in the codebase.
- Write automated unit and integration tests using JUnit 5, Testcontainers, and adhere to best testing practices.
- Engage in architecture and code reviews while helping define and elevate engineering standards.
- Collaborate closely with Product Managers, frontend developers, QA teams, architects, and end-users of the shared service.
- Participate actively in product discovery, assessing alternatives, and presenting technical trade-offs as well as pragmatic solutions.
- Take full ownership of service uptime and customer impact related to the platform.
Required Qualifications and Skills
- Proficient hands-on experience with Java and Spring Boot in backend development.
- Proven background in building and operating production-grade backend services.
- Strong command of REST API design, transaction management, persistence strategies, and relational databases.
- Experience working with JPA/Hibernate or jOOQ for database interaction.
- Understanding and practical implementation of Hexagonal Architecture / Ports & Adapters.
- Capability to connect backend systems with external APIs and services reliably.
- Expertise in implementing retries, handling failures, guaranteeing idempotency, and ensuring integration robustness.
- Disciplined approach to automated testing using JUnit 5 combined with integration test frameworks.
Preferred Skills
- Familiarity with event stores, event-driven architectures, or event sourcing methodologies.
- Knowledge of transactional email services such as SMTP or Mailjet.
- Experience managing scenarios with high-volume notifications or fan-out message patterns.
- Exposure to messaging systems including RabbitMQ.
- Experience using Testcontainers for containerized integration testing.
- Understanding of observability tools like OpenTelemetry.
- Track record of building shared platform services utilized by multiple product teams.
Work Philosophy
- Focus on solving customer/business problems rather than solely fulfilling specifications.
- Bring thoughtful solution alternatives and clarity on technical trade-offs.
- Engage in early discovery phases before solutions are finalized.
- Consider the broad impact of changes on all products depending on the shared service.
- Constructively question scope, sequencing, and technical decisions.
- Exhibit ownership attitude without waiting for task assignments.
- Prioritize customer and business outcomes behind technical work.
- Share expertise, review peers’ code, mentor colleagues, and drive the engineering quality upward.
Location and Experience
Position is based in Bengaluru East, Karnataka, India. This role requires a minimum of 4 years of professional experience in software engineering.
Additional Information
Applicants should note that all recruitment processes are handled internally. Submission of résumés via email or through third-party recruitment agencies is not accepted.