The working level software engineer (programmer) will be responsible for embedded c development in a STM32 (ARM Cortex M0,3,4,7) environment utilizing the GCC ARM-NONE-EABI toolchain. The primary project will include the development of a data acquisition device collecting measurements and uploading them to a web based server. The successful candidate will also contribute to other software design tasks to include web, automated test equipment, and analytics engine design.
This position will require highly talented and focused individual, able to integrate in a team environment, and contribute in a collaborative design process. The position may include the opportunity to mentor junior engineers.
Duties and Responsibilities
- Embedded C programing with ST STM32 series ARM micro controllers. Knowledge of the STM32 HAL and firmware drivers is valued.
- Working a Linux (Ubuntu derivatives) development environment.
- Integrating wireless communication protocols.
- Disposition, prioritize and fix reported bugs.
- Develop automated test environments for hardware and software products.
- In system programming for remote flashing.
Project Management / Documentation:
- Maintain project tracking and reporting through Redmine.
- Revision control through subversion.
- Doxygen commenting structure.
Secondary Responsibilities (3-5yrs Experience):
- Customer presentations / training.
- Documentation (design decisions, training material).
- Degree in Computer Science or Engineering (Electrical, Software).
- 5-10 yrs experience in embedded software programming.
- LabView software design environment.
- Web development in PHP.
- Electrical design (schematics, printed circuit board layout).
- System architecture / design.