Haystack
← Back to Jobs
Technology

Firmware Engineer

ADT LLCBlue Bell, PA🇺🇸United StatesPosted 14 Aug 2026

Quick Overview

Work Type
Hybrid
Level
Mid Senior

Job Description

Job Description

Summary:

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 entry level candidates 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.

About the Role:

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.

Duties and 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.

Requirements:

Bachelor's degree in computer engineering, Electrical Engineering, Computer Science, or a closely related field, or equivalent practical experience. entry level candidates and candidates graduating within the current academic year are encouraged to apply.

Required Skills / Qualifications:
  • 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.

Preferred / Nice to Have:
  • 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.

Attitude & Working Style:
  • Positive, can-do attitude and ownership of assigned work.
  • Comfortable asking questions and escalating blockers early.
  • Able to work independently on well-scoped tasks while collaborating closely with hardware, QA, and product partners.
  • Open to working outside your comfort zone and researching new technology.
  • Eager for technical learning and continuous improvement.

Competencies:
  • Technical Learning
  • Functional / Technical Skills
  • Customer Focus
  • Drive for Results
  • Ethics & Values
  • Peer Relationships
  • Creativity
  • Collaboration and conflict resolution

What Success Looks Like (First 6-12 Months):
  • Completes assigned firmware features and bug fixes with improving independence, good code quality, and clear communication.
  • Debugs issues across software and hardware boundaries using logs, debuggers, and lab tools.
  • Contributes meaningfully to at least one wireless/protocol or platform area used by the product.
  • Improves team velocity via tests, scripts, or documentation.

Skills

Shell
Embedded Systems
Agile
C++
Git
GitHub Actions
IoT
Java
Jenkins
Python

Similar jobs