SonicJobs Logo
Left arrow iconBack to search

Firmware Engineer

ADT
Posted a day ago, valid for 20 days
Location

Whitpain, PA, US

Salary

Competitive

Contract type

Full Time

By applying, a Sonicjobs account will be created for you. Sonicjobs's Privacy Policy and Terms & Conditions will apply.

SonicJobs' Terms & Conditions and Privacy Policy also apply.

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

 

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. Recent graduates 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.




Learn more about this Employer on their Career Site

Apply now in a few quick clicks

By applying, a Sonicjobs account will be created for you. Sonicjobs's Privacy Policy and Terms & Conditions will apply.

SonicJobs' Terms & Conditions and Privacy Policy also apply.