Firmware EngineerDEPARTMENT: Engineering
REPORTS TO: Associate Director of Engineering
FLSA: Full-Time, Exempt(Salary)
Schedule: Monday-Friday, 8am-5pm (Hybrid)
Note: We do not provide employment-based visa sponsorship or transfers for any position
Position Summary The Firmware Engineer is responsible for developing and maintaining embedded software and device drivers for hardware products. This includes working with real-time operating systems (RTOS), interfacing with hardware components, and collaborating with cross-functional teams to implement new features and support product development.
Essential Duties and Responsibilities- Design, develop, and maintain embedded software and device drivers using C/C++.
- Implement and support communication protocols (I2C, SPI, UART, USB, Bluetooth).
- Develop software for displays, sensors, and control systems (e.g., PID controllers).
- Utilize RTOS environments and state machines for real-time applications.
- Interpret schematics and datasheets to support low-level software development.
- Use test equipment (oscilloscopes, multimeters, logic analyzers) for debugging and validation.
- Collaborate with hardware and software teams to integrate and test new features.
- Document software designs using modeling tools (e.g., flowcharts, sequence diagrams).
- Apply software testing methods, including static code analysis and environmental testing.
Qualifications- Bachelor's degree in Electrical Engineering, Computer Science, or a related field required.
- Minimum of 3 years of experience as an Embedded Engineer or in a similar role required.
- Proficiency in embedded C/C++ development required.
- Experience with RTOS and embedded systems design required.
- Strong understanding of hardware/software integration required.
- Experience with USB, Bluetooth stacks, and automotive protocols (e.g., OBD II) preferred.
- Familiarity with Agile development, SVN, JIRA, and UML preferred.
- Knowledge of cellular communication protocols, including GSM, LTE, CDMA, and RS485, preferred.
- Knowledge of Renesas, MSP430, and/or Nordic platforms preferred.
- Experience using JIRA for project tracking, issue management, and workflow optimization preferred.
- Exposure to Python, Java, C#, and database systems preferred.
- Ability to read schematics and analyze analog and digital signals preferred.
- Strong communication and organizational skills preferred.
Physical Demands & Work EnvironmentThe physical demands and work environment described below are representative of those an employee may encounter while performing the essential functions of this position. Reasonable accommodations may be made to enable qualified individuals with disabilities to perform the essential functions.
- Regularly required to communicate verbally and hear.
- Frequently required to use hands and fingers to handle or feel objects, tools, or controls.
- Occasionally required to stand, walk, sit, reach with hands and arms, climb or balance, and stoop, kneel, crouch, or crawl.
- Occasionally required to lift and/or move up to 25 pounds.
- Requires close vision, distance vision, color vision, peripheral vision, and the ability to adjust focus.
- The noise level in the work environment is usually moderate.
This job description is not intended to be an exhaustive list of all duties, responsibilities, or qualifications associated with the position. Employees may be required to perform other job-related duties as assigned by an authorized supervisor. The Company may modify duties, responsibilities, and requirements as needed, including providing reasonable accommodations to qualified individuals with disabilities.
This document does not create an employment contract, implied or otherwise, and employment remains at will.