Nyiso

Senior Software Engineer

Rensselaer, New York, United States Full Time

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.

NYISO in Rensselaer, NY seeks a Senior Software Engineer responsible for the design, development, and maintenance of software products. This position performs full stack development, including front end, back end, and database work where appropriate. The Senior Software Engineer will participate in all phases of the Software Development Lifecycle, research new technologies, mentor other developers, collaborate with Project Managers and act as a Subject Matter Expert for their assigned application(s). A Senior Software Engineer will participate in a 24x7x365 on-call support rotation for production applications.

Specifically, the Senior Software Engineer will perform the following duties:

  • Apply technical knowledge and experience in order to solve architecture and design problems.
  • 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.
  • Assist with evaluation of new technology and tools. Incorporate approved technology and tools to enhance the product development process.
  • Present technology design and related issues to technical and non-technical audiences.
  • Document product architecture plans.
  • Design and develop technical testing methods to meet target scalability and performance objectives. Perform any needed tuning of applications that do not meet those requirements.
  • Lead projects with assistance from Supervisor and have high visibility with other staff.
  • Mentor and coach Associate Developers and Developers.
  • Serve as subject matter expert across the organization for the application(s) supported.
  • Provide software subject matter expertise and support for all phases of the NYISO software development lifecycle; including requirements, design, development, testing, deployment and post-production support.
  • Interact with project managers in all phases of project lifecycle. Provide task estimates and work breakdown structures. Provide advice on feasibility and project status.
  • Manage resource allocations for the developers on the project team and track their progress.
  • Perform software development activities in support of the NYISO mission and business objectives. Create and/or refactor software programs as defined in approved specifications and designs.
  • Create automated unit and functional tests to ensure software changes are reasonably free from defects.
  • Provide post-production application support as required. Support responsibilities may include consultation, problem identification, data analysis and/or emergency repairs. Resolve customer complaints with products and respond to suggestions for improvement and enhancements. Requirements for support of mission-critical systems could entail 24x7x365 coverage.
  • 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.
  • Responsible to ensure that project team follows guidelines for source code management, collaborate with Release and Control team during code deployments.
  • Take ownership of application code, assist with 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.
  • Assist with instrumentation and tuning of existing database tables and queries.
  • Collaborate with Supervisor, Quality Assurance teams, other IT teams as needed and Project Managers to manage changes to supported applications.
  • Assist with data profiling to ensure that application performance targets and database capacity needs will be able to be met in the future.

 

Bachelor’s degree in Computer science or information systems or related field. The successful candidate must have two years of experience as a software developer. Experience working with the following software/tools is required:

  • Eclipse SVN
  • Java, JavaScript
  • Jenkins, JBoss
  • Oracle SQL Developer
  • Junit


#LI-DNI

Salary Range
$78,000$147,000 USD