We are looking for a full stack software engineer to join the Learning Systems and Services team in the Office of Vice Provost for Teaching and Learning at Stanford. Stanford has many of the best and the biggest online courses on the web. This team builds and operates the open-source platform behind many of them. Students on-campus and worldwide learn via our course materials and the online communities they create.
Technology is disrupting higher education. We believe universities can benefit from this if it's done right. Supporting research is core to what we do. We also believe that universities should be in control of how this space evolves, and that working with an open-source platform is the best way to do that.
As a member of our full-stack engineering team, you’ll configure and deploy Open edX-based learning systems, work with the project team to build new features that meet the needs of our customers, and contribute feature back to the open source community. We accomplish that with a lightweight, mostly-Agile development process: quick daily standups, group planning, and stakeholder demos. We work on the Stanford Campus.
o Design, develop and test new features for Open edX platform, configure, customize, and deploy to staging and production servers, and help troubleshoot when CourseOps report production issues.
o Work closely with CourseOps, User Experience team, and Instructional Designers to understand requirements and specifications for new feature requests, communicate platform updates to support team/IDs, and seek feedback.
o Document code clearly and thoroughly, so others can maintain and support the code. Document new configuration or processes, and keep all documentation up to date.
o Serve as a technical resource for applications.
o Follow team software development methodology.
o Mentor RAs and Curis Summer Interns as needed.
o At least three years development experience (or equivalent) using modern web technologies. Shipped production-quality code.
o Proficient in Python or other OO programming languages.
o DevOps experience working with AWS, using automation tools such as Ansible, Jenkins.
o Experience with relational and NoSQL database systems. Able to efficiently get data into and out of a store using the right tool.
o Knowledge of systems and networking. For example, you should be comfortable identifying the bottleneck resource on a busy system or debugging a distributed systems issue.
o Self-motivated. You work well when empowered to make decisions about what needs to be done, and when and how to do it.
o You're a hacker. You value shipping real software to solve real problems. You know that done is better than perfect. You aren't afraid of someone else's code. You're a tenacious debugger.
o Assisting other developers by doing good code and design reviews.
o Comfortable with DVCS using git and Github. You know your way around "git rebase -i".
o You've got a good sense for how to figure out what's hard and easy, and can communicate that to others.
o Bonus: Open Source development experience - extra points for sharing your GitHub/Bitbucket etc.
Education & Experience:
Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
Knowledge, Skills and Abilities:
o Expertise in designing, developing, testing, and deploying applications.
o Proficiency with application design and data modeling.
o Ability to define and solve logical problems for highly technical applications.
o Strong communication skills with both technical and non-technical clients.
o Ability to lead activities on structured team development projects.
o Ability to select, adapt, and effectively use a variety of programming methods.
o Knowledge of application domain.
Certifications and Licenses: