Senior Software Engineer (Python)
NYC HQ: Reporting to: Engineering Manager
About The Department
We're the beating heart, supporting the running of the business and exploring new and exciting technologies across web, mobile and instore to help us transform the industry. Split across three main offices - London , Porto and 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.
About The Role
The firm relies heavily on insights gained from data to guide feature development and on 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 startup environment and will bring an energetic, fun and creative approach to their work.
A flavor of what we use in the data science team: Docker, Flask, Pytest, Scikit-learn, TensorFlow, pyTorch, NumPy, pyStan, SqlAlchemy, Celery, RabbitMQ, Postgres, MSSQL, Hadoop, Hive, Spark, BigQuery, ElasticSearch, Terraform, Ansible, Google Compute Engine.
What You’ll Do
- You will collaboratively design, build, and maintain Python microservices in our multi-cloud data platform.
- You will collaborate with Data Scientists, Big Data, Software Engineers, Tech Ops, and Release Engineers to deliver efficient data products.
- 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.
Skills and Experience
- You are experienced with 3-6 years in a software engineer role.
- You are a Bachelor’s degree- and/or Master’s degree-holder 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 are experienced in the scientific stack (numpy, scipy, sklearn, pandas).
- You are disciplined in approach to testing and QA (TDD/BDD, code review, documentation).
- You are experienced in containerization tools like Docker and configuration management tools like Ansible.
- You are experienced building and scaling batch/asynchronous systems. Airflow/Luigi/Celery/RabbitMQ.
- You have 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.