Firmware Engineer

ADT
Blue Bell, PA, United States
26 days ago
Apply on us.experteer.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Starter
Working hours
Regular working hours

Tech stack

Board Bringup Unit Testing Bluetooth Low Energy (Bluetooth) Bluetooth C++ (Programming Language) Client Server Models Command-Line Interface Computer Networks Computer Engineering Continuous Integration Software Debugging Linux
+19 more
Linux on Embedded Systems Embedded Software Firmware JSON Python (Programming Language) Linux System Administration Universal Asynchronous Receiver/Transmitter USB Wi-Fi Technology Scripting Serial Peripheral Interface Wireless Devices Backend Git Information Technology Zigbee Build Tools IoT Security Jenkins

Job description

Experteer Overview Entry-level Firmware Engineer at ADT, joining a team that builds embedded firmware for connected-home security devices. You will learn and contribute to C/C++ firmware on Linux-based systems, under mentoring from senior engineers. The role spans development, debugging, testing, and documentation to support secure wireless and cloud-connected features. You will collaborate with hardware, QA, and product teams to deliver reliable firmware and improve automation. This is a growth-focused opportunity to shape foundational skills in embedded systems within a security-focused product landscape. Compensation / Benefits * 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 and board support * Implement and debug firmware features that connect devices to backend services over Wi-Fi using JSON * Support features for wireless devices and radios (Z-Wave, Bluetooth/BLE, Zigbee, DECT/ULE) as needed * Collaborate with hardware on board bring-up and peripheral interfaces (UART, SPI, I2C, USB) and perform root-cause analysis * Write unit tests and assist QA with test plans and CI for firmware builds * Help Product team translate requirements into implementable firmware tasks * Use Git, build scripts, and CI tools such as Jenkins to support development and testing * Document designs, debug notes, and how-to guidance for reuse and extension * Continuously learn new protocols and tools, sharing findings with the team Tasks * Bachelor’s degree in computer engineering, Electrical Engineering, Computer Science, or related field, or equivalent practical experience * Basic C and/or C++ programming fundamentals * Basic familiarity with Linux or command-line development * Introductory understanding of OS concepts (processes, threads, memory) * Basic exposure to networking concepts (Wi-Fi, client/server, secure connections) * Some scripting exposure (Shell, Python) for build/test tasks * Basic familiarity with Git or willingness to learn * Ability to read technical documentation and use lab tools (serial console, logic analyzer, oscilloscope) * Curiosity, problem-solving mindset, clear communication, and willingness to learn from seniors Key requirements *

Requirements

  • wireless devices and radios (Z-Wave, Bluetooth/BLE, Zigbee, DECT/ULE) as needed * Collaborate with hardware on board bring-up and peripheral interfaces (UART, SPI, I2C, USB) and perform root-cause analysis * Write unit tests and assist QA with test plans and CI for firmware builds * Help Product team translate requirements into implementable firmware tasks * Use Git, build scripts, and CI tools such as Jenkins to support development and testing * Document designs, debug notes, and how-to guidance for reuse and extension * Continuously learn new protocols and tools, sharing findings with the team Tasks * Bachelor’s degree in computer engineering, Electrical Engineering, Computer Science, or related field, or equivalent practical experience * Basic C and/or C++ programming fundamentals * Basic familiarity with Linux or command-line development * Introductory understanding of OS concepts (processes, threads, memory) * Basic exposure to networking concepts (Wi-Fi, client/server, secure aa equivalent * Some scripting exposure (Shell, Python) for build/test tasks * Basic familiarity with Git or willingness to learn * Ability to read technical documentation and use lab tools (serial console, logic analyzer, oscilloscope) * Curiosity, problem-solving mindset, clear communication, and willingness to learn from seniors Key requirements *

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on us.experteer.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

5:35 min

Direct hardware communication using the Web USB API

Rowdy Rabouw Rowdy Rabouw · World Congress 2025

3:47 min

Exploring JSON, CBOR, and JOSE for data serialization

Aaron Russell · LIVE

8:07 min

Transitioning from web development to constrained hardware engineering

Philipp-Alexander Blum · LIVE

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · World Congress 2021

Videos

See all

Related articles

See all