We are seeking a talented and experienced Senior C++/Embedded Engineer to join our team. As a key member of our engineering team, you will play a critical role in designing, developing, and optimizing embedded software solutions for our cutting-edge products. If you're passionate about pushing the boundaries of technology and thrive in a collaborative environment, we want to hear from you!
$120K-135K plus Bonus
Full Time
**Remote- on site once in a while such as once a month so must be located in the Northeast
Experience with microcontrollers, embedded programming, Embedded C & Linux required
Responsibilities:
- Design, develop, and maintain embedded software solutions using C++ for our products.
- Collaborate with cross-functional teams to define requirements, architecture, and specifications for embedded systems.
- Implement and optimize algorithms, data structures, and software components to meet performance and memory constraints.
- Participate in code reviews, debugging, and troubleshooting to ensure high-quality software delivery.
- Develop and maintain unit tests, integration tests, and automated test frameworks for embedded software.
- Work closely with hardware engineers to integrate software with hardware components and peripherals.
- Stay up-to-date with industry trends, best practices, and emerging technologies in embedded systems and C++ development.
- Mentor junior engineers and contribute to a culture of continuous learning and improvement.
Required Education and Experience
- Minimum of a Bachelor s degree in Computer Science (knowledge and experience in Electrical Engineering and embedded systems preferred)
- 7+ years of professional software development using C/C++.
- Experience with software debuggers and emulators, compilers, linkers, and build environment.
- Experience reading electrical schematics and hardware troubleshooting.
- Experience developing software for hardware based control solutions.
- Knowledge of and experience using Lab equipment (oscilloscopes, meters, logic analyzers etc.)
- Experience using formal Software behavior specification approaches such as UML, OO, State Machines, Data Flow Diagrams, and Flow-Charts.
- Experience with Software Quality Control, issues tracking, gate reviews, and review checklists.
- Formal Software Test Methods, tools, and procedures.
- Development of software under IEC, ISO, UL, DO-178C, or other formal software Quality Management Systems and Software life cycle processes.
- Excellent communication and collaboration skills and an ability to interface with business stakeholders and other engineers.
- Ability to prioritize, meet deadlines, and to work well under pressure.
- Must enjoy working in a fast-paced teamwork environment with shifting priorities.
- Proficient written and oral communication skills that provide effective interaction with all levels of the business organization.
- Experience working with tools like Git and Jenkins a plus.
- Experience working in an Agile/Scrum environment using tools like Atlassian JIRA/Confluence a plus.