Online Education Python Engineer (100% FTE)
Office of the Vice Provost for Online Learning
We are hiring a Python engineer to join the Online Education team at Stanford. We are a small team building Class2Go, a new open-source online education platform. We began this past summer and launched the site after only a few months. We now have tens of thousands of students taking courses on Class2go. Our Database class this quarter is big (http://db.class2go.stanford.edu).
We are looking for an engineer to work on core features for Class2Go. Nearly everything we do is in Python/Django, which we like a lot. Not only can we get a lot done ourselves in Python, but there's a wonderful ecosystem of tools and features that we love to use. Class2Go has two goals: to expand the reach of university education and to be a great platform for innovation.
Our tech stack is modern and sane:
- Python/Django, Apache, MySQL
- Bootstrap, jQuery
- Cloud hosted at Amazon: EC2, RDS, S3
- Chef, Travis
We think it's important for our software to be free -- both beer-free and speech-free. A benefit is that we can easily work with other schools and non-profits. It also expands the project's reach. Working on an open project is an excellent way to build your Github resume. See what we are up to by looking at our code (https://github.com/Stanford-Online/class2go) and bug/issue lists (https://github.com/Stanford-Online/class2go/issues).
The project backlog has tons of interesting features and hard problems to solve: improving infrastructure, scalability, resiliency, caching, integrations, big data processing, and reporting. Sound interesting?
We move fast (weekly sprints) and don't have a lot of overhead. We are motivated by doing important work, and doing it the right way.
- Three years experience working on a production website, commercial or open source.
- Fluent in Python: at least three years hands-on experience. Experience with Django is a plus.
- You should be able to point us to running code that you've written for us to evaluate.
- Collaborate with the other projects team to track development and contribute changes back.
- Comfortable developing software with a distributed team
- Git for distributed version control- As a full-stack engineer, you know how all this stuff works and can dive in and get your hands dirty if need be:
- Github Issues for issue tracking
- Review others' code; don't get upset when they trash yours
- Delivery: load balancers, caches, web servers, CDN's- Understanding of proper design and implementation for secure user interfaces, API's, and backend systems.
- Protocols: HTTP, NFS, OAuth, SSL
- Data storage and processing: SQL, schema design, ETL, M/R
- Support the production Class2Go platform: debug production issues, be available on-call from time to time.
- Self-motivated. You work well when empowered to make decisions about what needs to be done, and when and how to do it.
- You're a hacker. You...
- would rather just do it through the command line
- have an opinion on emacs vs. vi. Or, you think those things are for dinosaurs and you are passionate about your IDE
- aren't afraid to muck around in someone else's code
This is a two year fixed term position (100% FTE). The job is on the Stanford Campus. Full-time remote isn't an option. You'll need to pass Stanford's background check and show you are eligible to work before coming on board.