Senior Application Software Engineer
About the role
The Senior Application Software Engineer will develop web-based systems, including requirements gathering, design, implementation, testing, and support. Responsibilities may include developing business logic, user interfaces, and databases for web-based systems.
Responsibilities
- Interact with customers, understand the business logic and requirements and create technical design documents.
- Develop software applications and interfaces using advanced programming languages, data structures, database and client/server technologies and utilizing modern development tools.
- Develop solutions to improve user experience while optimizing code and increasing performance and scalability.
- Utilize version control systems like Git to manage code repositories and contribute to deployment processes and automation ensuring smooth and reliable software releases.
- Develop and execute unit tests, regression tests and smoke tests to ensure software quality.
- Cook with the customers and software product development team to evaluate system interfaces, functional and performance requirements of the overall system.
- Create and maintain technical documentation including code comments, user guides and API documentation.
- Follow best practices for software security to protect against vulnerabilities and ensure compliance with industry standards and regulations.
Requirements
- Bachelor's degree in Software Engineering, Computer Science, Electrical Engineering or related field. Master's degree preferred.
- Minimum 4-year experience with implementation and deployment of medium to large systems.
- Software design and development experience with following technologies: Programming Languages: Java, Javascript, SQL; Database: Oracle 19c or MySQL; Data Structures, system design, performance tuning, UML and Object-Oriented Design; Web application and service: Spring or Spring Boot; JSON and React desirable; Persistence: JPA (EclipseLink or Hibernate) and JDBC; Web/Application Server: Tomcat or Spring Boot embedded web server; Development and test tools: Eclipse, IntelliJ, SQL Developer, Maven or similar, Cucumber or similar testing suite, Shell Script, SVN or Git; Development platform and Linux, Windows.
- Experience With Server and Web Client technologies; Distributed systems; Formal development methodologies such as Agile, Scrum or Waterfall; Producing technical design documents; Diagnosis and resolution of software issues; Good communication and teamwork skills.
- Electrical energy industry knowledge is desirable.
Benefits
Resource Innovations offers competitive salaries based on a candidate's skills, experience and qualifications for the position. The compensation range for the base salary for this position is $88,000 - $120,000. In addition to base pay, employees may be eligible for a discretionary annual bonus. The stated salary represents the expected compensation for this position. Final compensation will be determined based on factors such as the candidate's experience, education and location. At Resource Innovations, we believe supporting our people is essential to delivering impact. We offer a comprehensive benefits package designed to promote health, financial security, and work-life balance. This includes three weeks of paid vacation annually, paid holidays, a 401(k) retirement plan with employer match, medical, dental and vision coverage, parental leave, an employee assistance program, commuter benefits, and additional supplemental offerings.