> Markdown version of [/jobs/ext/4514383-engineer-ii-software-engineering](https://www.wearedevelopers.com/jobs/ext/4514383-engineer-ii-software-engineering). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Engineer II - Software Engineering - **Company:** Federal Signal Corporation - **Location:** Park Forest, IL, United States - **Experience:** Expert - **Salary:** $68,731.0 - $98,187.0 - **Contract:** Permanent contract - **Skills:** C (Programming Language), Microsoft Windows, Unit Testing, Software Bug Management, C++ (Programming Language), Communications Protocols, Computer Programming, Computer Engineering, Software Debugging, Linux, Programming Tools, Memory Management, Emulators, FFmpeg, Firmware, FreeRTOS, H.264/MPEG-4 AVC, Python (Programming Language), Node.Js, OpenCV, Rapid Prototyping Process, Real-Time Operating Systems, Tensorflow, Software Engineering, System Programming, WebRTC, YAML, PIC Microcontroller, Pytorch, High Efficiency Video Coding (HEVC), Peripherals, System-level Testing, RTSP, Integration Tests, Information Technology, Figma, TensorRT, Hardware Infrastructure, Software Coding, Docker, Programming Languages - **Published:** November 2, 2026 - **Apply:** https://www.careerbuilder.com/job-details/engineer-ii-software-engineering-university-park-il--1b53aa73-af06-4d57-b590-34ba02df0e9d ## About the Role Software Engineering, Peripheral Hardware, Programming Languages, Time Management, Product Development, Hardware Architecture, C Programming Language, Realtime Operating System, Embedded Systems, Computer Engineering, * Bachelor's degree in computer science or equivalent from an accredited university. * 5-7 years of previous experience in a similar role. * Demonstrated use of Python, Roboflow, NodeJS, Figma or similar tools for rapid prototyping. * Familiarity with creating and modifying YAML for configurations and collaboration. * Strong proficiency in C/C++ programming languages with a focus on embedded systems. * Experience with developing containerized analytics modules using Docker. * Fluency in switching between Windows, Linux, and embedded environments and toolkits. * Deep knowledge of microcontroller architectures, memory management, peripherals, and communication protocols. * Experience with popular RTOS like FreeRTOS, Zephyr, or similar. * Familiarity with IDEs, debuggers, emulators, and other development tools for embedded systems. * Experience with unit testing, integration testing, and system-level validation methodologies. * Excellent analytical and debugging skills to identify and troubleshoot complex firmware issues. * Ability to effectively communicate technical concepts to both technical and non-technical stakeholders. ## Description The successful candidate will be responsible for designing, developing, and testing the low-level software (firmware) that controls the functionality of electronic hardware devices, like embedded systems and computer peripherals, requiring a deep understanding of hardware architecture and proficiency in programming languages like C/C++ to create code that interacts directly with the hardware components, often utilizing real-time operating systems (RTOS) to ensure timely system responses; they collaborate with hardware engineers to ensure seamless integration and troubleshoot issues throughout the product development cycle., * Write clean, efficient, and well-documented firmware code using embedded C/C++ programming languages, adhering to coding standards and best practices. * Implement video technologies using protocols including FFmpeg, GStreamer, H.264/H.265, RTSP, and WebRTC. * Understand and determine best fit strategies for incorporation of OpenCV, PyTorch, TensorFlow, YOLO, and/or TensorRT algorithms. * Understand and utilize various hardware components like microcontrollers, memory, peripherals, and communication interfaces to interact with them through firmware. * Work with RTOS to manage system tasks with precise timing and priority levels. * Conduct thorough unit integration, and system-level testing to identify and resolve firmware defects, utilizing debugging tools and techniques. * Work closely with hardware engineers to ensure smooth integration between firmware and hardware components, addressing design challenges and providing feedback. * Create detailed technical documentation for firmware design, implementation, and testing procedures. * Support existing firmware by implementing bug fixes, feature enhancements, and updates to address customer needs. * May include travel to the field and/or trade shows. * Perform product evaluations to determine if engineering standards are met. * Flexibility to perform other duties and assignments as required