Senior Software Developer (C++)
Job Description
Electric Power Group, based in Pasadena, is seeking a Senior Software Developer to help design and build high-performance real-time analytics for power-grid monitoring. The role centers on C++ development for Windows Server, with a focus on efficient data processing and robust architecture to support streaming and historical data workloads. This onsite position involves close collaboration with power systems engineers, QA teams, and customers to deliver reliable, scalable software.
Responsibilities
- Design, develop, enhance, and maintain high-performance C++ Windows Server applications for real-time power system monitoring and analytics.
- Implement scalable, reliable, and maintainable software solutions for processing streaming and historical data.
- Participate in software architecture discussions and contribute to technical design decisions.
- Optimize application performance, memory usage, and computational efficiency for real-time environments.
- Develop modular and reusable software components following established coding standards and best practices.
- Develop interfaces and services for integrating real-time telemetry, PMU streams, operational databases, and external utility systems.
- Support distributed and multi-threaded application environments.
- Troubleshoot and resolve integration and data processing issues across software components.
- Work closely with power systems engineers, QA teams, and customers to ensure successful implementation of requirements.
- Participate in code reviews and provide mentorship and technical guidance to junior developers.
- Collaborate with stakeholders to clarify requirements, estimate development effort, and prioritize deliverables.
- Communicate technical concepts clearly to both technical and non-technical audiences.
- Participate in Agile development activities including sprint planning, backlog grooming, and technical reviews.
- Contribute to CI/CD workflows, version control processes, and development best practices.
- Support software release activities, regression testing, and issue remediation.
- Develop and maintain unit tests, integration tests, and debugging tools.
- Maintain technical documentation including software design specifications, workflows, and troubleshooting guides.
- Support customer deployments, issue investigations, and software maintenance activities as needed.
Requirements
- Bachelor’s degree in computer science, software engineering, computer engineering, or a related technical field.
- 5 years of professional software development experience with C++.
- Experience developing production-grade software applications.
- Strong understanding of software engineering principles and lifecycle processes.
- Onsite position based in Pasadena, California (remote candidates will not be considered).
Technologies
- C++
- Windows Server
- Qt
- gRPC/Protobuf
- POCO Libraries
- SQL Server
- C#, .NET
- Git
- Azure DevOps
Benefits
- Health insurance
- 401(k) including Profit Sharing Match
- Life insurance
- Paid time off
- Flexible spending account
- Visa sponsorship
- Performance bonus
The Company
Electric Power Group (EPG) is headquartered in Pasadena, California, and leads the field in Synchrophasor technology for real-time grid monitoring and analytics software. Our products help electric utilities and grid operators prevent blackouts and maintain stable, reliable power systems. We serve customers across the United States, Europe, the Middle East, and regions including India, Latin America, and the Asia Pacific area.
Current Opportunity
EPG is hiring for a full-time Senior Software Developer to design and develop high-performance applications for real-time power grid monitoring and analytics. The selected candidate will contribute to mission-critical systems that process large volumes of real-time and historical data to support advanced grid operations and situational awareness.
NICE TO HAVES
- Experience with Qt
- Experience with gRPC/Protobuf and other microservice stacks
- Experience with C++ POCO Libraries
- Experience with SQL Server database management
- Experience with C# and .NET development
- Experience using Git version control
- Experience using Azure DevOps for Agile project management
- Experience with real-time or distributed systems
- Experience with networking, communication protocols, or streaming data systems
- Background in power systems, industrial systems, or utility applications
- Experience supporting customer-facing software solutions
Key Skills
- Strong proficiency in modern C++ development (prefer C++20 and up)
- Strong analytical and problem-solving abilities
- Experience developing multi-threaded and high-performance applications
- Understanding of software architecture, object-oriented design, and design patterns
- Experience debugging complex software systems in production or near-production environments
- Ability to write clean, maintainable, and well-documented code
- Ability to work effectively in cross-functional technical teams
- Good interpersonal communication and collaboration skills
- Attention to detail and ability to manage multiple tasks simultaneously
- Familiarity with Agile software development methodologies
- Familiarity with CI/CD concepts and automated testing pipelines