Job Description:
Job Title: Senior Firmware Developer
URGENT HIRE! Start Monday or ASAP!
Location: San Francisco, CA
Type: 6 mo contract to hire
Hybrid Schedule (In office Mon, Tue, Thurs and work from home Wed & Fri)
Start immediately!
Compensation: $50- $60/ hr ( $160K + 30% and stock options upon conversion to FTE)
Our client is in need of an experienced Senior Firmware Developer to support the development of its
energy storage technology platform. As the successful candidate, you will be part of a cross
functional development team and will be responsible for embedded firmware design and
implementation. You will also participate in promoting best practices in all aspects of firmware
development including firmware quality, agile processes, requirements management etc.
Responsibilities:
- As firmware developer, you will be part of a development team as an individual
- contributor.
- Collaborate with hardware engineers, system architects, and project managers.
- Design firmware for embedded systems using a variety of processors.
- Develop a firmware architecture that focuses on testability, scalability, readability, and maintainability.
- Debug and improve existing product firmware.
- Participate in code reviews and design reviews.
- Expand our test coverage with unit tests and automation test cases
- Work in an agile development environment with a CICD methodology for regular product releases and test cycles.
- Create documentation for end users for internal and external customers.
Qualifications and Experience
Must Meet
- Minimum bachelors degree in electrical engineering, computer science or comparable.
- 5+ years experience developing embedded systems across multiple processor families.
- Developing in C/C++ for real-time applications across multiple platforms, experience with bare metal, BSP and RTOS
- Good working knowledge of device driver development, communication interfaces - RS232, I2C, SPI, USB, CAN
- Working knowledge of MODBUS and CAN protocols (e.g., CAN Open, SAEJ1939).
- Ability to debug on-target using a JTAG/SWD interface and Debugger
- Debug software/firmware using emulators, analyzers, simulators, and similar tools.
- Understanding of RTOS and expertise in designing event driven real-time system firmware.
- Capable of using development tools in Windows and Linux operating systems.
- Extensive experience in development of applications using C and Python languages.
- Knowledge of software configuration, revision control, and release management.
- Familiarity with board bring up and verification.
Nice to have
- Experience with Firmware Update Concepts and bootloader development
- Experience developing firmware for digital control power conversion technology such as UPS, Solar inverters, motor controllers, AC/DC converters offers a strong advantage.
- Familiarity with TI DSP and real time digital control
- Experience with Model based design in embedded systems.
- Experience with various wireless & IOT communications protocols including mesh protocols is a strong advantage.
- Working knowledge of controls theory
Benefits
- Company Holidays: 12 Public Holidays
- 401(k)
- Life Insurance and AD&D