Embedded Firmware Developer
We are seeking a Level V Specialist assistance(embedded firmware developer) that is skilled in both C and C++ programming languages. The engagement will require a person with embedded firmware development knowledge to continue development on two established codebases to implement additional features and fix existing issues.
· Design, programming and debugging of embedded firmware using C, C++, object-oriented modeling, and standard design patterns and techniques.
· Define test cases and write test automation, which effectively validate designs.
- Setup and maintain build environments and revision control systems
· Ability to analyze and troubleshoot problems, determine root cause, and generate corrective actions.
· Able to work closely with principal investigator to optimize product performance.
· Hardware integration and verification for embedded software for microcontroller systems including ARM, RISC processors and peripherals.
· Ability to work under pressure and manage your time to deliver on deadlines.
· Produce high-quality production software using industry best practices.
· Perform other duties as assigned.
Task and Time Reporting
The project manager measures work performed by the contractor on a task basis. The tasks typically represent 20 to 80 hours of effort with performance being measured at the completion of each of the assigned tasks. Hours will be recorded on a bi-weekly time sheet; progress against planned tasks will be reported weekly.
Computer Protection Program
The contractor shall adhere to all policies and procedures of the ANL Computer Protection Program, must not bypass any procedures established to protect data, applications, hardware, or communications at company, must maintain a work environment that will satisfy audit, privacy, and protection requirements, and must report any findings of inadequacies to the technical contact and the BIS Computer Protection Program Representative.
· Extensive knowledge of C & C++ programming languages
· Extensive knowledge of TCP/IP communication and the OSI Model
· Experience working in revision control systems such as Git
· Experience developing SPI, I2C, UART and ADC’s drivers
· Experience with Power Line Communication (HomePlug GreenPHY or HomePlug AV)
· Experience with STMicroelectronics 32-bit microcontroller integrated circuits such as the STM32 family
· Experience with Espressif ESP32 2.4 GHz Wi-Fi-and-Bluetooth combo chip
· Excellent communication and technical skills.
· Able to work both independently and as a contributing member of a technical team.
· Bachelor’s degree in Computer Engineering, Computer Science or Electrical Engineering
· 8+ years of experience with developing commercial embedded software
· Comfortable working with open source tools/libraries