Uncubed

Senior Software Engineer, Core LMS

Schoology, Austin, TX

The only learning management system that connects the people, content, and systems that fuel education.


Schoology is one of the fastest growing education technology companies, with millions users across the world. We are giving educators all the tools they need to more easily personalize education and improve student outcomes, but in a way that works easily with their current systems and teaching approach. We’ve evolved the traditional learning management system into an education cloud: a platform that connects the people, content, and systems that fuel education.

Working at Schoology offers you a chance to help solve the most important challenges in education in an environment that’s fun, collaborative and innovative. We are looking for smart, creative individuals who are passionate about education and aren't afraid to show it.

As a Senior Software Engineer, you will:

  • Build scalable APIs for our partners and customers to use. Nearly every feature exposed through our UI is available through a RESTful API. Many of our customers rely on this API to make Schoology work with all of the other software in their world. And we do too: a lot of our software is built on top of the same API. You’ll help us expand and improve that API, making sure that it performs well even with lots and lots of traffic.
  • Build reliable, fault-tolerant API clients. You’ll help us build software that lets Schoology talk to the other software teachers and administrators use to manage their classes, grades, and students. That software will need to bridge the gap between our data model and theirs; it will need to be able to speak to both third-party APIs and our own public API; and it will need to be resilient to network failures, slowdowns, and other hiccups.
  • Create user interfaces that help guide users through the process of managing their course information, grades, and assignments. The UIs you create will be single page apps that are clear and easy to understand, and that are fast and responsive to the user’s input.
  • Release new software every day. We practice continuous integration and continuous delivery, and we release every day. You’ll get your first change into production in your first week. And from there you’ll be making changes that millions of people will see nearly every day.
  • Troubleshoot problems our customers have. Sometimes software doesn’t work as intended, and our customers can’t do what they’re supposed to be able to do. You’ll help find out what went wrong, decide how to fix it, and get things back up and running quickly.
  • Work closely with our Product Management, Product Operations, Quality Engineering, and Design teams to help decide which features to build and how to build them.

In order to succeed in this position, you will be:

  • An experienced, full-stack web developer.
  • Someone with a fair amount of experience working on both server- and client-side web software. You should understand how HTTP works, why Test Driven Development (TDD) is critical while writing code, what React is, what an XSS attack is, and how an MVC web framework works. That will probably mean you’ve been doing this stuff for 5+ years.
  • Someone who understands fundamental computer science concepts. That doesn’t necessarily mean you have a CS degree. But you should be able to describe how a pointer works, what Big O notation is and how to use it, when to use composition and when to use inheritance, and the differences between an array and a linked list and a set.
  • Someone with a firm grasp of SQL and databases in general (including non SQL databases). You should know how to do CRUD operations, what indexes are and why they matter, and the difference between a left join and an inner join for instance.

Our tech stack and software development process:

Most of our software is written in PHP, Java and JavaScript. You’ll work in all different languages and possibly more as we continue to grow. We’re not worried about checking off boxes for specific languages. As long as you have a background with any mainstream object-oriented language and have great engineering fundamentals, we believe you can get up to speed with any similar language quickly.

We believe you should be empowered to own the entire life of your software, from the initial design through release and monitoring. And we believe you should be responsible for that software’s continued health. After all, that’s what really matters — the software needs to be working correctly so teachers can do the important job of using it to teach.

At Schoology, we are continuously advancing what is possible in education. You in?

Schoology is an Equal Opportunity Employer and embraces diversity of every kind.

About Schoology

Millions of students, educators, and administrators from over 60,000 K-12 schools and higher education institutions worldwide use Schoology to advance what is possible in education. Their mission is nothing less than personalizing education for every student in America.

Want to learn more about Schoology? Visit https://www.schoology.com/