Software Engineer - Machine Learning Data and Observability, Cortex
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 build 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
- ML Pipeline instrumentation
- Streaming data validation and alerting
- Hyper-parameter tuning software
- Jupyter notebook-based interactive developer environment, “IDE for ML”
- Model repository and management.
- Feature catalog and management system.
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, prioritize teamwork and are committed to serving their customers.
Your Responsibilities will Include:
- Designing appropriate abstractions, shareable libraries, and robust APIs.
- Adapting, extending and contributing to open source and third party solutions to seamlessly function within our toolchain.
- Actively improving 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 an interest in machine learning.
- You thrive on working in concert with other smart people, including from distributed offices.
- You communicate fluidly, at the level of your audience, and seek to understand and being understood.
- You have the ability to take on complex problems, learn quickly, iterate, and persist towards a great solution.
- You are adamant about studying customer needs and enabling their success through our products.
- You take pride in polishing and supporting our products.
- You welcome feedback and are constantly looking for ways to improve yourself.
- You thrive on building platform tools for developers.
- You have a strong desire to craft easy-to-use and delightful developer experiences.
- You have a sound grasp on OOP concepts, data structures and algorithms.
- You have a disciplined approach to writing unit and integration tests.
- You are rigorous in software design life cycle best practices (design docs, code reviews, support, Sprint planning, Agile methodologies).
- You have working knowledge of Java or Scala and a scripting language (e.g. Python).
- You have a proven understanding of distributed computing architectures.
- You easily articulate complex concepts in writing and speech.
- BS, MS, or PhD in Computer Science or equivalent work experience.
Nice to Have:
- You’re no stranger to microservices.
- Python experience
- You have operational knowledge of relational and non-relational databases (e.g. MySQL/Postgres and Cassandra/ElasticSearch).
- Experience in Spark, Scalding, Cascading, MapReduce
- Familiarity with machine learning concepts or frameworks such as TensorFlow, pandas, NumPy, scikit-learn
- Familiarity with Spark, Scalding, Cascading, MapReduce
- Familiarity with Pandas, Numpy, scikit-learn
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.
Engineering Hiring Process
Once your application is received, a recruiter will reach out pending your qualifications are a match for the role.
If your background is a match, you may have 1-2 technical phone interviews or be given the chance to provide a work sample depending on the role.
If the phone interviews go well or your work sample is strong, the final step includes interviews with 5-6 people held onsite in our office.
We're the People Team @Twitter. We're hiring service, purpose-driven people who are creative and move fast. #LoveWhereYouWork #JoinTheFlock
We're your one stop shop for anything University related. That means campus outreach, student advice/tips, & of course, our University Recruiting efforts!