Skip to content

Contract – Senior Firmware Engineer
Company | quip |
---|
Location | New York, NY, USA |
---|
Salary | $70 – $95 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s, Master’s |
---|
Experience Level | Senior, Expert or higher |
---|
Requirements
- 7+ years of experience in advanced embedded software for consumer electronics
- Bachelor’s (B.S.) or Masters Degree in Computer Science or Computer Engineering
- Strong knowledge and experience with Agile Development Scrum Sprint Cycles
- Proficiency in embedded software design concepts such as state machines, event-driven design, interrupts and timers, common microcontroller peripherals (e.g. SPI, I2C, ADC, DMA)
- Experience working with hardware development kits and being able to setup and debug communication issues (e.g. COM ports, baud rate, etc.)
- Board bring-up and system-level integration experience
- Experience programming in C and Python
- Familiar with electronics testing and debugging while using lab equipment (oscilloscope, power supply, power analyzer, digital analyzer, multimeter)
- Familiarity with embedded DSP/ML technologies (i.e. data collection, cleaning, training, etc.) and porting algorithms written in python to C/C++
- Familiar with the Silabs BG2X family of chips (e.g. BG21, BG22, etc.) and the Silabs API
- Working knowledge of testing and implementing motion sensors (accelerometers, gyroscopes, IMUs)
- Working knowledge of Bluetooth protocol and capabilities (e.g. GATT services and characteristics, OTA updates, etc.)
- Experience with battery operated consumer electronics and working with various battery chemistries (e.g. Alkaline, NiMh, Li-ion)
- Extensive experience with product qualification, testing, and validation
- Experienced with JIRA, Github, version control, regression testing etc.
- Flexibility to travel domestically and internationally when appropriate
- Strong written and verbal communication and presentation skills. Ability to communicate complex technical subjects to a non-technical audience
- Strong project management skills to manage a broad set of tasks and responsibilities
Responsibilities
- Architect and develop embedded firmware using Bare-Metal or Real-Time Operating System (RTOS) ensuring seamless phone application integration
- Collaborate with the Engineering and Product Management teams to define, implement and maintain firmware features, tasks, and schedules.
- Compose and maintain firmware architecture documentation
- Support hardware builds for bring up, optimization and design validation. Write special tests or R&D firmware when needed.
- Troubleshoot problems in-person with teams both foreign and domestic
- Work independently or with QA team members to develop and Maintain QA processes (e.g. regression, traceability) for tools used in embedded firmware development
- Establish and execute test procedures for firmware and subsystems.
- Manage approvals and sign off processes as well as version controls
- Lead development and maintenance of a best-in-class tracking algorithm for tooth brushing coverage using motion (i.e. accelerometer and gyrometer) data as input. Algorithms should be capable of running on an MCU with limited computing resources
- Accurately assess project scope and risks, and ensure stakeholders are updated on progress, risks, and opportunities throughout a project
- Independently track projects to ensure adherence to schedule and the quip process.
- Work cross-functionally with Customer Experience, Design, and Quality teams to resolve quality issues and bugs
- Support redesign initiatives when required for supply chain continuity or cost reduction
Preferred Qualifications
- Experienced with provisioning security credentials on bluetooth devices on a factory line. Has best practices for methods of credential storage and retrieval by a web or phone application.
- Knowledge of consumer electronics regulatory standards and compliance (FCC/IC/UL/IEC)
- Experienced with maintaining and designing manufacturing hardware fixtures (e.g. PLC, RS-232, etc.) and related software (e.g. Python scripts)
- Prior experience setting up and scripting fixtures to collect and retroactively label time-series motion data. Able to recommend best practices and construct a SOP and BOM for needed fixtures.
- Knowledge of DSP and adaptive filtering as applied towards motion tracking. Able to develop features for use in a machine learning model.
- Experience with machine learning algorithms and model development for embedded environments (such as TensorFlow Lite).
- Strong knowledge of statistics, linear algebra, and physics.