Senior Engineer II
Company
PowerSchool
Function
Level
Location
Bengaluru, Karnataka, India
Job Summary
PowerSchool® is a leading provider of education technology solutions, serving millions of students, teachers, and administrators across the globe. Our products are designed to help educators deliver personalized, data-driven instruction that improves student outcomes.
As a full stack Java Senior Software Engineer at PowerSchool, you will be a critical member of our team, helping to develop and maintain the innovative software solutions that make our products so effective. We are looking for a strong candidate to help deliver that vision. Working here offers you a chance to help solve the most important challenges in education at scale in an environment that’s fun, collaborative, and innovative. Our software engineering practices promote a culture of continuous integration, continuous delivery, and continuous improvement.
We are looking for smart, creative individuals who are passionate about education and are not afraid to show it. This position, under the general direction of the Lead and/or Manager, Software Engineering, will be responsible for technical and development support for our award-winning K-12 software. This role will be to implement, code, build, and test new features, maintain existing features, data models, customization, and reporting features for our products. Additionally, this position will gather and refine requirements, develop designs, implement, test and document solutions to produce the highest quality product and customer satisfaction.
Responsibilities
Essential duties and responsibilities include the following. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Work on a distributed cross-functional team where you’ll play a critical role in designing, planning, developing, deploying and observing your code in production.
- Develop high performance, highly scalable and accessible web applications.
- Meet tight deadlines in a rapid application development environment.
- Collaborate with Product Management, Design, and Operations teams to create and deliver tested features to production.
- Collaborate with specialists across web, mobile, and operations to achieve a better user experience for our product.
- Be able to assess and bring in industry information into your decisions and learn new technologies: AWS is releasing new tools every day, there are new open-source libraries to vet and you will be a party to helping us pick the best tool for the job.
- Be willing to work in any area of the codebase if needed, using technologies such as Java, Hibernate (preferable), JavaScript, JQuery, TypeScript, Node, React, Oracle. Amazon Web Services (AWS) Lambda (Serverless framework ) or AWS tools/technologies is a plus.
- Help staff, build, and form the culture around a team of engineers, a product manager, designer, QAs and associated supporting roles.
Qualifications
To be considered for and to perform this job successfully, an individual must be able to perform each essential duty and responsibility satisfactorily. The requirements listed below are representative of the knowledge, skill and/or ability required.
Qualifications include:
- Strong CS fundamentals including familiarity with data structures and especially the asynchronous challenges that face JavaScript developers today.
- Experience of 3+ years in developing in Java
- An ideal candidate would have experience with JavaScript as well
- Experience of 3+ years in developing in at least 1 client-side JS framework (React, Angular, …)
- Our project will be based on Angular but if you're familiar with another framework, we're just looking for someone willing to learn!
- Experience with datastores, either SQL (Oracle or MySQL preferred) or NoSQL, and the ability to talk deeply about them, including discussing general performance improvements and query optimizations
- Able to identify the source of complex problems occurring within a distributed system (experience with observability tools such as Newrelic is a plus).
- Experience working on a team of 5 engineers plus supporting roles (e.g. QA, design, etc), preferably as a Senior Software Engineer.
- Ability to provide feedback to others in a code review and also to receive feedback from other members of the team and use it to learn and grow
- Be self-sustained even when tackling the highest profile, most challenging work across the organization.
- Willingness to accept responsibility and be accountable not only for your own work but the work of the team.
- Experience with cloud technologies, especially AWS based solutions
- Knowledge of Infrastructure as Code