Find Jobs
Find Jobs Near You – Available Work in Your Location
Skip to job details
J
Jobility
Embedded Software Engineer
Career Insights for Embedded Software Engineer
See where this job fits in the broader career landscape. Knowing your career path helps you see what's possible from here.
Scorecard
Based on Illinois data
Review key factors to help you decide if this role fits your goals. How is this calculated?
What they do
An Embedded Software Engineer designs or improves the embedded computer software that supports specialized hardware for certain products, devices or systems. Oversees the entire software development process. Analyzes customer or user needs, designs programs, writes code or instructs computer programmers, tests design, and documents programs. May assist with upgrades or maintenance.
$112,640 / year median in Illinois
+7% projected growth
Job Description
Overview We are seeking a highly skilled Embedded Software Engineer to join our innovative technology team. In this role, you will be responsible for designing, developing, and maintaining embedded software solutions across a variety of hardware platforms and systems. Your expertise will contribute to the creation of reliable, efficient, and scalable embedded applications that support cutting-edge products in fields such as IoT, telecommunications, and industrial automation. The ideal candidate will possess a strong foundation in embedded systems programming, hardware integration, and software development best practices, with a passion for solving complex technical challenges. Responsibilities Develop and optimize embedded firmware and software for microcontrollers and embedded systems using languages such as C, C++, and Embedded C. Design and implement algorithms for signal processing, machine learning applications, and sensor data analysis. Integrate hardware components including FPGA modules, PCB designs, sensors, and microcontrollers into functional systems. Develop and maintain software interfaces such as RESTful APIs, JSON-based communication protocols, and SDKs for various platforms including Android. Conduct debugging and troubleshooting of embedded hardware and software issues utilizing logic analyzers, oscilloscopes, and other diagnostic tools. Collaborate with cross-functional teams to define system specifications using UML diagrams and content development tools like Confluence. Perform unit testing, software quality assurance, and automated testing to ensure robust performance in real-time operating systems (RTOS) and Linux-based environments. Support firmware updates, version control management with GitHub or SVN, and continuous integration workflows using Jenkins or similar tools. Contribute to the development of application software for IoT devices utilizing Zigbee, Ethernet, TCP/IP protocols, AWS cloud services, and network monitoring tools. Engage in engineering troubleshooting to resolve complex issues related to computer hardware interfaces, operating system kernels, or network configurations. Qualifications Bachelor's or master's degree in Electrical Engineering, Computer Engineering, Computer Science or a related field. Proven experience in embedded systems programming with proficiency in C/C++, Python scripting, and Linux OS environments. Strong knowledge of FPGA development workflows as well as PCB design principles. Familiarity with microcontroller architectures such as ARM Cortex series and RTOS implementations. Experience working with signal processing techniques, algorithm design, machine learning models, and big data analysis. Hands-on skills with debugging tools including logic analyzers, oscilloscopes, and protocol analyzers. Knowledge of communication protocols such as