Overview
An early-career Associate Software Engineer role contributing to production software for FTSE Russell's index data platform, learning from experienced engineers, primarily in Python.
What you'll do
- Write clean, maintainable production code, primarily in Python, with guidance from more experienced engineers
- Build and enhance software components, services, APIs, and shared libraries as part of a collaborative team
- Write automated tests and build software that is reliable, secure, and easy to maintain
- Participate in code reviews, learning from feedback and gradually reviewing the work of others
- Investigate bugs and production issues, understand root causes, and implement well-tested fixes
- Work with relational databases such as Aurora PostgreSQL, learning data modelling, queries, and schema evolution
- Develop software running on AWS using technologies such as Lambda, containerised services, object storage, and other managed AWS services
- Contribute to data-intensive applications that process significant volumes of financial and index data
- Use CI/CD pipelines and development tooling to build, test, and deploy software safely
- Learn how observability, logging, monitoring, and quality controls support reliable production systems
- Work closely with engineers, product colleagues, and other stakeholders to understand requirements and deliver solutions
- Take part in design discussions and learn how experienced engineers evaluate technical options and trade-offs
- Build knowledge of financial indices and how the software supports customers
- Continuously develop engineering skills through hands-on work, feedback, pairing, and knowledge sharing
What you'll need
- A foundation in software development gained through professional experience, internships, graduate programmes, university projects, open-source contributions, or substantial personal projects
- Programming experience in Python or another modern language such as Java, C#, C, C++, Scala, Go, or Rust, together with a willingness to develop strong Python skills
- Understanding of core software engineering concepts such as functions, classes, data structures, APIs, error handling, and automated testing
- An interest in writing readable, maintainable code rather than simply making something work
- Basic understanding of software development practices such as version control, code review, testing, and debugging
- Familiarity with Git or another source control system
- Basic knowledge of relational databases and SQL
- An analytical approach to problem solving and the ability to break problems into smaller pieces
- Curiosity and willingness to learn new technologies, tools, and engineering practices
- Openness to feedback and an interest in learning from more experienced engineers
- Good communication skills and the confidence to ask questions when something is unclear
- A collaborative mindset and enjoyment of solving problems with others
Nice to have
- Experience building applications, APIs, services, or libraries in Python
- Familiarity with Python development practices such as type hints, pytest, linters, and dependency management
- Exposure to AWS or another public cloud platform
- Experience with PostgreSQL or another relational database
- Understanding of REST APIs and distributed or service-based architectures
- Experience with Docker or containerised applications
- Familiarity with CI/CD tooling such as GitLab CI, Jenkins, or GitHub Actions
- Exposure to infrastructure as code such as Terraform or AWS CDK
- Experience with data processing, ETL, or data-intensive applications
- Exposure to Pandas, Apache Spark / PySpark, or similar data-processing technologies
- Familiarity with object storage, data lakes, or technologies such as Apache Iceberg
- Contributions to open-source projects or personal software projects
- Experience in financial markets, financial data, or investment analytics
- An interest in financial markets and a willingness to learn the index domain
Read the full description and apply on the company’s own careers page.