The Senior Firmware Engineer will lead all phases of software development targeting embedded systems, including design, coding, integration, and debugging of major portions of software projects for our client.
They are not focused on constricting rules and wasteful processes; therefore, you will bring demonstrated experience to imaginatively address assignments of all complexity levels. We value the ability to collaborate, learn and provide the freedom necessary for each person to do their work, with the expectation that we will get high performance in return.
The candidate will demonstrate self-motivation and own the execution of project/program tasks, confidently challenge traditional conventions and recommend new effective approaches. Deliverables may require extensive technical analysis and inventive design recommendations for cost effective resolutions. Contributions may lead to new ideas that support the generation of intellectual property. The Firmware Engineer will synchronize across functional groups to ensure all inputs are received and guide technical support staff in testing and analysis.
Join our client as they build a new department focused on revolutionizing the way things are done in our industry. We are performing cutting edge research and developing innovative tools to solve challenging problems.
This role brings you the opportunity to firmly apply your stamp to our products, now and well into the future. Join us in creating amazing, beautiful and functional experiences.
Duties and Responsibilities
To design and develop critical firmware architecture that will be utilized across leading-edge platforms
Design and develop organized, easy to read and modify software source code for embedded systems
Debug software/firmware using emulators, analyzers, simulators, and similar tools
Develop applications using industry standard technologies such as object-oriented design, open source and portable development
Design and develop communication protocols, standard and proprietary for device communications via wireless and wired technologies
Create object libraries, applications, daemons and drivers deployed inside embedded hardware devices
Document software designs and code with specifications and source comments, and create end user documentation
Program in high level and low-level languages as appropriate including C/C++ and assembler.
Demonstrate basic knowledge of cross functional and related technical areas such as Software Quality techniques, software configuration management and release management
Research upcoming projects and present findings to corporate leadership and integrate results into team technical strategy
Prepare, present and lead peer to peer and cross functional design review meetings
Qualifications for the Role
It is desired that the candidate has the following qualifications for the position:
Bachelor' s degree or greater in Engineering
5 years of professional experience directly related experience in embedded systems design and development
Knowledge with C and Makefiles are required, C++ is a plus but not required
Experience working with open source packages
Excellent written and verbal communication skills
Willingness to travel domestically and internationally (less than 20%)
Possess the ability and willingness to roll up sleeves and execute to get the job done