Senior Software Engineer

CONTEMPORARY CONTROL SYSTEMS, INC.
Downers Grove, IL, United States
2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Compensation
$88,000.0 - $125,000.0
Working hours
Regular working hours
Job source

Tech stack

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
+17 more
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

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

Requirements

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.

Benefits & conditions

Pulled from the full job description

  • AD&D insurance
  • Health insurance
  • 401(k) matching
  • Vision insurance
  • Dental insurance
  • Life insurance
  • Disability insurance, * 401(k) matching
  • AD&D insurance
  • Dental insurance
  • Disability insurance
  • Health insurance
  • Life insurance
  • Vision insurance

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

1:15 min

Defining classes and building packages with pybind11

Konstantin Bespalov · WWC 2023

2:21 min

Projecting external HTML content using default and named slots

Rowdy Rabouw Rowdy Rabouw · WWC 2022

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · WWC 2021

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

Videos

See all

Related articles

See all