Embedded Systems Engineer

Embedded Software Engineer – Bradenton Florida 

Full Job Description 
IRISS is looking for an Embedded Software Engineer to join our Technical Services and Development team at IRISS Inc, in Bradenton Florida. Hires will be responsible for design, development and testing of embedded software and firmware from product specifications. They will be expected to provide specialized knowledge on complex technical and design matters; create and maintains documentation at specification, functional, implementation and code levels for all projects; and establishes test and validation criteria and ensures complete documentation of data. Designs, or oversees the design test fixtures as needed. Supports existing products currently in production.  Able to work independently but still as part of a design team. May mentor junior engineers or technicians to improve skill level of the engineering team. 

GENERAL RESPONSIBILITIES: 
  • Plans, schedules, and carries out embedded or PC software design projects as assigned. 
  • Writes and maintains microcontroller firmware for a variety of processors. 
  • Implements communication electrical specifications and protocols as required, such as I2C, SPI, Bluetooth, USB, BACnet, Modbus, RS-232, RS-485, RJ-45, Device Net, Fieldbus, PROFIBUS, PROFINET, Ethernet/IP, Wireless HART. 
  • Assists in development of, and adhering to, project timelines, cost estimates, reports and design reviews. 
  • Supports test fixture design as directed. 
  • Develops or reviews Manufacturing and Quality Control product testing and alignment procedures as assigned. 
  • Investigates the cause of product failures of a software nature and recommends and implements corrective action as directed. 
  • Ensures that prototype modules and appropriate breadboards are archived properly for future reference. 
  • Evaluates and approves design changes, specifications and documentation releases for assigned products or projects. 
  • Work with product management and engineering teams to define and validate software features and requirements 
  • Work with peers to review code and assure the best software engineering practices. 
  • Reviews code for corrections and adherence to best practices and programming standards. 
  • Performs all other duties as assigned or directed. 
SKILLS: 
  • C and C++ and Assembly for various microcontroller architectures. Expertise with common aspects of embedded software: real-time interrupts, watchdog, timers, data corruption prevention, serial communications, etc. 
  • Knowledge of C# and Python 
  • TCP/IP, UDP protocols 
  • Experience or familiarity working with networking and communication protocols, Device Net, Fieldbus, PROFIBUS, PROFINET, Ethernet/IP, Wireless HART 
  • Familiarity with Z/IP – UDP/IP wrapper for Z-wave classes 
  • Strong firmware/software design, architecture, and documentation experience 
  • Ability to perform first time board bring up 
  • Electronic skills required for understanding and contributing to design and debugging. 
  • Strong electronic assembly skills as required for building, debugging and modifying prototype circuits. 
  • Ability to identify multiple solutions to problems and to select the best option based on product requirements and consensus from the design team. 
  • Ability to learn new skills quickly, including communication protocols, MCU architectures, and software tools. 
  • Ability to understand hardware schematics and component datasheets 
  • Ability to develop software test plans to verify designs meets project requirements 
  • Knowledge of and experience with PIC processors is a PLUS 
  • Embedded hardware and mixed signal/analog design experience is a PLUS 
EDUCATION: 
  • BS Degree in Electrical Engineering/Computer Science/Electronics Engineering, MS degree is a plus. 
Required Knowledge, Skills, and Abilities: (Submission Summary): 
  • Experience writing to PC based applications 
  • Minimum of 5 years of experience in C and C++ for various micro-controller architectures. 
  • Ability to understand hardware schematics and component datasheets. 
  • Experience with Real Time Operating Systems (RTOS). 
  • Must have hardware design experience 
  • Ability to develop software test plans to verify designs meets project requirements. 
  • Electronic skills required for understanding and contributing to design and debugging. 
  • Strong electronic assembly skills as required for building, debugging and modifying prototype circuits. 
  • Electronics design software or equivalent ex: MPLABS – a plus 
  • MS Forms software environment for programming – a plus 
  • Experience in using source control software (Git foundation) – a plus 
  • Experience working in products that monitor environmental conditions (temperature, humidity etc.) – a plus 
  • Industrial instrumentation – a plus