Firmware Engineer

ADTWhitpain Township, PA

About The Position

This entry-level Firmware Engineer role supports the development, debugging, testing, and documentation of embedded firmware for ADT connected-home and security products. The role is designed for recent graduates or early-career engineers with strong C/C++ fundamentals, who are comfortable learning Linux-based development, and who want to grow under the guidance of senior engineers. You will help build firmware for security base stations and related connected-home devices. This includes writing and debugging C/C++ code, learning how embedded Linux and microcontroller-based systems work, supporting wireless device features, and helping improve build and test automation. Prior industry experience is not required; coursework, projects, internships, curiosity, and willingness to learn are most important.

Requirements

  • Bachelor’s degree in computer engineering, Electrical Engineering, Computer Science, or a closely related field, or equivalent practical experience. Recent graduates and candidates graduating within the current academic year are encouraged to apply.
  • Basic C and/or C++ programming fundamentals, demonstrated through coursework, labs, personal projects, capstone work, internship experience, or similar hands-on practice.
  • Basic familiarity with Linux or command-line development, such as navigating files, compiling code, running tools, or following build instructions.
  • Introductory understanding of operating system concepts such as processes, threads, memory, and basic multitasking; embedded experience is helpful but not required.
  • Basic exposure to networking concepts such as IP addresses, Wi‑Fi, client/server communication, or secure connections; deeper networking experience is a plus.
  • Some exposure to scripting with Shell, Python, or similar tools for simple build, test, or automation tasks.
  • Basic familiarity with Git or another source-control tool, or willingness to learn through team workflows.
  • Ability to read technical documentation and learn basic lab tools such as a serial console, logic analyzer, or oscilloscope; course or lab exposure is sufficient.
  • Curiosity, problem-solving mindset, clear communication, and willingness to ask questions and learn from senior engineers.

Nice To Haves

  • Coursework, project, internship, or co-op experience in embedded systems, firmware, IoT, consumer electronics, microcontrollers, RTOS, or bare-metal development.
  • Exposure to Buildroot, Yocto, or another embedded Linux build system.
  • Familiarity with device drivers, bootloaders (e.g., U-Boot), or firmware update/OTA flows.
  • Hands-on with any of: Wi‑Fi, Bluetooth/BLE, Zigbee, Z‑Wave, DECT/ULE, or other IoT/sensor protocols.
  • Exposure to peripheral interfaces such as UART, SPI, I2C, or USB.
  • Messaging formats such as JSON or Protocol Buffers.
  • Internship or co-op in embedded, firmware, IoT, or consumer electronics.
  • Awareness of Agile practices and CI tools (Jenkins, GitHub Actions, etc.).
  • Java or other higher-level language experience is a plus, not required.

Responsibilities

  • Develop and maintain embedded firmware and applications in C/C++ for Linux-based IoT security devices, with mentoring from senior engineers.
  • Assist with embedded Linux setup and configuration, including build tools, board support, and basic system customization with guidance from senior engineers.
  • Help implement and debug firmware features that connect devices to backend services over Wi‑Fi using secure network communication and structured messages such as JSON.
  • Support firmware features that communicate with wireless devices and radios, such as Z‑Wave, Bluetooth/BLE, Zigbee, or DECT/ULE, based on product needs.
  • Work closely with the hardware team on board bring-up, peripheral interfaces (UART, SPI, I2C, USB), and root-cause analysis of hardware/software issues.
  • Write unit tests and help the QA team with test plans and continuous integration for firmware builds.
  • Support the Products team in clarifying requirements and translating them into implementable firmware tasks.
  • Use Git, build scripts, and continuous integration tools such as Jenkins to support firmware development and testing.
  • Document designs, debug notes, and how-to guidance so the team can reuse and extend your work.
  • Continuously learn new protocols, tools, and platform details; research unfamiliar technology with guidance and share findings with the team.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service