Contact Us 877.823.3669

Embedded Software Engineer in Rosemont at SNI Technology

Date Posted: 6/6/2018

Job Snapshot

Job Description


Our client located in Rosemont is looking for a full-time Embedded Systems Developer. This person will design, develop and maintain back-end software based solutions for the electrical, HVAC and power control systems. A successful candidate will be able to design and build enterprise class embedded software and firmware for lighting, HVAC controllers and distributed low-voltage power systems, in compliance with common coding standards and practices. Excellent communications and collaboration skills are required as the candidate will be working with all departments and disciplines.


Responsibilities Include:

  • Design, develop and maintain software and firmware used for existing and future products to attain the technical, economic and functional goals.
  • Work with Software QA Engineering to develop and implement software/firmware verification, regression testing and quality assurance procedures.
  • Provide detailed planning and timely software delivery to continue the growth of existing and new products through feature design, development, and implementation.
  • Provide software/firmware support of our existing products related to matters involving customer inquiries, system deployment, and quality or cost improvement opportunities.
  • Work with the Software Engineering Manager to define software/firmware changes and modifications in order to meet new requirements, standards and marketplace opportunities.
  • Serve as a subject matter expert for backend software/firmware design and development.
  • Mentor and coach colleagues around software/firmware development life cycles and embedded system design.


Requirements Include:

  • BS in Computer Science or similar degree
  • 5 years industry experience in embedded software/hardware development and experience using and building solutions using NXP and Microchip technologies.
  • Thorough knowledge of computer science, embedded systems and software engineering paradigms and practices.
  • Strong working knowledge of good programming practices and techniques, specifically with concepts around object-oriented design, database access, and embedded systems.
  • Proven experience with development and design of backend systems, with experience in broadcast, multicast and point-to-point communications protocols.
  • Ability to solve problems enthusiastically and creatively.
  • Ability to develop software/firmware solutions using languages such as C/C++, Python and Golang.
  • Detailed knowledge of communications protocols like TCP/IP, Ethernet and Radio Frequency communication with experience building/designing communications protocols.
  • Extensive knowledge of Linux system design, development and deployment with experience building/architecting custom kernel drivers.
  • Experience in database design and access patterns.
  • Multithreaded architecture design supporting both synchronous and asynchronous communication.
  • Ability to debug software and firmware in real-time running applications.
  • Strong understanding of enterprise software requirements.