Senior Software Engineer

CONTEMPORARY CONTROL SYSTEMS, INC.
Downers Grove, United States of America
5 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
$ 125K

Job location

Downers Grove, United States of America

Tech stack

Testing (Software)
C
HTML
JavaScript
Computer-Aided Design
C++
Command-Line Interface
Cloud Computing
CMake
Code Review
Continuous Integration
Software Debugging
Linux
Github
Multi-protocol Systems
Python
Modbus
Message Queuing Telemetry Transport (MQTT)
Product Management
Software Engineering
Verification and Validation (Software)
Management of Software Versions
Scripting (Bash/Python/Go/Ruby)
PIC Microcontroller
Software Troubleshooting
Information Technology
Build Tools
Software Coding
REST

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