Job Title:
==============
Power Systems Software Engineer Student Employee
Location:
=============
Remote/Home Based
Job Summary and Description:
================================
This is an exciting internship opportunity for a motivated student to play a meaningful role in modernizing critical power systems R\&D software. You will contribute to the transition of our existing monolithic applications \- centered around the Grid Analysis Toolkit (GAT) and Automation of Outage Coordination (AOC) \- into a modern microservices architecture combined with a multi\-agent AI platform .
You will help design, develop, and test new services and intelligent agents that will make power system analysis faster, more reproducible, scalable, and intelligent. This is a hands\-on role where you will work directly with experienced power systems engineers on real research software that supports grid modernization.
Duties \& Responsibilities
- Design and develop microservices (primarily in Python/FastAPI) for key capabilities such as data ingestion, topology processing, power flow, contingency analysis, and outage coordination.
- Implement and integrate AI agent workflows (using frameworks like LangGraph) that orchestrate complex research tasks and interact with the new microservices.
- Wrap and modernize existing GAT library functions (topology processing, power flow, contingency analysis, model processing, time\-series ingestion) into scalable services.
- Build supporting infrastructure components (Docker containers, CI/CD pipelines, observability) on Microsoft Azure .
- Ensure high reproducibility of results using tools such as MLflow and containerization.
- Document technical designs, methodologies, and results; contribute to internal reports and presentations.
- Participate in code reviews, architecture discussions, and agile\-style team collaboration.
- Support the gradual migration from the current monolith to the new architecture using incremental approaches.
- Currently completed a Master’s degree or pursuing PhD in Electrical Engineering , Computer Engineering , Computer Science , or a related field.
- Strong proficiency in Python .
- Solid understanding of power system fundamentals (power flow, contingency analysis, grid modeling, etc.).
- Experience (academic or personal projects) developing software applications.
- Interest in modern software architecture, cloud computing, and AI.
- Experience with power systems analysis tools or libraries (GAT, PyPSA, MATPOWER, or similar).
- Familiarity with any of the following: FastAPI, Docker, Kubernetes (AKS), Azure cloud services, PostgreSQL, GitHub Actions, or MLflow.
- Exposure to microservices architecture, REST APIs, or event\-driven systems.
- Experience or strong interest in building AI agents / LLM\-based workflows.
- Knowledge of HTML5 / basic front\-end development (a plus for building simple interfaces).
- Master’s student in Electrical/Computer Engineering with a focus on power systems software or software engineering for energy systems.
- Passionate about both power systems engineering and modern software practices.
- Strong analytical, problem\-solving, technical writing, and presentation skills.
- Self\-motivated, able to work independently in a remote setting while collaborating effectively.
- Hands\-on experience with cutting\-edge software architecture (microservices \+ multi\-agent systems) in a real power systems R\&D environment.
- Deep exposure to Azure cloud technologies and DevOps practices.
- Opportunity to work with production\-grade GAT and AOC tools that support grid reliability research.
- Mentorship from experienced power systems and software engineers.
- Valuable portfolio pieces (code, documentation, presentations) for your future career in energy tech or software engineering.
- Potential for continued part\-time or full\-time collaboration after the internship.
- Undergraduate: $16\-29 per hour
- Masters: $27\-33 per hour
- Ph.D: $31\-36 per hour
Qualifications
Required:
Preferred / Strong Plus:
Ideal Candidate:
What You Will Gain:
Application Instructions
Please submit your resume, a brief cover letter (or statement of interest), and any relevant projects or GitHub repositories. In your application, please highlight any experience with Python, power system modeling, or modern software development.
The hourly rate range for Student positions are:
These ranges are an estimate, and the actual hourly rate may vary based on various factors, including without limitation applicant's education, experience, skills, and abilities, as well as internal equity and alignment with market data. The hourly rate may also be adjusted based on applicant's geographic location.
As an EPRI Student, you will not participate in EPRI’s Benefit Programs which includes health insurance, retirement benefits, vacation, sick leave (except as set required by law) and holiday pay. However, as a Student employee you are eligible for the benefits of Social Security, State Disability Insurance, and Workers’ Compensation Insurance.
For Student positions which require one to relocate to an EPRI office. Relocation assistance is not provided and the student will be responsible for covering all relocation costs/expenses.
EPRI participates in E\-Verify, an online system operated jointly by the Department of Homeland Security and the Social Security Administration (SSA). EPRI uses the system to check the work status of new hires by comparing information from the employee's I\-9 form against SSA and Department of Homeland Security databases.
EPRI is an equal opportunity employer. EEO/AA/M/F/VETS/Disabled
Together . . . Shaping the Future of Energy.
www.epri.com