Senior Software Engineer

YouGov
Summary
Join YouGov's BrandIndex Engineering team as a Senior Python Engineer and contribute to the development and maintenance of high-traffic web applications and data pipelines. You will leverage your expertise in Python, Flask, and cloud technologies to build scalable and reliable systems. Collaborate closely with product and design teams to deliver impactful features, while also mentoring other engineers and leading technical discussions. This role requires a strong background in backend development, experience with distributed systems, and a commitment to quality and customer satisfaction. The position is fully remote, based in the UK. YouGov offers a collaborative and supportive environment where your contributions will directly impact the success of our customers.
Requirements
- 5+ years of experience as a Python backend developer
- Expert knowledge of Python and its main frameworks
- Experience in building and deploying high-traffic distributed web applications
- Extensive experience with Git, CI/CD pipelines, monitoring tools and software development best practices
- Excellent collaboration skills across different cultures
- Solid understanding of modern testing principles
- Experience in leading complex cross-team technical initiatives
- Excellent English verbal and written communication skills, with the ability to convey technical concepts clearly to technical and non-technical stakeholders
- High focus on quality, operational excellence and customer experience
- Good knowledge of K8, Docker, AWS and Flask
- Proactive in identifying risks and implementing effective solutions
- Comfortable in a fully remote work environment where async collaboration is prioritized
- Bachelorβs Degree in Programming, Computer Science, or Engineering-related field
Responsibilities
- Develop and maintain high-traffic, distributed applications using Python, Flask, Cloud technologies, relational and NoSQL databases
- Design and implement RESTful APIs and integrate with third-party services
- Design, implement and maintain high-availability data pipelines (ETL)
- Break down complex problems and make informed decisions based on thorough analysis to create realistic estimates for engineering tasks
- Optimize applications for performance, reliability, security, maintainability, monitoring and scalability
- Define testing strategies and write automated tests
- Perform code reviews by providing constructive feedback
- Lead system design and code architecture discussions
- Lead the technical excellence of the system and create plans to mitigate issues and outages
- Collaborate closely with Product and Design in creating high-impact features
- Propose and participate in team processes improvements
- Proactively mentor other engineers
Preferred Qualifications
- Proven expertise and experience with database technologies including NoSQL databases like MongoDB, RDBMS such as Postgres and MySQL
- Exposure to Docker, Kubernetes, AWS, Helm, Terraform, Vault, Grafana, ELK Stack, New Relic
- Relevant experience in the maintenance of data APIs and data lake architectures, including experience with Apache Iceberg, Trino/Presto, Clickhouse, Snowflake, BigQuery
- Master's degree in Computer Science or Engineering-related field