Job Summary of the Principal Embedded Software Engineer:
Principal Software Engineer with firmware/software development, along with leadership, experience is needed to play a key role in the research, design and development of test instrumentation for the electric power generation, transmission and distribution industry for one of best clients in MA. This is a stable, rapidly growing company with a well known brand for the electric power industry. In this role you will be responsible for evaluating architectural choices based on product requirements and ensuring that the architecture works across hardware, firmware and software components. The position doesn't have direct reports, but they are a technical leader who needs to take the initiative to bring teams together.
The ideal candidate would be someone with a strong combination of software, communication, and leadership skills.
Responsibilities of the Principal Embedded Software Engineer:
- Help evaluating in new technologies and leverage those into product architectures for the implementation of product functions.
- Innovate new product features based on your ability to realize product from technical possibilities.
- Design, develop, test and document firmware components and applications.
- Design, Develop and Test embedded real-time, multi-processor systems.
- Provide architectural technical leadership and 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
- Develop clear metrics for testing status and progress monitoring dashboards.
- As a member of the Engineering team, interface with mechanical, electrical, systems, and test engineers.
- Participate in project team meetings and ensure cross product implementation consistency.
- Identify and implement process and development environment improvements.
- Work with Development and project managers to assist in technical decision making.
Qualifications of the Principal Embedded Software Engineer:
- Bachelors degree in Electrical or Computer Engineering
- 15+ years of experience in firmware and software development
- Ability to quickly prototype new concepts and ideas
- Must have strong technical leadership skills (5+ years) – someone who is hands-on but is also able to step back and take a look at the big picture. You won’t have direct reports, but will be a leader who will need to take initiative and bring teams together.
- Must be able to write embedded code – C++, Linux, embedded space is required.
- Must have excellent communication skills and confidence – this person will communicate with every department in the company, and needs to understand the connection between hardware, software & firmware.
- Knowledge of hardware and FPGA is a strong plus (must have some knowledge in the hardware space).
- Must have experience being the architect of a large product (not just working on a piece of it)
- Strong preference for candidates who have experience bringing product into production and being someone to think about manufacturing, cost, etc.
- Excellent communication skills, as this person will touch every department in the company, needs to understand the connection between hardware, software & firmware
- Project management skills, including planning, estimation and requirements management
- Experience working with Matlab, Linux, and scripting languages is a plus
- Also a plus if you have experience in one or more scripting languages such as TCL, Python and Perl
Compensation of the Principal Embedded Software Engineer:
Salary Range: $150,000-160,000/year, depending on experience
Location: Marlborough, MA
Travel: As and when required.Less than 5%
Relocation Assistance: Subject to Review.
Visa Sponsorship: No
Knowledge of the following areas may be helpful:- C++, Principal, Systems, research, design, development, test, instrumentation, requirements, hardware, firmware, software, architecture, leadership, Design, develop, test, components, application,real-time, multi-processor systems, prototype, Matlab, Linux, Scripting, application, FPGA, DSP FPGA, CPLD, Project management, TCL, Python, pearl, C, C++, C#, NET, PSpice, LTSpice, MATLAB, PSIM, simulink, IEC61010-1, agile, Atlassian Jira, Confluence, Bitbucket, protectors, relays, transformers, cable, Linux, Windows,multiprocessor, validation, test, bug life cycle management, waterfall