Principal Software Engineer
Overview:
At PowerSchool, we are a dedicated team of innovators guided by our shared purpose of powering personalized education for students around the world. From the central office to the classroom to the home, PowerSchool supports the entire educational ecosystem as the global leader of cloud-based software for K-12 education.Our employees make it all possible, and a career with us means you’re joining a successful team committed to engaging, empowering, and improving the K-12 education experience everywhere.
Team Overview
Our Research & Development (R&D) team is the technical talent at the heart of our product suite, overseeing the product development lifecycle from concept to delivery. From engineering to quality assurance to data science, the R&D team ensures our customers seamlessly use our products and can depend on their consistency.
Responsibilities:
Description
The Software Engineering team is a group of full stack developers who design, develop, and maintain our products, tools, and infrastructure.PowerSchool is looking for an experienced engineer to join its platform team. In this position, you will work across our delivery teams to help drive the evolution of the Schoology Learning Management System (LMS) and to help us scale our platform.The Schoology Learning Suite gives educators the tools to personalise learning for every learner.
It is used by millions of distinct users daily, integrates with hundreds of different partners and sits at the heart of the PowerSchool classroom initiative.We are a product that supports learning, and we are looking for smart, creative individuals who are passionate about education and aren't afraid to show it.In fact, this is a key part of what we are looking for on our team: How can you show us the new technologies and practices you’ve learned and applied to improve the efficacy of the teams you have been a party to.You will work in a culture of continuous integration, continuous delivery, and continuous improvement.
We release multiple times a day, and never work in a vacuum. Teamwork and collaboration are essential.Our team runs hundreds of servers, is simultaneously working on 20+ projects across the organisation using many different technologies. To be successful on Schoology learning we are looking for some evidence of:1.
How you drove change in an origination, ideally without using role power edicts.2. How you championed NFR (non-functional requirements) to deliver software that tells us it’s not performing before customers notice the problem.3. Used your writing skills to build up a knowledge base that scales past your ability to train everyone on the team.4. Writing code in a distributed system both with SQL and NoSQL data stores.5. How we decide upon managed or ‘bare metal’ hosting in cloud environments (We use AWS)6.
What you would do in a world with no downtime, not even scheduled.
Qualifications:
Minimum Qualifications- Minimum of 15+ years of relevant and related work experience.
- Bachelor’s degree or equivalent, or equivalent years of relevant work experience.
- Additional experience may be substitute for an advanced Degree.
- Preferred Qualifications
- A bachelor’s degree in Computer Science or related field required; Master’s degree in Computer Science or related field preferred
- A minimum of three years’ experience delivering web applications at scale in public cloud providers like AWS
- You should be able to speak about a few services very deeply
- You should understand why you aren’t using some services
- You should understand how provisioning occurs, especially permissions and networking
- A minimum of six years’ experience in Software Engineer roles developing designs, frameworks, standards, patterns and facilitating their use by teams of Software Engineers
- A minimum of five years’ experience with SOA Product Domain Application and Data Integration experience for Web Services Platforms and Messaging Systems.
- Experience building web applications using modern server languages (Typescript/Node.js, PHP, Go, Java, ...)
- Experience operating, observing, and understanding distributed systems.
- Experience architecting microservices and APIs in a Multi-Tenant environment.
- Experience with MySQL (Aurora), RDBMS and NoSQL Databases
- Experience developing prototypes, proofs of concept (to validate new architectures and solutions)
- Familiarity with build/deploy toolchains and platforms for containerized and serverless services
- Ability to work with current software design principles and concepts such as patterns, algorithms, data structures, dependency injection, MV**, SOA, n-tier architecture, monolithic vs micro services, immutable server
- Understanding of the following:
- Normalization and best practices on when to use function, views, stored procedures and transactions
- Maintenance and backup strategies to communicate with DBA team
- Change control and deployment procedures
- Ability to translate complex business needs and problems into innovative, technical, and world class solutions.
- Ability to communicate project status on regular basis. Ensure stakeholders are effectively informed in a timely manner.
- Excellent communication skills where you can articulate solutions with people who have different skill sets.
- The energy and passion to help us deliver better software than we would have thought to build without you being on our team!
EEO Commitment:
EEO Commitment
PowerSchool is committed to a diverse and inclusive workplace. PowerSchool is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status.Our inclusive culture empowers PowerSchoolers to deliver the best results for our customers. We not only celebrate the diversity of our workforce, we celebrate the diverse ways we work. If you have a disability and need an accommodation regarding our recruiting process, please let us know by emailing accomodations@powerschool.com.