Senior I Software Engineer
Senior I Software Engineer
Position SummaryThis is an exciting opportunity for an engineer to join the FT Core group as part of the Product & Technology organisation within FT.
FT Core brings together key digital assets like:
Content and Metadata - enabling content publishing, discoverability and targeting
Membership - powering a seamless subscription/payments/access and the whole newspaper distribution customer journeys
Data Platform - enabling storing, processing and getting insights from readership data
You will have the autonomy to select the tools and technologies you need to build and operate services responsible for FT brand critical capabilities. Someone who is comfortable with the ever changing technical landscape and is keen to contribute to the company’s processes and broader know-how would thrive in this role.
Working in the Data Platform team you will be responsible for delivering innovative technical solutions as you build and operate world class platforms to grow the Financial Times strategic business models. To help you understand in more details the Financial Times’ Data Platform team’s goals and projects take a look at this article.
We have recently published our Engineering Progression framework and associated competencies for a Software Engineer relevant to this position
The Tech StackWe often use these, it's not an exhaustive list but gives you a taste of what our technology stack and tools look like:
Python
SQL
Workflow orchestration tools like Airflow, Luigi or Oozie
AWS: ECS/EKS, Kinesis/MSK (Kafka), Redshift
Streaming technologies like Kafka, Spark or Flink
Distributed SQL Engines like Presto, Athena or Impala
GitHub, CircleCI
Graphite, Grafana, Splunk
We understand that tech interviews are often stressful for no good reason, so we designed our interview process to be rigorous but friendly. We have tech tests requiring minimal code writing and algorithms understanding, a friendly system design exercise and a set of questions to encourage you to tell us about your strengths and what makes you happy at work.
We're committed to equality and diversity in the tech industry, so we'll be especially happy to see applications from under-represented backgrounds. We encourage this by considering flexible working hours as well as tuning the hiring process to promote diversity.
This role will be right for you if you are happy to:Work directly with product owners and stakeholders to fully shape solutions from inception to deployment and beyond
Work within (with an opportunity to lead) a team of engineers in an agile delivery team
Development of high quality data solutions within Financial Times’ Data Platform
Design and implement low maintenance, well monitored, secure and scalable solutions to customer problems
Design, build and operate solutions, from cradle to grave, which meet both functional and non-functional KPIs
Understand and play an active part in designing the architecture, tooling and release cycle processes used by the engineering teams across Product & Technology
Contribute to company-wide processes, frameworks and guidelines
Develop an in-depth understanding of FT’s underlying data and data flow, data structures.
Develop a close relationship with our customers and provide operational support
Essential
Good command of written and spoken English
Highly proficient in the programming languages relevant to the Data domain at the FT - Python and Java
Extensive experience designing, programming, and implementing large information systems
Experience working with data sources of varying volumes, variety and velocity
Good understanding of the principles and trade-offs of a microservices architecture
Good working experience of at least one cloud infrastructure, ideally AWS
Comfortable working in a Linux environment
Being able to establish and be promoter of good coding and engineering practices
Being able to architect and lead the development of solutions based on functional requirements
Being able to mentor other team members
Desirable
Experience working within an environment where operational support and monitoring of code and systems is part of the culture (DevOps)
Experience designing and developing RESTful APIs
Ability to accurately monitor and analyse system performance using tools like Grafana
Experience productionizing Machine learning algorithms or Data science models
Experience with streaming applications such as Kafka streams, Spark streaming
Experience in working with ETL frameworks (job orchestration tools) such as Airflow or Luigi
Experience in modern database technologies (AWS/cloud-based/in-memory etc.), scripting languages, big data technologies
Knowledge of optimisation techniques like indexing/performance tuning on both relational and columnar databases