Senior Software Engineer
About the department:
We're the beating heart of Farfetch, supporting the running of the business and exploring new and exciting technologies across web, mobile and in-store to help us transform the industry. Split across four main offices - New York, London, Porto & Lisbon - we are the fastest growing team in the business. We're committed to turning the company into the leading multi-channel platform and are constantly looking for brilliant people who can help us shape tomorrow's customer experience.
The role:
Farfetch relies heavily on insights gained from data to drive customer acquisition and retention and on metrics to detect new areas of improvement. As a Senior Software Engineer, you’ll contribute to the engineering of the next-generation data science products and interfaces that connect our Machine Learning technology to the vast ecosystem of internal and external applications. This is a really exciting time to join the business, with our recent acquisition of Stadium Goods and our IPO back in 2018, you’ll have the chance to be a part of a brand new function and work exclusively on large scale, high-impact projects.
We’re looking for an experienced Senior, designing and leading the development of large scale projects.
A flavor of what we use in the data science team: Docker, Flask, PyTest, SqlAlchemy, Airflow, Postgres, Spark, BigQuery, Terraform, Ansible, Google Compute Engine, Scikit-learn, PyTorch, and NumPy.
What you’ll do:
- Collaboratively design, build, and maintain Python micro-services in our cloud data platform.
- Work with other Software Engineers, Data Scientists, and Data Engineers to deliver efficient data products.
- Provide creative ideas to improve core data products.
- Be responsible for the health of production systems.
- Design and develop scalable and performant services with strong emphasis in algorithmic design and scalability.
- Have a team oriented mindset and seek to share knowledge and uplift the rest of the team
Who you are:
- Experienced in designing large scale systems that take advantage of Big Data technologies like Spark, BigQuery, etc.
- Advanced in Python and experienced in the creation of services using frameworks like Flask/Django.
- Disciplined in approach to testing (TDD/BDD, code review, documentation).
- Experienced in distributed systems, service oriented architectures, design and implementation of high throughput, low latency applications.
- Experienced in containerization tools like Docker and configuration management tools like Ansible.
- Experienced building and scaling batch/asynchronous systems. Using tools like Airflow/Celery/RabbitMQ.