Senior Software Engineer (Backend) - ML Platform Tools - Cortex
New York, NY
Who We Are
Cortex empowers internal teams to efficiently leverage ML by providing a platform and by unifying, educating, and advancing the state of the art in ML technologies within Twitter.
We win when our customers win by helping our users stay informed, share and discuss what matters; by serving the public conversation. We're building an AI-first company and every major initiative is increasingly dependent on the successful application of machine learning. Cortex is at the nexus of this evolution.
Our team of ML software engineers is constructing one of the strongest machine learning platforms in the world, based on the latest ML industry practices, deep learning, engineering excellence, powered by Twitter data at scale.
Our Backend and Systems Engineers builds tools to automate and simplify recurrent ML tasks, to explore data and experiment with models in notebooks. Our tools enable all engineers at Twitter to apply machine learning to their unique problems.
We care deeply about:
Engineering excellence such as good design abstractions, API stability, best practices and unit testing.
Staying abreast and compatible with a quickly shifting technology landscape for ML platform components and related open source solutions.
An exceptional developer experience for our customers.
Our Current projects include:
Automated machine learning workflows, using Airflow
Hyper-parameter tuning software
Jupyter notebook-based interactive developer environment, "IDE for ML"
Models' repository and management.
What You'll Do
If this sounds like a team you want to be part of, great! We are looking for engineers who love writing code, have a desire to learn new technologies, thrive on teamwork and are committed to serving their customers.
Your responsibilities include:
Designing elegant abstractions, shareable libraries, and robust APIs.
Adapting, extending and contributing to open source and third party solutions to seamlessly function within our toolchain.
Actively looking for ways to improve the end-to-end experience for developers across Cortex's product portfolio.
Integrating with Twitter's serving, cloud and data infrastructure
Working closely with product managers, engineers and stakeholders across the company.
Shaping the direction of our toolchain and product portfolio.
Who You Are
You have a passion for machine learning.
You wish to tackle hard product and engineering challenges working in concert with smart people.
You're excited to ramp up on new technologies to build awesome things with us!
You have the ability to take on complex problems, learn quickly, iterate, and persist towards a good solution.
You are adamant about studying customer needs and enabling their success through our products.
You take pride in polishing and supporting of our products.
You thrive on building platform tools for developers.
You have a strong desire to craft easy-to-use and delightful developer experiences.
You have 5+ years of applicable software engineering experience
You have a sound grasp on OOP concepts, data structures and algorithms.
You have a disciplined approach to writing unit and integration tests.
You have working knowledge of an OOP language (e.g. Java or Scala) and a scripting language (e.g. Python)
You have knowledge of distributed computing architectures.
You easily articulate complex concepts in writing and speech.
BS, MS, or PhD in Computer Science or equivalent work experience.
You're no stranger to microservices.
You have operational knowledge of relational and non-relational databases (e.g. MySQL/Postgres and Cassandra/ElasticSearch).
Equal Opportunity Statement
We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, color, ethnicity, ancestry, national origin, religion, sex, gender, gender identity, gender expression, sexual orientation, age, disability, veteran status, genetic information, marital status or any legally protected status.
Twitter is a social networking platform.