> Markdown version of [/jobs/ext/176027-senior-software-engineer](https://www.wearedevelopers.com/jobs/ext/176027-senior-software-engineer). 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). --- # Senior Software Engineer - **Company:** CONTEMPORARY CONTROL SYSTEMS, INC. - **Location:** Downers Grove, IL, United States - **Experience:** Expert - **Salary:** $88,000.0 - $125,000.0 - **Contract:** Permanent contract - **Skills:** Testing (Software), C (Programming Language), HTML, JavaScript (Programming Language), Computer-Aided Design, C++ (Programming Language), Command-Line Interface, Cloud Computing, CMake, Code Review, Continuous Integration, Software Debugging, Linux, Github, Multi-protocol Systems, Python (Programming Language), Modbus, Message Queuing Telemetry Transport (MQTT), Software Product Management, Software Engineering, Verification and Validation (Software), Management of Software Versions, Scripting, PIC Microcontroller, Software Troubleshooting, Information Technology, Build Tools, Software Coding, Restful APIs - **Published:** May 29, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=c1a404ebb01f2a08 ## About the Role Do you have experience in Software engineering?, * Bachelor's degree in engineering and 5+ years of related experience, or an equivalent combination of education and experience. * Demonstrated professional software engineering experience, with significant work delivering production systems in C/C++ on Linux and debugging (including command-line workflows and scripting such as shell/Python where used). * Experience with MQTT, Rest API, Cloud. * Experience with modern build systems and packaging workflows for embedded targets (e.g., cmake, cross-compilation, ARM build targets) and versioning software (GitHub). Desired Skills: · Familiarity with industrial/building communication stacks and protocols, including BACnet® and Modbus, and comfort diagnosing network/protocol issues. · Experience with IoT/edge gateway integration patterns and multi-protocol systems. · Experience with security validation practices and tools. ## Description Position Summary: To design, develop, document and troubleshoot software programs or portions of programs for new products. To provide software upgrades for existing products. To write and test software for embedded microcontrollers and computer systems. To perform other job-related duties as determined and assigned by management. Essential Role Responsibilities (with or without accommodation): · Assume responsibility for a portion of the software engineering part of a major new product or an entire project of less complexity, with some supervision and guidance. · Perform system modeling and analysis in designing software features, drivers and operating system utilities. · Plan, write, test and document software for embedded Linux systems & microcontrollers using C, C++, JavaScript, HTML, Python or other languages as required, including network/protocol interactions. · Contribute to device build/release workflows, including cross-compilation and packaging patterns used by the team (e.g., cmake-based builds and ARM build targets) Implement and troubleshoot industrial communications and building-automation integrations using industry protocols, including inspection of traffic and diagnosis of field issues. · Improve engineering effectiveness by introducing or strengthening development practices (code reviews, automated checks, CI/CD direction, and repeatable build/test flows) aligned to the team's product competencies. · Collaborate cross-functionally with hardware, quality, and product teams to translate requirements into robust designs, and to meet verification and validation expectations. · Exemplify solid technical decision-making, including architecture discussions, coding standards, and secure development awareness within product software. ## Related Videos - [Code to Road in < 12 hours](https://www.wearedevelopers.com/videos/1082-code-to-road-in-12-hours) - [More efficient software for more efficient microchips](https://www.wearedevelopers.com/videos/1164-more-efficient-software-for-more-efficient-microchips) - [Docker network without Docker](https://www.wearedevelopers.com/videos/1418-docker-network-without-docker) - [The Resilience of the World Wide Web](https://www.wearedevelopers.com/videos/1281-the-resilience-of-the-world-wide-web) - [Remote Driving on Plant Grounds with State-of-the-Art Cloud Technologies](https://www.wearedevelopers.com/videos/251-remote-driving-on-plant-grounds-with-state-of-the-art-cloud-technologies) - [Docker exec without Docker](https://www.wearedevelopers.com/videos/1094-docker-exec-without-docker) ## Related Articles - [7 Important Tips That Every Software Developer Should Know](https://www.wearedevelopers.com/magazine/101-7-important-tips-that-every-software-developer-should-know) - [Now is the time for industrialized software development](https://www.wearedevelopers.com/magazine/601-now-is-the-time-for-industrialized-software-development) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering) - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know)