ROLE SUMMARY
Are you a hands-on engineer who raises the bar for everyone around you? Join us at FTSE Russell! We're establishing a team of engineers passionate about software craftsmanship, quality, and substantial impact. As a Lead Software Engineer, you'll own the technical direction of the software that powers the indices trusted by financial institutions worldwide. We build primarily in Python, so that's our preference - but depth of engineering judgement matters more to us than the language on your CV. If you've led the design and delivery of serious systems in Java, C#, C, C++, Scala, Go, or Rust and you're motivated to lead in Python, we'd like to talk. At this level we expect you to become fluent quickly and to bring the cross-language perspective with you. This is a hands-on Lead IC role - not a management role. You'll still be writing and reviewing code every week. What changes at this level is scope: you own architecture and technical direction in a defined area, you mentor and grow the engineers around you, and you raise quality across the team through reuse, good design, and hands-on support. The systems handle serious volumes of financial data, so there's real depth in the data problems - but you're being hired as a software engineer who leads through code. If you're excited about building systems that matter and making the engineers around you better, we'd love to meet you.
WHAT YOU'LL BE DOING
- Staying hands-on - designing and writing production code, primarily in Python with 10 +yrs of experience , and setting the standard for what good looks like through the code you ship
- Owning technical direction and architecture for a defined area of the platform, and making the trade-offs explicit so the team can move fast with confidence
- Leading design of software systems - services, APIs, shared libraries, and the interfaces between them - with resilience, performance, and reusability designed in
- Driving engineering quality across the team: raising the bar in code review, reducing duplication through well-designed shared components, and championing testing, refactoring, and secure development practices
- Mentoring and coaching engineers - pairing, reviewing, and growing capability so that good practice outlives any one project
- Digging into design and risk trade-offs - failure modes, operational readiness, security, and cost - and resolving the blockers that slow the team down
- Designing data-intensive software across relational databases (Aurora PostgreSQL), object storage, and AWS services, with careful attention to schema design and evolution at scale
- Building software that processes data at scale on AWS - Lambda, containerised services, and where appropriate Glue, EMR Serverless, and lakehouse table formats such as Apache Iceberg
- Embedding observability and quality controls so issues are found before customers find them
- Influencing and collaborating across teams, and translating between technical and non-technical audiences
- Building deep knowledge of the financial indices domain and using it to guide team-level design
WHAT YOU'LL BRING
- A substantial track record of building and shipping software. Applications, services, platforms, or libraries you designed, built, ran in production, and evolved over years - not just pipelines and scripts
- Python is our preference, but not a hard gate at this level either. Either you already lead in production Python, or you have equivalent depth in Java, C#, C, C++, Scala, Go, or Rust and are motivated to make Python your primary language here. Engineers who have worked across several languages often bring the sharpest design judgement, and we value that
- Depth in software design and architecture - you can decompose a complex problem, choose the right boundaries, and explain why. You know which patterns earn their keep and which are cargo cult
- You write and review excellent code. In Python: type hints, linters, strong pytest discipline, and an instinct for readable, maintainable code - and the equivalent rigour in any other language you've worked in
- You are genuinely hands-on and intend to stay that way. Leading through code is the point of this role
- Proven experience mentoring and levelling up other engineers - through code review, pairing, design guidance, and setting standards
- Strong ownership of technical outcomes - you take responsibility for what production does, not just what merges
- Deep experience with relational databases (e.g. Aurora PostgreSQL) - modelling, performance, and evolution under real load
- Solid AWS experience and strong CI/CD, automation, and testing practice
- Comfort with data-intensive systems - batch processing, ETL, schema evolution, and reasoning about correctness at volume
- Excellent communication - you tailor how you explain design decisions to technical