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:
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:
Preferred / Nice to Have:
Attitude & Working Style:
Competencies:
What Success Looks Like (First 6-12 Months):
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
Reliability Engineer - Salisbury, NC
Precision Castparts Corp. · Salisbury, United States
1 minute agoSoftware Engineer II
Walmart Inc. · Denver, United States
1 minute ago$88k - $171k/yrDatabase Engineer II
AXS · Frisco, United States
1 minute ago$100k - $120k/yrSoftware Engineer, VP
MUFG · Jersey City, United States
1 minute ago$169k - $205k/yrSystem Security Engineer
Draper · Cambridge, United States
1 minute ago$75k - $150k/yrEntry Level Mechanical Test Engineer
RFA Engineering · Horicon, United States
1 minute ago$65k - $80k/yr