About the job
About Hark
Hark is a pioneering artificial intelligence company dedicated to creating advanced and personalized AI solutions. We are on a mission to develop proactive, multimodal intelligence that can seamlessly interact with the world using speech, text, vision, and a persistent memory.
At Hark, we believe in bridging the gap between humans and machines by integrating cutting-edge AI with next-generation hardware. Unlike conventional AI systems that rely on outdated interfaces, we are focused on designing agentic systems that engage naturally with people and their environments.
Our goal is to create a unified interface for a new era of intelligent systems by developing multimodal models and innovative AI hardware from the ground up.
About the Role
As an Embedded Software Engineer, you will play a pivotal role in developing and maintaining critical components of the firmware stack that powers Hark's consumer products. This includes everything from board bring-up and peripheral driver integration to the runtime environment that hosts on-device intelligence. You will collaborate closely with the hardware team on new silicon and sensor integrations, work with the agent team on model execution and memory constraints, and engage with product teams to deliver exceptional user experiences. You will face real-world challenges with tight constraints, and your work will have an immediate impact.
Responsibilities
- Develop and maintain embedded firmware using C/C++ for ARM-based SoCs and microcontrollers.
- Manage Board Support Package (BSP) development, peripheral driver integration (e.g., SPI, I2C, UART, I2S), and RTOS task scheduling.
- Optimize power consumption and thermal performance for always-on, battery-operated devices.
- Establish and maintain OTA update infrastructure for reliable field updates.
- Collaborate with the on-device AI team to facilitate model inference within memory and latency constraints.
- Create factory test and calibration firmware for manufacturing processes.
- Debug complex hardware-software interactions using tools such as logic analyzers, oscilloscopes, and JTAG.
Requirements
- Minimum of 3 years of professional experience in firmware or embedded systems development.
- Strong expertise in C and/or C++ in resource-constrained environments.
- Experience with ARM Cortex-M or Cortex-A processors and their associated toolchains.
- Hands-on experience with real-time operating systems (RTOS) such as FreeRTOS, Zephyr, or similar.
- Familiarity with wireless communication protocols (BLE, Wi-Fi, or Thread).
- Ability to read schematics and collaborate effectively with hardware engineers during board bring-up.
- Proficient in using embedded debugging tools and workflows.
