GMS Applications Developer - Grid
Job Description
Job Description
Job Title: GMS Application Developer - Grid
Fully Remote
JOB DESCRIPTION
EMS Application Developer develops design and performs software development for suite of Electric Power Grid Applications. The suite includes Energy Management System (EMS) applications such as Topology Processor, Power Flows, State Estimator, Contingency Analysis, Load Frequency Control, Dispatcher Training Simulator (DTS), ICCP, SCADA, CIM Importer, Interfaces and Dynamic Stability Analysis, Load & IRR Forecasting, PMU, Network Model Management system (NMMS) applications. Adhere to software development life cycle (SDLC) processes that includes performing testing and validation of Grid Applications and User Interface changes to deliver quality software to customers. This position will report to the Supervisor/Manager of Grid & Market Solutions (GMS) Technology Development – Grid team.
JOB DUTIES
- Broadly applies principles, theories and concepts related to the profession. A seasoned, experienced professional with an in-depth/full understanding of area of specialization.
- May provide recommendations regarding issues outside the bounds of defined procedures and practices. Demonstrates good judgment in selecting methods and techniques for obtaining solutions.
- Wide latitude for decisions within assignments, programs, and projects; impact is generally limited to the project or department.
ADDITIONAL JOB DUTIES
Level 3
- Works under the direction of a senior developer or supervisor/manager to complete departmental goals and assignments.
- Performs all work according to applicable rules and regulations including regulatory requirements and organization policies and procedures.
- Good Knowledge on core electric power systems operations and control functions like power flow studies, state estimation, contingency analysis, economic dispatch, Unit Commitment, and electric power market operations.
- Works with internal stake holders closely, review and understand grid applications functional and non-functional requirements.
- Develops design, performs software development (using Fortran, C/C++, Java, Perl, Python etc. programming languages) and testing for suite of grid applications and its interfaces in windows and Linux environments.
- Designs, develops, and tests grid applications backend oracle database changes using Oracle PL/SQL programming language.
- Performs grid applications user interfaces display development using GE EMS FGbuilder and Siemens WebSDK platform.
- Performs GE EMS applications software code migration to port all customs from current EMS system to upgrade EMS system as part EMS Upgrade project.
- Participates in requirements and design review discussions with grid systems vendors (GE, Powertech, Siemens, EPG, Itron).
- Adheres to software development life cycle (SDLC) standards for all the software changes within portfolio.
- Understands and follows grid applications software release process and best practices to deliver software changes to customers seamlessly. Adheres to change management processes during software release delivery.
- Participates in interdepartmental meetings and present software design and implementation details.
- Good Knowledge on Linear and Non-Linear Optimization techniques and understand grid applications (SCOPF, SCUC etc.) optimization objective functions formulation.
- Analyzes electric power grid operations and congestion management related requirements and designs, develops software solutions in core EMS applications like Power Flows, State Estimator, Contingency Analysis, Load Frequency Control, Load Forecast, Dispatcher Training Simulator (DTS) and in developed custom EMS applications to meet the requirements.
- Works closely with Network Modeling team on CIM Model data modeling, designs CIM Importer Schema and performs EMS CIM Importer software development.
- Analyzes, troubleshoots, identifies root cause of Voltage and Transient Stability Analysis (VSAT/TSAT) applications issues, and works with Powertech to develop and deliver software solutions to resolve the issues.
- Designs and implements IRR (Wind/Solar) forecast requirements in Siemens WebSDK based forecast presentation platform.
- Deploys, configures, integrates, and tests software releases from grid systems vendors in development environments and delivers quality software releases to customers. Vendor software includes GE EMS, Siemens Network Model Management System (NMMS), Powertech DSA/VSAT/TSAT, EPG PMU/RTDMS, iTron MetrixIDR.
- Provide timely software solutions to address grid applications critical production issues on 24x7 basis as level 2 support team.
- Works closely with GMS production support teams, Grid Operations & Training teams, Network Modeling team and provides technical support on EMS, DTS and NMMS applications.
- Automates software development processes using Continuous Integration and Continuous Delivery (CI/CD) tools such as Bitbucket, Apache Maven/Jenkins etc.
- Creates and gives presentations for training on GMS grid applications enhancements.
- Assists in developing tools, processes and procedures that improves grid applications software development and departmental/organizational efficiencies.
- Designs and develops integration and data flows between EMS applications and downstream systems such as VSAT/TSAT, Market Management System (MMS), market reports, settlements, Itron Load Forecasting, IRR forecast interfaces and control room situational awareness applications.
- Analyze, troubleshoot, identify root cause of all grid applications, database, and system issues, and develop software solutions.
- Maintains and supports grid systems in development environments.
Senior Level - In addition to above Level 3 job duties
Works with vendors on grid applications and its interfaces improvements and proposes design changes.
- Performs code reviews and approve code changes developed by other developers.
- Automates grid applications and user interfaces unit and regression testing as much as possible by developing scripts and using third party automation tools such as Selenium.
- Conducts all phases of product software development lifecycle, including the analysis, design, test, and integration of products.
- Creates and gives presentations for product solutions and training on GMS grid applications.
All Levels -- Preferred Work Experience
- Experience with one of the vendors (Hitachi Energy/ABB, GE, Siemens, Resource Innovations/Nexant, OSI Inc) Energy or Market Management Systems and applications preferred.
- Power industry experience in grid and market arena preferably with software vendors or ISO/utilities.
- Experience with programming languages such as FORTRAN, C, C++, Java, Perl and Python.
- Experience with Oracle PL/SQL
- Experience with Commercial Optimization Solvers: CPLEX/AMPL, Gurobi
- Experience with CIM/XML model-based tools.
- Experience with developing integration layers using Messaging Services: Tibco JMS, AMQ
SKILL REQUIREMENTS (All levels)
- Programming Languages/Packages/Scripting: C, C++, VisualC++, FORTRAN, Java, Perl, Python, PL/SQL, Shell Scripting
- Web Application Servers: JBOSS, Tomcat
- Message Queues: Tibco JMS, AMQ
- Web Based Development – J2EE, Servlets, SOAP, Java Script, HTML/CSS, XML
- Database: Oracle, SQLSERVER
- Source Code Control Tools: Git, GitHub
- Optimization Solvers: CPLEX/AMPL, Gurobi
- Operating System: Windows, Linux, AIX
REQUIRED EXPERIENCE
- Level 3: Requires minimum 3 years related work experience in excess of degree requirements
- Senior: Requires minimum 5 years related work experience in excess of degree requirements
EDUCATION
- Bachelor's Degree: Electrical Engineering, Computer Engineering, Computer Science or related field (Required)
- Master's Degree: Electrical Engineering, Computer Engineering, Computer Science or related field (Preferred)
- or a combination of education and experience that provides equivalent knowledge to a major in such fields is required