- Location
- KA Bangalore, India
- Workplace
- Remote
- Type
- Full-time
- Department
- Engineering
- Education
- Bachelor
- Closing date
- Today
- Source
- Workday
Description
Our vision for the future is based on the idea that transforming financial lives starts by giving our people the freedom to transform their own. We have a flexible work environment, and fluid career paths. We not only encourage but celebrate internal mobility. We also recognize the importance of purpose, well-being, and work-life balance. Within Empower and our communities, we work hard to create a welcoming and inclusive environment, and our associates dedicate thousands of hours to volunteering for causes that matter most to them.
Chart your own path and grow your career while helping more customers achieve financial freedom. Empower Yourself.
Senior Java Developer – Spring Boot, Microservices & Kafka
What You Will Do
- Design, develop, test, and maintain scalable enterprise backend applications using Java, Spring Boot, Spring Cloud, REST APIs, and microservices architecture.
- Develop and modernize enterprise applications supporting Retirement and Financial Services business capabilities.
- Build and integrate Apache Kafka-based event-driven and streaming microservices using Java, including Kafka producers, consumers, asynchronous messaging, and event processing.
- Design, develop, and maintain RESTful APIs and distributed microservices that support reliable communication and integration across enterprise applications.
- Develop cloud-native Java applications and event-driven integrations in Amazon Web Services (AWS) environments, including Amazon Managed Streaming for Apache Kafka (Amazon MSK), where applicable.
- Modernize legacy applications into scalable, maintainable, resilient microservices using modern Java and Spring frameworks.
- Design, develop, and optimize application database integrations, including Oracle databases where applicable.
- Implement distributed application resiliency patterns, including retry mechanisms, exception handling, idempotency, fault tolerance, and observability.
- Troubleshoot and resolve application, API, Kafka integration, database, and production performance issues.
- Support Continuous Integration and Continuous Delivery (CI/CD) pipelines using tools such as Jenkins and GitLab Runner.
- Participate in application architecture discussions, technical design, code reviews, unit testing, integration testing, and software engineering best practices.
- Collaborate with architects, developers, DevOps engineers, Quality Assurance (QA) teams, and business stakeholders to deliver enterprise software solutions.
- Contribute to Agile software development processes, including sprint planning, development, testing, and continuous improvement.
- Provide technical guidance and mentor other engineers as appropriate.
What You Will Bring
- Bachelor's degree in Computer Science or a related field, or equivalent training and experience.
- 5+ years of hands-on Java software development experience, including backend application development and enterprise software engineering.
- Strong hands-on experience developing production-grade backend applications using Java, Spring Boot, and Spring Cloud.
- Demonstrated experience designing, developing, and maintaining distributed microservices architectures and RESTful APIs.
- Practical application development experience with Apache Kafka in Java-based event-driven or streaming microservices, including Kafka producer and consumer integration, asynchronous message processing, and event-driven communication.
- Strong understanding of distributed systems, microservices design patterns, application resiliency, fault tolerance, and troubleshooting.
- Experience developing and deploying Java backend applications in AWS or other cloud environments.
- Experience troubleshooting application performance, distributed services, API integrations, and production issues.
- Strong understanding of software development lifecycle (SDLC), Agile methodologies, technical design, code reviews, and software engineering best practices.
- Strong analytical, problem-solving, debugging, collaboration, and communication skills.
- Ability to work effectively with cross-functional engineering teams to deliver reliable enterprise applications.
What Will Set You Apart
- Experience developing applications using Java 21 or other modern Java versions.
- Experience with Amazon MSK, Spring Cloud Stream, or Spring Batch.
- Experience with additional event-streaming technologies, including Confluent Cloud, Amazon Kinesis, or Apache Pulsar.
- Experience with stream-processing frameworks such as Kafka Streams, Apache Flink, or Spark Structured Streaming.
- Familiarity with Kafka Connect, Debezium, Change Data Capture (CDC), and database change logs, including Oracle Redo, PostgreSQL Write-Ahead Logging (WAL), or MySQL binary logs.
- Experience with Schema Registry, schema evolution, event schemas, data contracts, and event governance.
- Exposure to modern data platforms and processing technologies, including Apache Iceberg, Delta Lake, Snowflake, BigQuery, ETL/ELT, or data modeling.
- Experience with Docker, Kubernetes, Terraform, Jenkins, GitLab Runner, or CI/CD automation.
- Knowledge of event sourcing, Command Query Responsibility Segregation (CQRS), dead-letter queues, circuit breakers, and resilient event-processing patterns.
- Experience leading technical initiatives, mentoring engineers, or applying AI-assisted approaches to streaming operations.
- Experience developing applications within Retirement, Financial Services, or other regulated enterprise environments.
We are an equal opportunity employer with a commitment to diversity. All individuals, regardless of personal characteristics, are encouraged to apply. All qualified applicants will receive consideration for employment without regard to age, race, color, national origin, ancestry, sex, sexual orientation, gender, gender identity, gender expression, marital status, pregnancy, religion, physical or mental disability, military or veteran status, genetic information, or any other status protected by applicable state or local law.