About this Software Engineer - Flink role at Barclays
Job Description
Purpose of the role
To design, develop and improve software, utilising various engineering methodologies, that provides business, platform, and technology capabilities for our customers and colleagues.
Accountabilities
- Development and delivery of high-quality software solutions by using industry aligned programming languages, frameworks, and tools. Ensuring that code is scalable, maintainable, and optimized for performance.
- Cross-functional collaboration with product managers, designers, and other engineers to define software requirements, devise solution strategies, and ensure seamless integration and alignment with business objectives.
- Collaboration 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 to foster a culture of technical excellence and growth.
- Adherence to secure coding practices to mitigate vulnerabilities, protect sensitive data, and ensure secure software solutions.
- Implementation of effective unit testing practices to ensure proper code design, readability, and reliability.
Analyst Expectations
- To perform prescribed activities in a timely manner and to a high standard consistently driving continuous improvement.
- Requires in-depth technical knowledge and experience in their assigned area of expertise
- Thorough understanding of the underlying principles and concepts within the area of expertise
- They lead and supervise a team, guiding and supporting professional development, allocating work requirements and coordinating team resources.
- If the position has leadership responsibilities, People Leaders are expected to demonstrate a clear set of leadership behaviours to create an environment for colleagues to thrive and deliver to a consistently excellent standard. The four LEAD behaviours are: L – Listen and be authentic, E – Energise and inspire, A – Align across the enterprise, D – Develop others.
- OR for an individual contributor, they develop technical expertise in work area, acting as an advisor where appropriate.
- Will have an impact on the work of related teams within the area.
- Partner with other functions and business areas.
- Takes responsibility for end results of a team’s operational processing and activities.
- Escalate breaches of policies / procedure appropriately.
- Take responsibility for embedding new policies/ procedures adopted due to risk mitigation.
- Advise and influence decision making within own area of expertise.
- Take ownership for managing risk and strengthening controls in relation to the work you own or contribute to. Deliver your work and areas of responsibility in line with relevant rules, regulation and codes of conduct.
- Maintain and continually build an understanding of how own sub-function integrates with function, alongside knowledge of the organisations products, services and processes within the function.
- Demonstrate understanding of how areas coordinate and contribute to the achievement of the objectives of the organisation sub-function.
- Make evaluative judgements based on the analysis of factual information, paying attention to detail.
- Resolve problems by identifying and selecting solutions through the application of acquired technical experience and will be guided by precedents.
- Guide and persuade team members and communicate complex / sensitive information.
- Act as contact point for stakeholders outside of the immediate function, while building a network of contacts outside team and external to the organisation.
All colleagues will be expected to demonstrate the Barclays Values of Respect, Integrity, Service, Excellence and Stewardship – our moral compass, helping us do what we believe is right. They will also be expected to demonstrate the Barclays Mindset – to Empower, Challenge and Drive – the operating manual for how we behave.
Join us as a “Software Engineer - Flink" at Barclays, where you'll spearhead the evolution of our digital landscape, driving innovation and excellence. You'll harness cutting-edge technology to revolutionise our digital offerings, ensuring unapparelled customer experiences.
You may be assessed on the key critical skills relevant for success in role, such as experience with, skills to meet business requirement as well as job-specific skillsets.
To be successful as a “Software Engineer - Flink", you should have experience with:
Basic/ Essential Qualifications:
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.
Strong familiarity with modern developer tooling including GitLab, DevSecOps pipelines, and secure CI/CD practices.
Hands‑on experience with: Docker Desktop for local containerized development, IntelliJ IDEA or equivalent enterprise IDEs and Secure source control, branching strategies, and automated quality gates
Drive a test‑first, quality‑driven engineering culture with hands‑on experience in: Contract Testing (PACT) for consumer‑provider assurance, Unit Testing (JUnit) and integration testing, Performance & load testing (JMeter) and Mutation testing to validate test effectiveness
Ensure test coverage and automation are embedded into CI/CD pipelines, not treated as post‑delivery activities.
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.
Demonstrate strong awareness and practical adoption of AI‑assisted engineering practices with AI coding assistants (e.g., Claude Code, GitLab Duo, Copilot or equivalent) to support code generation, refactoring, documentation, and test creation, while retaining engineering judgement and accountability.
Some other highly valued skills may include (Mandatory):
Operate as a hands‑on Individual Contributor (ICE), owning the end‑to‑end development and operational quality of Apache Flink pipelines with minimal supervision.
Work effectively within Agile/Scrum delivery models, using Jira for backlog management, delivery tracking, and sprint execution.
Apply strong analytical and troubleshooting skills to diagnose and resolve complex issues in distributed, event‑driven systems.
Demonstrate excellent verbal and written communication, producing clear architecture designs, decision records, and technical documentation.
Collaborate closely with cross‑functional teams (engineering, DevOps, security, architecture) to deliver integrated, enterprise‑ready solutions.
Exhibit strong ownership, self‑drive, and innovation mindset, staying current with cloud‑native technologies and modern engineering best practices.
Desirable skillsets/ good to have:
7–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.
This role will be based out of Bangalore.