PowerSchool is seeking a highly skilled and experienced Software Engineer to join our dynamic PowerSchool International team
As a Software Engineer, you will be responsible for the Localization of all PowerSchool portfolio of products targeting various countries across the globe
Additionally, you will play a significant role in building framework components for Internationalization in various technologies, with a primary focus on Java
You will join an Agile team of developers within the SchoolMessenger organization
Tens of thousands of schools depend on SchoolMessenger products to achieve their communications goals
From notifications and websites to digital forms, attendance management, two-way chat messaging and more, SchoolMessenger solutions help school administrators connect with people in multiple languages and on any device
Be a part of our growing success
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 implement, code, build, and test new features, maintain existing features, and develop reports that will include components, 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
Design, develop, and maintain localization features for our software products, ensuring high performance, scalability, and usability.
Collaborate with cross-functional teams, including Product Managers, Designers, and QA Engineers and, Channel Partners and customers in various countries to identify localization requirements and develop efficient solutions.
Write clean, efficient, and maintainable code using appropriate software development methodologies.
Conduct thorough testing and debugging to identify and fix software defects, ensuring high-quality deliverables.
Collaborate with team members to implement new features and enhancements, following Agile development principles.
Stay updated with the latest software development trends and technologies and propose innovative solutions to improve our products.
Conduct code reviews to ensure code quality, adherence to coding standards, and proper documentation.
Participate in team meetings, brainstorming sessions, and knowledge-sharing activities to foster a collaborative work environment.
Provide technical guidance and mentorship to junior team members, fostering their growth and development.
Continuously improve software development processes and practices for increased efficiency.
Work as part of an Agile SCRUM team in the planning, scoping, estimation, and execution of technical solutions
Work within a wide range of new and legacy code and technologies in a mature codebase
Other duties as assigned.
Qualifications
Minimum of 3 years of experience in software development, with a strong focus on localization and internationalization.
bachelors degree in computer science or information technologies required or equivalent experience.
Recent experience using React JavaScript and TypeScript
Recent experience using Java and Spring
Knowledge of current web client technologies, including the ability to d emonstrate p roficiency in various forms, including, but not limited to: HTML5, CSS3, JavaScript, ReactJS, TypeScript, NodeJS, and Java 9+
Knowledge of SQL in MySQL databases, DynamoDB, database design, and query optimization experience a plus
Experience with agile development methodologies, continuous integration, and version control systems such as Git or SVN.
Experience with automated testing, High personal code/development standards (peer testing, unit testing, documentation, etc)
Strong written and verbal communication skills
Strong ability to work with current software design principles and concepts such as patterns, algorithms, data structures, dependency injection, Microservices, MV**, SOA, n-tier architecture.
Strong ability to work in a changing, dynamic environment.