Full Stack Software Engineer - Machine Learning Effectiveness - 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 Full Stack Engineers build UI frameworks, plugins and tools to automate and simplify recurrent ML tasks, to explore data, to inspect and debug models. We often leverage or integrate open source tools and UI's such as Airflow and TFX. 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.
Effective reuse, both in the components we design from scratch and in the ones we build on top of.
An exceptional developer experience for our customers.
Recent Blog Post: https://blog.twitter.com/engineering/en_us/topics/insights/2018/ml-workflows.html
Our current projects include:
An extensible, flexible UI framework, "ML Dashboard" as main developer portal.
Automated machine learning workflows, using Airflow.
Jupyter notebook-based interactive developer environment, “IDE for ML”
Models’ repository and management.
Hyerparameter tuning and feature selection.
Feature registry 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, thrive on teamwork and are committed to serving their customers.
Your responsibilities include:
Building, optimizing and maintaining developer-friendly, easy-to-use web applications with React, node.js and the Twitter web stack.
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 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 Python and Java/Scala.
You understand 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 fluent in ECMAScript 6 or later.
You’re experienced in at least one modern web framework such as React or Angular 2+.
You’ve built some web services.
You wrangle CSS to make web sites look good.
You have good working knowledge of relational and non-relational databases (e.g. MySQL/Postgres, Cassandra/ElasticSearch).
You know what microservices are.
Nice to have:
UX design Experience
Distributed systems background
Experience with Big Data (Hadoop, Spark, Map Reduce)
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 at Twitter. We Tweet about who we're hiring, what we're doing, and why you should work at Twitter! #LoveWhereYouWork
We're your one stop shop for anything University related. That means campus outreach, student advice/tips, & of course, our University Recruiting efforts!