The Role:
We are seeking a Senior Python Engineer to develop and maintain scalable micro-services and APIs. You will work on building high-performance backend systems with a focus on event-driven architectures, integration, and event sourcing.
Remote role but must be based In Spain
The Team:
We are passionate about making peoples’ voices heard by creating exciting and useful content based on in-depth, accurate market research, and about delivering that to people in the best way possible. We are looking for people to join us who have an enthusiasm for content creation and publishing and are looking for opportunities to expand their skills and knowledge into new areas.
We have a global panel of over 26m people, allowing us to gather data on likes and dislikes, political opinions, what worries them, and much more. We are responsive to current events – ensuring decision-makers and business leaders always have accurate, timely, information.
Our mission is to supply a continuous stream of free-to-access, accurate data and insights into what the world thinks, so that companies, governments and institutions can better serve the people and communities that sustain them and to be a valued public resource used by hundreds of millions of people daily, enabling intelligent decision-making and informed conversations.
Key Responsibilities:
- Develop, maintain, and optimize backend applications using Django, FastAPI, and Flask
- Design and implement event-driven services and microservices
- Build and maintain RESTful APIs and integrate with third-party services
- Implement event sourcing patterns and integrate with message brokers
- Work with relational databases (PostgreSQL) for efficient data storage and retrieval
- Optimize applications for performance, security, and scalability
- Lead system design and code architecture discussions
- Work on impactful projects with high volumes of production traffic
- Produce simple, maintainable code while always looking to improve it
- Define testing strategies and write automated tests
- Lead the technical excellence of the system and create plans to mitigate outages
- Pro-actively mentor other engineers
- Foresee the impact of business and technical decisions on performance, reliability and own the entire software lifecycle
- Propose and participate in team processes improvements
Skills and Qualifications:
- 5+ years of progressive experience as a Python backend developer
- Expert knowledge of Python and some of the main web frameworks (Django, Flask, FastAPI)
- Advanced knowledge and experience in relational databases (PostgreSQL) and ORM frameworks
- Extensive experience with Git, CI/CD pipelines, and software development best practices
- Proven and progressive experience in building and deploying scalable micro-services
- Strong knowledge of Docker
- Solid understanding of modern testing principles
- Excellent 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
- Proactive in identifying risks and taking an impact-centric approach to problem-solving
- Ability to think abstractly and deal well with ambiguous/undefined problems
Comfortable with the below Tools & Technology:
- JIRA, Confluence, Slack, Miro Docker,
- Kubernetes, Helm, Terraform, Vault, AWS, Grafana, ELK Stack, New Relic
- Python (Django, FastAPI, Flask), Redis, RabbitMQ, PostgreSQL, MongoDB
Great if you have:
- Understanding of Celery and task queues for background processing
- Experience participating in mitigating technical debt
- Experience with Kubernetes/EKS
- Strong knowledge of AWS technologies and services