Software Engineer - Java
PowerSchool | R&D | Bengaluru, Karnataka
PowerSchool is seeking a Software Engineer for its Tillium team. 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.
Duties and Responsibilities
Essential duties and responsibilities include the following. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Investigate and resolve issues reported for a large web application following best practices such as authoring or updating unit tests, writing maintainable code, applying established patterns and algorithms.
- Analyze performance and develop improvements to performance of web application.
- Assist with security updates to web application.
- Perform upgrades to 3rd party libraries and tools used by the web application
- Implement new web application software features and products following best practices such as authoring of unit tests, writing maintainable code, applying established patterns and algorithms
- Specialize in client or server side web application development as a member of a project team. Preference for familiarity with the full technical stack.
- Develop software to support internal initiatives, tools, update framework and application functionality
- 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
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.
- 2 - 4 years’ experience in software engineer role
- Bachelor’s degree in Computer Science or Information Technologies required or equivalent experience
- Advanced knowledge of Java, Spring (IoC), REST API, Hibernate, JPA, JAX-RS
- Proficient in Oracle Databases, SQL Server experience a plus
- Familiar with OWASP threats and mitigation techniques
- 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 handle a heavy workload with multiple projects and frequent interruptions
Strong ability to work in a changing, dynamic environment