Senior Software Developer (C++)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+29 more
Job description
This senior software development position plays an integral role in the design, implementation, testing, and maintenance of EPG’s real-time analytics platforms. This is a dynamic role with exposure to engineering teams, software architects, QA teams, and electrical utility customers. The individual will be responsible for:
· Software Development & Architecture:
o Design, develop, enhance, and maintain high-performance C++ Windows Server applications for real-time power system monitoring and analytics.
o Implement scalable, reliable, and maintainable software solutions for processing streaming and historical data.
o Participate in software architecture discussions and contribute to technical design decisions.
o Optimize application performance, memory usage, and computational efficiency for real-time environments.
o Develop modular and reusable software components following established coding standards and best practices.
· System Integration & Data Processing:
o Develop interfaces and services for integrating real-time telemetry, PMU streams, operational databases, and external utility systems.
o Support distributed and multi-threaded application environments.
o Troubleshoot and resolve integration and data processing issues across software components.
· Collaboration & Technical Leadership:
o Work closely with power systems engineers, QA teams, and customers to ensure successful implementation of requirements.
o Participate in code reviews and provide mentorship and technical guidance to junior developers.
o Collaborate with stakeholders to clarify requirements, estimate development effort, and prioritize deliverables.
o Communicate technical concepts clearly to both technical and non-technical audiences.
· Software Quality & DevOps:
o Participate in Agile development activities including sprint planning, backlog grooming, and technical reviews.
o Contribute to CI/CD workflows, version control processes, and development best practices.
o Support software release activities, regression testing, and issue remediation.
o Develop and maintain unit tests, integration tests, and debugging tools.
· Documentation & Support:
o Maintain technical documentation including software design specifications, workflows, and troubleshooting guides.
o Support customer deployments, issue investigations, and software maintenance activities as needed.
Requirements
Do you have experience in Software engineering?, Do you have a Bachelor’s degree?, * 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 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.
Minimum 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 development of lifecycle processes.
· Onsite position based in Pasadena, California (remote candidates will not be considered for this position).
Nice to Haves:
· Experience with gRPC and Protobuf.
· Experience with C++ POCO Libraries.
· Experience with SQL Server database management.
· Experience with C# and .NET development.
· Experience using Git version control (or similar tool).
· Experience using Azure DevOps for Agile project management (or similar tool).
· 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.
Benefits & conditions
Pulled from the full job description
- 401(k)
- Health insurance
- 401(k) matching
- Paid time off
- Flexible spending account
- Life insurance
- Profit sharing, Market competitive. EPG is an Equal Opportunity Employer. EPG offers competitive compensation and provides the following benefits to full-time employees: Health Insurance Plans, 401(k) including Profit Sharing Match contribution, Life Insurance, Paid Time Off, Visa Sponsorship, and Performance Bonus., * 401(k)
- 401(k) matching
- Flexible spending account
- Health insurance
- Life insurance
- Paid time off
About the company
Electric Power Group (EPG), headquartered in Pasadena, California, is the industry leader in Synchrophasor technology for real-time grid monitoring and analytics software. Our software solutions help electric utilities and grid operators prevent blackouts and keep power systems stable and reliable. With customers across the U.S., Europe, the Middle East, India, Latin America, and Asia Pacific regions, our solutions are trusted by some of the world’s most critical grid operators.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on indeed.comGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Where To Find Software Engineering Jobs
7 Important Tips That Every Software Developer Should Know
Where to Find Entry-Level Software Engineering Jobs
Is Software Engineering Over-Saturated?