Schoology, one of the fastest growing education technology companies, is putting collaboration at the heart of the learning experience with an easy-to-use learning management system (LMS) that connects the people, content & systems that fuel education. Millions of students, faculty & administrators from over 60,000 K-12 schools & higher education institutions worldwide use Schoology to advance what is possible in education.
Working at Schoology offers you a chance to help solve the most important challenges in education in an environment thats fun, collaborative & innovative. We are looking for smart, creative individuals who are passionate about education & aren't afraid to show it.
What you'll do:
Youll help us enhance our native Android & iOS apps that millions of students, parents, & educators use every day. Youll use the best of native & the web to extend & improve our apps.
Youll release new versions of our app often. We practice continuous integration & continuous delivery. We release updates to our platform nearly every day, sometimes multiple times a day.
Youll troubleshoot problems our users have. When something goes wrong youll help find out what caused it, decide how to fix it, & get things back up & running quickly.
Youll work on a cross-functional team to help decide which features to build, how to build them, & to see how theyre behaving in the real world. We collaborate & dont throw specs over the wall. We want to hear your ideas.
What we're looking for:
Someone with experience building native mobile apps in Swift, Objective-C, Kotlin, or Java & an interest in both Android & iOS. You should know how to write automated tests & understand why they are essential. You should be familiar with multithreaded code & tools for managing it. You should understand lifecycle management & the way native mobile apps work.
Someone able to write clean code in both object-oriented & functional styles. You should know what SOLID stands for. You should understand value types & immutability. You should know about mobile architectural patterns (like MVC) & be able to talk about the differences between them.
Someone with a passion for software development & a desire to constantly learn. The world of mobile software development changes quickly & well look to you (and your team) to navigate those changes.
Someone who understands fundamental computer science concepts. That doesnt necessarily mean you have a CS degree. But you should be able to describe how a pointer works, what Big O notation is & how to use it, when to use composition & when to use inheritance, & the differences between an array & a linked list & a set.
Someone with a firm grasp of REST & APIs in general. You should be comfortable working with OAuth & know how HTTP works.
Our Tech Stack & Software Development Process:
Our Android app is written in Java & Kotlin & our iOS app is written in Objective-C & Swift. Youll work with all of those languages every day, while enhancing the apps & reviewing your teammates code.
We use Git to manage our source code, & use feature branches to organize our work in progress.
We believe that shipping code is just one step in the process. You should be empowered to own the entire life of your software, from the initial design through release & monitoring. And we expect everyone on our team to take responsibility for the software we build. After all, thats what really matters helping educators teach & students learn.
All team members at Schoology are expected to embody our core values which are Passion, Collaboration, Innovation, Curiosity & Integrity.
Our mission is to continuously advance what is possible in education. You in?
Schoology is an Equal Opportunity Employer & embraces diversity of every kind.