Udacity’s mission to democratize education online requires uptime, stability, and fast reaction to trouble. The Platform Engineering group develops and supports the shared platforms and tools that keep Udacity online, working closely with application and frontend development teams. As a member of the DevOps team you will be responsible for the foundations of our microservice architecture.
Udacity runs a variety of server platforms. Our main platform is Apache Mesos running on AWS EC2. We use many Hashicorp tools, including Terraform, Consul, and Packer. We follow DevOps best practices as best we can, and always try to improve. Application developers at Udacity are on-call for their applications, and move code from git to CI to production entirely on their own. New applications often require help from the Platform team to get set-up with these tools, and new developers appreciate coaching to learn the DevOps ways.
Successful DevOps engineers hate typing the same thing twice, they strive to answer complex problems simply, they measure everything, and they are guided by deep sense of responsibility and pride in their work.
Check out our engineering team: https://vimeo.com/135723573
- Works urgently and carefully under pressure.
- Balances competing deadlines and priorities.
- Encourages positive attributes and attitudes in others.
- Relishes being the go-to engineer for core systems on which all other products run.
- Sees through complex problems to simple, actionable improvements.
- Continuously learning new tools and techniques.
- Mentors others and supports their growth.
- Develop tools to improve developer productivity to bring new Udacity products to market.
- Provide support and advice to developers building new student-facing applications.
- Develop tools to manage our fleet of cloud services in AWS and GCP.
- Use configuration management tools to deploy and maintain Udacity products.
- Participate in on-call rotation for production incident response.
- Expertise in Go, Ruby, Python or a comparable language.
- Expertise with Linux, interest in containers, and experience operating large sites.
- Expertise with relational databases, PostgreSQL or MySQL or other.
- Experience with systems, network, and security administration.
- Resourcefulness to work through thorny production issues.
- Patience to sort out unclear operations requests.