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.
Requirements- 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
- Github Issues for issue tracking
- Review others' code; don't get upset when they trash yours
- As a full-stack engineer, you know how all this stuff works and can dive in and get your hands dirty if need be:
- Delivery: load balancers, caches, web servers, CDN's
- Protocols: HTTP, NFS, OAuth, SSL
- Data storage and processing: SQL, schema design, ETL, M/R
- Understanding of proper design and implementation for secure user interfaces, API's, and backend systems.
- 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.
Job #51775