Principal Software Engineer at Doble Engineering – Marlborough, Massachusetts
Listed on 2025-12-22
-
Software Development
Software Engineer, Embedded Software Engineer, DevOps, C++ Developer
- Principal Software Engineer at Doble Engineering Company – Marlborough, Massachusetts, United States
JOB SUMMARY
We are seeking a Principal Software Engineer for Embedded Application Development who will be responsible for providing leadership in the development of cutting-edge test and monitoring products used in the power industry. This position requires the application of technical expertise to lead the team in the development of new products and features for our instruments. The technical leader will be required to work with minimal direction and will be given considerable latitude in determining the technical objectives of assignments with the cooperation of development managers.
This role will be based in our Marlborough, MA office reporting to the Firmware Development Manager.
ESSENTIAL JOB FUNCTIONS
- Design, develop, test and document software components and applications
- Focus on embedded real-time, multi-processor systems but comfortable with design of PC based applications
- Work with engineering project teams to provide architectural leadership
- Lead technical requirements gathering, estimating, and planning efforts
- Leverage internal component reusability and open source solutions to improve time to market
- Develop products to promote the ease of implementing automated test suites
- Familiar with message bus technologies and implementations
- Develop clear development metrics for testing status and progress monitoring dashboards
- Develop a skill set to be a key person to technically triage customer issues, as needed interface to the customer
- Mentorship of junior engineers and on-going professional development activities
- Interface with mechanical, electrical, systems, and test engineers
- Identify and implement process and development environment improvements
- Responsible for working with development and project managers to assist in technical decision making
- Work with other product teams on solutions
- Travel requirement: less than 5%
QUALIFICATIONS
EDUCATION:
- Bachelor’s Degree in Electrical Engineering, Computer Engineering or Computer Science or equivalent.
REQUIRED EXPERIENCE:
- 15+ years of work experience in firmware and software development on embedded devices
- 5+ years of work experience in a technical leadership role
- Expertise in multi-threaded and multi-core application development with C++11 or higher version
- Solid understanding and experience in object-oriented analysis, design and implementation
- Familiarity and experience working with Linux based application development, Device drivers, Makefiles, build system and scripting languages such as python and bash
- Basic understanding of networking, TCP/UDP/IP, DHCP, Ethernet frames, IP packets, VLANS and COS
- Working experience with DMA engine, I2C, SPI, network switches, and designing hardware and software interfaces
- Experience managing code management systems such as Bitbucket
- Team communication and collaboration experience (Such as a wiki)
- Experience working with hardware teams to isolate failure causes
- Proven track record of proactively working with the development and QA stakeholders
- Strong technical capabilities of a developer combined with a passion for assuring product quality
- Project management skills, including planning, estimation and requirements management
PREFERRED EXPERIENCE (Not Required):
- Experience working in an agile engineering environment
- Experience Windows applications with C#
- Experience working with Atlassian Jira, Confluence
- Knowledge of network equipment including protectors, relays, transformers and power cables
- Knowledge of IEC 61850 communication protocols
- Strong communication skills that interweave presentation skills with the problem-solving process
- Strong interpersonal skill set
- Strong computer skills including network load flow software
- Well-developed technical writing skills
KNOWLEDGE, SKILLS & ABILITIES:
- Expert knowledge of scripting and programming languages including C/C++ and Perl/Python
- Expert knowledge of embedded multiprocessor systems, software/hardware test and validation, bug life cycle management, software development methodologies (waterfall and…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).