Senior Software Engineer - Data Science & Big Data
Without data science engineering we are unable to integrate data science development into an engineering organization. Therefore, it is imperative for us to close the gap and lead the way in producing efficient, scalable and highly supported applications through our engineering function.
About the role:
Farfetch relies heavily on insights gained from data to guide future development and metrics to detect new areas of improvement. This position will 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 applications. The ideal candidate will be comfortable in a start-up environment and will bring an energetic, fun and creative approach to their work.
A flavour of what we use in the data science team: Docker, Flask, Pytest, Scikit-learn, TensorFlow, NumPy, pyStan, SqlAlchemy, Celery, RabbitMQ, Postgres, MSSQL, Hadoop, Hive, Spark, BigQuery, ElasticSearch, Terraform, Ansible, Google Compute Engine, Microsoft Azure.
From efficient bidding to portfolio optimisation, a/b testing, new keyword generation, Farfetch are truly committed to building an in-house solution that takes care of everything from an Engineering standpoint.
We recognize there are not many solutions out there that do the same, which is why we always follow good practice with our software development, in order to ensure we stand out and continue to lead the way with our groundbreaking innovation.
Our main goal is to establish a stable and efficient strategy to run prospecting campaigns on marketing platforms by building a full solution that allows us to generate and update new campaigns and ads automatically. The solution we are building will be able to explore new audiences and enable a targeted approach.
Customer Behaviour & Media Solution
Another of our key focuses is to produce, maintain and improve our customer centric models. These models are built to identify customer behavior patterns, which are then used to personalise our communication with our existing and future customers.
Alongside important modelling improvements in the Machine Learning model, we are also working on integrating with additional exchanges ― i.e. Baidu, Bing, Yandex and Yahoo.
What you’ll do:
- You will collaborate with Data Scientists, Big Data, Software Engineers, Tech Ops, and Release Engineers to deliver efficient data products.
- You will collaboratively design, build and maintain Python based microservices.
- You will provide creative ideas to improve our product and technology
- You will assist Data Scientists in maintaining the health of production systems.
- You will design and develop scalable and performance oriented services with strong emphasis in algorithmic design and scalability.
- You will work with the Big Data team to develop and maintain large scale Data Science services.
Who you are:
- You have a Bachelor’s degree and/or Master’s degree in Computer Science with strong algorithms, data structures and coding background.
- You are proficient in Python and experienced in the creation of services using frameworks like Flask/Django. You have experience in the scientific stack (numpy, scipy, sklearn, pandas).
- You have a disciplined approach to testing and QA (TDD/BDD, code review, documentation).
- You are experienced in distributed systems, service oriented architectures, design and implementation of high throughput, low latency applications.
- You are experienced in containerization tools like Docker and configuration management tools like Ansible.
- You have experience building and scaling batch/asynchronous systems. Airflow/Luigi/Celery/RabbitMQ.
- You have a solid knowledge of the whole stack: front-end, back-end, databases, cache layer, HTTP protocol, TCP/IP, Linux, CPU architecture, etc.
- You have a solid understanding of the pros and cons of SQL/NoSQL.
- It would be nice if you have experience in designing large scale systems that take advantage of Big Data technologies like Spark, Hadoop, Hive, BigQuery, etc.
We can’t wait to receive your application. But before you send it to us, here are some helpful tips to make sure your application is as strong as it can be.
- Have you set out why this role is a good match for your career aspirations and that you have the skills and experience required? We want you to be as clear about your future ambitions as we are and whilst we encourage people to learn, develop and grow, you will need to hit the ground running.
- Have you checked spelling and grammar? We have high standards and you don’t want to miss out because of something as easily correctable as a typo.
We are committed to equality of opportunity for all employees. Applications from individuals are encouraged regardless of age, disability, sex, gender reassignment, sexual orientation, pregnancy and maternity, race, religion or belief and marriage and civil partnerships.