Software Engineer - Flink
- Bengaluru, India
- Mid Level
- 2+ years
- Bachelor's degree
- Posted
Skills
Required
- Flink
- processing pipelines
- Apache
- modern developer tooling
- GitLab
- DevSecOps pipelines
- secure CI/CD practices
- local
- IntelliJ IDEA
- JUnit
- Kubernetes
- K8s
- AI
- Jira
Preferred
- software engineering
- code reviews
- coding
- Java
- Spring Boot
- Kafka
- MongoDB
- Apache Flink
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.
About Barclays
- 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.
Responsibilities
- 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.
- 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.
- 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.
- 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).
- 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.
Requirements
- Resolve problems by identifying and selecting solutions through the application of acquired technical experience and will be guided by precedents.
- 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.
- Strong familiarity with modern developer tooling including GitLab , DevSecOps pipelines , and secure CI/CD practices.
- 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 .
Preferred
- 7 –1 2 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.
