Barclays  logo

Software Engineer - Flink

Barclays
NewPosted yesterday

LOCATION

Bengaluru · Onsite

EXPERIENCE

Not specified

TYPE

FullTime

SKILLS REQUIRED

Apache FlinkJavaSpring BootDistributed SystemsApache KafkaStream ProcessingPerformance Optimization

Job description

Overview

Design, develop and improve software that provides business, platform and technology capabilities for customers and colleagues, with a focus on real-time stateful stream processing using Apache Flink.

What you'll do

  • Develop and deliver high-quality software solutions using industry-aligned programming languages, frameworks and tools.
  • Ensure code is scalable, maintainable and optimized for performance.
  • Collaborate cross-functionally with product managers, designers and other engineers to define software requirements, devise solution strategies, and ensure seamless integration and alignment with business objectives.
  • Collaborate with peers, participate in code reviews, and promote a culture of code quality and knowledge sharing.
  • Stay informed of industry technology trends and innovations and actively contribute to the organization's technology communities.
  • Adhere to secure coding practices to mitigate vulnerabilities, protect sensitive data, and ensure secure software solutions.
  • Implement effective unit testing practices to ensure proper code design, readability and reliability.
  • Design, develop and operate real-time, stateful event processing pipelines using Apache Flink, delivering high-throughput stream processing with strong guarantees around reliability, scalability and operational resilience.
  • Develop and integrate streaming and microservices-based applications using Java and Spring Boot, ensuring clean API contracts, strong domain modelling and adherence to engineering best practices.
  • Engineer end-to-end streaming pipelines by integrating Kafka, Redis and MongoDB, enabling low-latency data access, caching and durable state persistence across distributed systems.
  • Implement stateful stream processing using keyed and operator state, ensuring correct handling of large-scale state, efficient serialization and optimal memory management.
  • Configure and manage checkpointing and savepoints in Apache Flink to achieve exactly-once processing guarantees, supporting reliable recovery and zero-data-loss deployments.
  • Develop Flink jobs with strong understanding of event-time semantics, including watermarks, late event handling and windowing strategies (tumbling, sliding, session windows).
  • Optimize Flink pipelines for high throughput and low latency, tuning parallelism, task slots, state backends (e.g., RocksDB) and back-pressure handling.
  • Integrate Apache Flink with Kafka as source and sink, ensuring efficient offset management, schema evolution compatibility and reliable end-to-end processing semantics.
  • Apply best practices for fault tolerance and resiliency, handling task failures, job restarts and state recovery in distributed Flink clusters.
  • Support observability of Flink jobs, enabling visibility into job health, throughput, lag, checkpoint performance and failure patterns through logs, metrics and dashboards.
  • Deliver software using Agile methodologies, actively participating in sprint planning, reviews, retrospectives and continuous improvement.
  • Champion engineering discipline, automation and data-driven decision making across delivery cycles.
  • Drive a test-first, quality-driven engineering culture, embedding test coverage and automation into CI/CD pipelines.
  • Operate as a hands-on Individual Contributor, owning the end-to-end development and operational quality of Apache Flink pipelines with minimal supervision.
  • Apply strong analytical and troubleshooting skills to diagnose and resolve complex issues in distributed, event-driven systems.
  • Collaborate closely with cross-functional teams (engineering, DevOps, security, architecture) to deliver integrated, enterprise-ready solutions.

What you'll need

  • Experience designing, developing and operating real-time, stateful event processing pipelines using Apache Flink.
  • Experience developing and integrating streaming and microservices-based applications using Java and Spring Boot.
  • Experience integrating Kafka, Redis and MongoDB in streaming pipelines.
  • Experience implementing stateful stream processing using keyed and operator state.
  • Experience configuring and managing checkpointing and savepoints in Apache Flink to achieve exactly-once processing guarantees.
  • Experience developing Flink jobs with understanding of event-time semantics, watermarks, late event handling and windowing strategies.
  • Experience optimizing Flink pipelines for high throughput and low latency, including tuning parallelism, task slots, state backends (e.g., RocksDB) and back-pressure handling.
  • Experience integrating Apache Flink with Kafka as source and sink, including offset management and schema evolution compatibility.
  • Experience applying fault tolerance and resiliency practices in distributed Flink clusters.
  • Experience supporting observability of Flink jobs through logs, metrics and dashboards.
  • Experience delivering software using Agile methodologies.
  • Strong familiarity with modern developer tooling including GitLab, DevSecOps pipelines and secure CI/CD practices.
  • Hands-on experience with Docker Desktop, IntelliJ IDEA or equivalent enterprise IDEs, and secure source control, branching strategies and automated quality gates.
  • Hands-on experience with contract testing (PACT), unit testing (JUnit) and integration testing, performance and load testing (JMeter), and mutation testing.
  • Working knowledge of AWS services relevant to event-driven and streaming workloads.
  • Experience deploying and operating workloads on Kubernetes (K8s), including container orchestration and scaling concepts.
  • Strong awareness and practical adoption of AI-assisted engineering practices with AI coding assistants (e.g., Claude Code, GitLab Duo, Copilot or equivalent).
  • Mandatory: Experience working within Agile/Scrum delivery models using Jira for backlog management, delivery tracking and sprint execution.
  • Mandatory: Excellent verbal and written communication, producing clear architecture designs, decision records and technical documentation.
  • Mandatory: Strong ownership, self-drive and innovation mindset, staying current with cloud-native technologies and modern engineering best practices.

Nice to have

  • 7 to 12 years of hands-on software engineering experience, with sustained delivery at scale across complex, distributed systems.
  • Bachelor's degree in Computer Science, Information Technology, or related field.

Details

  • Based out of Bangalore.

Read the full description and apply on the company’s own careers page.

Stay safe

Hiring on Abekus is free for applicants

We never charge a fee, and employers are prohibited from doing so. If a recruiter asks for payment, please report them right away.

Software Engineer - Flink