The New York Independent System Operator (NYISO) manages the efficient flow of electricity on more than 11,000 circuit-miles of high-voltage transmission lines, dispatching power from hundreds of generating units across the state.
The Software Engineer is responsible for the development and maintenance of software products. A Software Engineer performs full stack development, including front end, back end, and database work where appropriate. The position will participate in all phases of the Software Development Lifecycle, assist in the research of new technologies and collaborate with Project Managers. A Software Engineer will participate in a 24x7x365 on-call support rotation for production applications.
ESSENTIAL DUTIES and RESPONSIBILITIES
- Apply technical knowledge and experience in order to design applications.
- Create software design specifications for functionality as defined in approved requirement specifications. Ensure that designs are consistent with applicable NYISO software development standards, product’s architectural blueprints and industry guidelines.
- Evaluate new technology and tools. Incorporate approved technology and tools to enhance the product development process.
- Documentation product architecture plans.
- Provide support for all phases of the NYISO software development lifecycle
- Collaborate with Business Analysts and Business Owners in creation of requirements
- Collaborate with Business Owners and SMEs with root cause analysis and issue resolution
- Lead and participate in software design, development, testing, deployment and post-production support.
- Lead and/or participate in team code reviews
- Interact with project managers and technical team leads in all phases of project lifecycle.
- Provide project and task estimates and assist with creation of work breakdown structures.
- Perform software development activities in support of the NYISO mission and business objectives. Create, modify and/or refactor software programs as defined in approved specifications and designs.
- Create and maintain automated unit and functional tests. Ensure software changes are reasonably free from defects. Perform walkthroughs of these tests with Quality Assurance partners.
- Provide post-production application support as required. Support responsibilities may include consultation, problem identification, data analysis and/or emergency repairs. Resolve customer inquiries and respond to suggestions for improvement and enhancements.
- Requirements for support of mission-critical systems entails 24x7x365 coverage rotations.
- Develop user interfaces for web-based applications, incorporating best practices and NYISO standards for usability and design.
- Incorporate industry and NYISO best practices for web application security into all software design and development work.
- Participate in penetration-testing of NYISO-developed applications. Review results with Managers
- Responsible for following guidelines for source code management and branching strategy.
- Collaborate with Configuration Management team during code deployments.
- Participate in code reviews and suggest changes that will increase performance, security, maintainability or standards compliance.
- Design, create and/or update database tables needed by applications.
- Design, create and/or update SQL and/or PL/SQL statements used by applications.
- Collaborate with other Software Engineering and IT teams as needed and Project Managers to manage changes to supported applications Partner with other IT teams to resolve configuration, deployment, or environmental issues
- Provide input to Senior Engineers and Manager for strategic planning for supported applications, including roadmap documentation and plans for technology upgrades and usability enhancements.
- Participate in continuous learning to improve technical skills as required
- Mentor and coach Associate Engineers.
- Collaborate with QA and Business owners on test case development and test result reviews.
QUALIFICATIONS
- Bachelor's Degree (BS), Computer Science or Information Systems required.
- Three to five years performing software development in a multi-dimensional team setting
- Java experience required
- Unit testing framework such as JUnit experience required
- JavaScript, TypeScript, Angular or React experience required
- Code management (Git) experience required
- Deployment pipeline and pipeline tools (Jenkins, Maven, Gradle) experience required
- Experience with cloud development platforms (AWS, Docker, Kubernetes) desired
- Oracle PL/SQL experience desired
- JBoss and RHEL experience desired
- Spring/Spring Boot experience required
- Cypress Testing experience desired
- Energy/Utility industry experience desired
CERTIFICATES, LICENSES, REGISTRATIONS
- SANS Security Awareness training or equivalent desired
ADDITIONAL REQUIREMENTS
- Ability to read, analyze and interpret common scientific and technical journals, financial reports and legal documents. Ability to respond to common inquiries or complaints from market participants, regulatory agencies or members of the business community. Ability to write clear technical documentation that conforms to prescribed style and format. Ability to effectively present information to top management, public groups and/or boards of directors.
- Ability to apply principles of logical or scientific thinking to a wide range of intellectual and practical problems. Ability to deal with nonverbal symbolism (formulas, scientific equations, graphs, etc.) in its most difficult phases. Ability to deal with a variety of abstract and concrete variables.
- Intermediate competency in Windows operating environment using MS365 applications.
PHYSICAL DEMANDS
While performing the duties of this job, the employee is regularly required to talk or hear. The employee frequently is required to stand, walk, sit and use hands to perform routine office tasks. The employee is occasionally required to reach with hands and arms. The employee must occasionally lift and/or move up to 15 pounds. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
WORK ENVIRONMENT
The noise level in the work environment is usually moderate. Contact with staff and public will occur. Travel may be required to attend and/or conduct meetings, conferences and training. This position may require work on nights, weekends or holidays.
The NYISO takes pride in recruiting, developing and retaining highly talented individuals. In addition to competitive salaries, we offer a comprehensive benefits package and innovative reward programs.
The NYISO offers the flexibility to work both in the office and remotely, providing our employees with an enhanced work life balance. While the majority of the responsibilities of this role can be performed remotely, in most cases, employees will have periodic on-site requirements based on business needs.
All offers of employment will be made contingent upon the successful completion of a drug screening and background check.
The NYISO is an Equal Opportunity Employer and as such, does not discriminate in its hiring or employment practices.
#LI-DNI