Software Engineer, Embedded Communications

IQ Inc. is looking for an experienced Software Engineer who wants to work with a team of engineers to deliver innovative solutions that help drive better outcomes for patients. Each day you will make an impact. You will contribute to the architecture, design, and development of distributed control software within a robotic device.  Additionally, in this role you will concentrate on the communications aspects of the system, therefore you must possess a solid understanding of remote procedure calls, the REST protocol, and the intricacies of asynchronous networked interfaces.

You will work in a collaborative environment and follow and contribute to best practices in design and implementation (including clean coding practices, code review, unit testing, and dynamic & static analysis).  
 
Responsibilities include:

  • Creating and refining structural and logical/algorithmic designs.
  • Implementing and maintaining software in compliance with associated designs and policies.
  • Creating unit, functional, and integration tests and performing root cause analyses for complex features.
  • Working with appropriate continuous integration and production build processes and environments.
  • Ensuring the quality of the software through appropriate processes, documentation, and testing.

Requirements:

  • B.S. degree in Computer Science or equivalent industry experience or expertise.
  • 5+ years’ experience in software engineering.
  • 2+ years’ experience in C++, C#, Java, or other object-oriented language.
  • 2+ years’ experience developing network and REST client software
  • Understanding of industry best practices and process associated with software development, including technical writing, system documentation, and design document management.
  • Demonstrated troubleshooting design methodologies, coding practices, and testing strategies.

Preferred:

  • Experience with GUI development, familiarity with Qt is a plus
  • Experience with Lua, Perl, Python, JavaScript, or other interpreted languages
  • Experience with modern C++ development (C++17 standards)
  • Medical Device software development experience
  • Familiar with Agile practices
  • Familiar with Linux development and target environments

IQ Inc. provides equal employment opportunities (EEO) to all employees and applicants for employment without regard to race, color, religion, sex, national origin, age, disability or genetics. In addition to federal law requirements, IQ Inc. complies with applicable state and local laws governing nondiscrimination in employment in every location in which the company has facilities. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation and training.

IQ Inc. expressly prohibits any form of workplace harassment based on race, color, religion, gender, sexual orientation, gender identity or expression, national origin, age, genetic information, disability, or veteran status. Improper interference with the ability of IQ Inc.’s employees to perform their job duties may result in discipline up to and including discharge. 

Want to apply later?

Type your email address below to receive a reminder

ErrorRequired field

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
ErrorRequired field
Error
insert_drive_file
insert_drive_file
ErrorRequired field
ErrorRequired field