OpenStax (part of Rice University) is a non-profit textbook publisher, learning software producer, and platform for learning research. Our mission is to provide every student with free or low-cost access to high-quality learning materials and tools that help them succeed in their education and career. We have created a library of 29 free and openly licensed college textbooks that have served 6.2 million students, resulting in $576 million dollars in savings. We have created software to help college students in three of those subjects read with more engagement and practice more effectively, incorporating our research team's expertise in cognitive science and machine learning.
We are embarking on an ambitious and exciting strategic initiative to create a unified OpenStax experience for the faculty and students that use our textbooks and learning tools. We are creating a compelling student experience for our entire library that generates meaningful data that we can use to improve student performance and learning. This new platform will also serve as the hub for learning research, where we can discover what learning strategies best serve students given their individual differences (personalization) and then turn those discoveries into practical benefits for students.
OpenStax is seeking a talented and experienced Software Engineer II. The Software Engineer II will work with the product manager, contractors, and team developers to architect, design, implement, and maintain OpenStax's suite of online textbooks, learning, and assessment software used for research and product development. The Software Engineer II will design software components and application programming interfaces (APIs) to develop a web-based reading and learning service that ingests learner interaction data, runs an ever-expanding suite of cognitive-science best practice algorithms and machine learning algorithms (in near-real time and in batch processes), and returns the recommendations and analytics produced by those algorithms to client learning platforms, as well as associated components such as editing tools, assessment and interaction data databases, etc.
You will join a team who is driving change at a pivotal phase of our evolution, as we deliver high quality educational content, ranging from textbooks to simulations and videos to exercises to full courses, and give educators and learners the support they need in core college and high school disciplines.
We celebrate diversity of all kinds and we are committed to nurturing an inclusive environment. We seek to hire, develop, and retain talented people from all backgrounds. We are part of a private university, but our team comes from a variety of backgrounds and includes people who attended universities and community colleges, as well as people who did not graduate from college.
Ideal candidates should have strong knowledge of at least one programming language and the ability to effectively use a variety of programming methods. The ability to recognize and recommend needed changes in operational procedures is also important.
Assesses user needs and requirements
Designs and develops applications that may involve sophisticated data manipulation
Works with a variety of users to gain information, and develop intra-system tradeoffs between different users, as necessary; interacts with a diverse client base and outside vendor contacts
Maintains and updates existing programs
Troubleshoots and solves technical problems
Creates programs to meet reporting and analysis needs
Designs and implements user and operations training programs
Provides production system support and issue resolution
Documents changes in software for end users
Follows team software development methodology
Serves as technical resource with respect to applications
Performs all other duties as assigned
Bachelor's degree, or additional related experience, above and beyond what is required, on an equivalent year for year basis
Two years experience with backend software development, or additional related educaiton (including completion of technical boot camp program or certification training), above and beyond what is required, on an equivalent year for year basis
Current knowledge of the latest software and design techniques
Ability to define and solve logical problems for technical applications
Knowledge of and ability to select, adapt, and effectively use a variety of programming methods
Ability to recognize and recommend needed changes in user and/or operations procedures
Basic knowledge of software engineering principles
Strong knowledge of at least one programming language
Master's degree in computer science, electrical engineering, or other quantitative fields
Expertise with Python and/or Ruby
Experience developing for and using cloud computing services like Amazon Web Services (AWS)
Experience developing and using APIs
Experience with continuous integration and automated testing
Experience with git
Experience with agile software development practices
As a leading research university with a distinctive commitment to undergraduate education, Rice University aspires to pathbreaking research, unsurpassed teaching and contributions to the betterment of our world. It seeks to fulfill this mission by cultivating a diverse community of learning and discovery that produces leaders across the spectrum of human endeavor.