Firmware Developer

Overview

Full Time

Skills

Firmware
Product Development
IT Management
Mentorship
Innovation
Software Development Methodology
Architectural Design
FOCUS
RF
Electrical Engineering
Computer Science
Embedded Systems
Testing
RTOS
Command-line Interface
Interfaces
DevOps
Wireshark
Tcpdump
Test-driven Development
Computer Networking
Data Structure
Algorithms
C
Real-time
Debugging
Multithreading
Communication
Collaboration
Wireless Communication

Job Details

Firmware Developer

Aurora, IL - Onsite

12 months Contract

Job Duties:
Lead and actively engage in all aspects of product development, including investigation, design, coding, and testing.
Design and implement features for embedded applications on residential smart devices.
Develop applications in C/C++ within a multithreaded RTOS environment.
Provide technical leadership and mentorship to junior engineers, fostering a culture of collaboration, innovation, and continuous learning.
Develop inter-process communication utilizing various communication protocols.
Work on distributed interactive systems.
Debug defects, core dumps, and memory corruption, providing effective solutions.
Adhere to standard software development methodologies by creating architectural, design documents for approval, following coding standards, conducting code reviews, and implementing tests.

You Must Have:
Experience in developing and maintaining embedded applications using C/C++ (preferred areas of focus include multithreaded programming, RF/wireless protocols, and inter-process communication).
4+ years of experience in electrical engineering, computer science, or a closely related technical discipline.
4+ years of hands-on experience in embedded systems development, including debugging and testing.
Practical experience developing software within an RTOS environment and working with command-line interfaces.
Proficiency in one or more of the following tools: debuggers, emulators, DevOps pipelines, Wireshark, tcpdump, or similar.
A TDD (Test-Driven Development) mind-set.

We Value:
A solid understanding of IP networking, data structures, and algorithms.
Experience in C/C++ and real-time systems.
Knowledge of distributed networks and topologies.
Debugging capabilities in a multithreaded environment.
Experience in analyzing packet protocols.
Familiarity with system architectures.
Strong communication and collaboration skills.
Knowledge of multiple wireless technologies (Wi-Fi, BLE, Sub-Gig).
Experience with rules engines and event-driven architectures.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.