Power Systems Software Engineer Student Employee
EPRIAbout the role
Job Title:
Power Systems Software Engineer Student EmployeeLocation:
Remote/Home BasedJob 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.
Qualifications
Required:
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.
Preferred / Strong Plus:
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).
Ideal Candidate:
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.
What You Will Gain:
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 piece
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s