Software Engineer - Compute Platform
Who We Are
Twitter’s compute infrastructure team develops and operates the production infrastructure on which Twitter services are running. This team is at the forefront of innovation in the server cluster management systems by being primary contributors to Apache Mesos and Aurora, as well as emergent standards in the application container space.
What You’ll Do:
Twitter is seeking an experienced Software Engineer to join the Twitter Compute Platform team. The Twitter Compute Platform team builds the internal, cloud-like platform which enables Twitter engineers to easily build highly scalable, robust services. We run most of the production services powering Twitter.comand our revenue business using clusters that are tens of thousands of nodes, running hundreds of thousands of containers for thousands of jobs. We’re heavily invested in open source and use Apache Aurora for scheduling and Apache Mesos for cluster management and containerization, both originally incubated inside Twitter. We’re looking for candidates who share a passion in building robust, scalable platforms that enable other engineers to be productive.
This position is full-time and based in our main office in San Francisco, CA.
The Compute team is hiring for the following responsibilities:
- Design and develop core, backend components for job scheduling and cluster management.
- Strong ownership from design through to deploy and beyond
- Work with our internal customers to understand requirements
- On-call rotation duties to maintain the platform and provide support
- Development of automated tooling for deployment and cluster maintenance
- Analyze and improve efficiency, reliability, and scalability of the platform
Who You Are:
You have strong computer science fundamentals and are passionate about scale, quality, and performance. You have experience and/or passion for open source software development. You have experience with distributed systems and asynchronous programming.
- BA/BSc degree in Computer Science, Electrical Engineering or related technical field, or equivalent practical experience.
- Experience in developing software in one or more languages such as Java, C++, Go, Python or similar.
- 2 years of data infrastructure or back end systems experience.
- Experience designing, building, deploying, and maintaining large scale, production level services.
- Experience in distributed systems, virtualization, containerization, cluster scheduling
- Familiarity with Linux or similar operating systems
We are committed to an inclusive and diverse Twitter. Twitter is an equal opportunity employer. We do not discriminate based on race, ethnicity, color, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran status, genetic information, marital status or any other legally protected status.
San Francisco applicants: Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.
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.