We are currently looking for a Senior Princpal Engineer - Embedded Systems. In this role, your responsibilities will include research and proof of concept development around emerging technologies and components, thus growing as a subject matter expert. You will be responsible for researching and implementing industry best-practices for firmware development processes, creating and tracking KPIs, and providing technical and project oversight for key embedded systems projects. Further responsibilities include analyze product requirements for implementation feasibility, develop software architecture and code the same, and mentor junior engineers.
Responsibilities
Design embedded system firmware using SDLC (software design life cycle) principles and advocate for design decisions that are in the best interest of the company and product success.
Write firmware using Object-oriented programming techniques in C and C++ by developing new code, using existing company libraries, and integrating third-party code.
Develop GUI (Graphical User interface) software for embedded systems.
Coach and mentor less experienced engineers and technicians.
Designing with RTOS, including, but not limited to, FreeRTOS (preferred), eLinux, µc-OS.
Develop and document communication interfaces to Zigbee and Wifi modules.
Maintain embedded software, including adding features and fixing bugs, in existing products.
Contribute to and document firmware architecture in a collaborative environment.
Create and maintain CI/CD pipelines for automated builds, static analysis, and unit test frameworks.
Expand existing and write new unit tests.
Design, perform, and document product verification tests.
Contribute to formal code reviews and pull requests.
Develop communication drivers for TCP/IP, RS485 Modbus, SPI etc.
Investigate and resolve issues that come out of the Product Approval group.
Collaborate with QA resources to produce robust and stable firmware releases.
Perform feasibility studies for new products and recommend solutions.
Follow technology trends for new developments in technologies used in our products.
Qualifications
The position requires a Bachelor’s degree in computer science, computer engineering, electrical engineering or a related field. In addition this role requires eight (8) years at minimum of progressive experience working with product development.
As part of the eight (8) years of progressive experience working with product development, the individual must have:
Six years of strong hands-on coding experience using C/C++ languages in an embedded development environment.
Six years of experience in embedded software design and architecture
Six years of experience mentoring a team of 3 or more firmware engineers.
Five years of experience using Git (Bitbucket), Jira and Confluence
Three years of experience using: FreeRTOS, Embedded Linux, MODBUS, SPI, I2C, UART and MQTT
Two years of experience using embedded graphic libraries
Three years of project management experience
Three years of quality assurance practices and processes
Two years of experience using python and/or bash scripting
Two years of experience working on IoT product development
Two years of experience working with geographically isolated and multi-disciplinary teams
One year experience with docker technology and setting up CI-CD pipelines
One year experience in HVAC related product development.
LinkedIn Tag
None
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job
How strong is your resume?
Upload your resume and get feedback from our expert to help land this job