You are viewing a preview of this job. Log in or register to view more details about this job.

Senior Software Engineer

Senior Software Engineer Job Description
We seek a Senior Software Engineer with a strong knowledge base in software engineering, robotics, aerospace systems, physics, control systems, prototyping, and creative thinking to join our engineering team.
If you would like to work with a dynamic team focused on disruptive, life-saving technology, come join our team today! Our close-knit team takes great value in collaboration, innovation, and unique approaches in pursuit of disruptive ideas and rapid prototyping.
The full-time position is located at our Broomfield. Compensation package is negotiable based on experience and education and Vita pays the premiums for medical insurance. If you are looking to apply your engineering skill set to help save up to 24 lives per day, apply to join our team today!
Primary Job Duties
The ideal candidate demonstrates proven prior experience in designing and implementing real-time software solutions on Linux systems. The candidate is responsible for leading a software team, architecting and implementing a real-time software host, interfacing and controlling distributed subsystems- both COTS and custom MCU devices, implementing device security protocols, and staying on the forefront of new tool & solution discovery. Vita’s solutions are robotic in nature, where a significant effort of the software team is devoted to device interfacing, controls, error handling, dynamic analysis, and timing controls. Prior industry experience in either the aerospace, industrial controls, medical, robotics, or autonomous vehicle development is desired.
Specific duties of the role include:
  • Designing & implementing real-time software host solutions via C++ and embedded C on Linux and MCU solutions
  • Generate software requirements, architecture & design documentation, source code, and unit tests
  • Developing device drivers & hardware interfaces for embedded operating systems. To include: CAN, UART, GPIO, SPI, and I2C
  • Lead the safety analysis, validation, and verification of software solutions. To include conducting static code analysis and dynamic memory analysis
  • Building and implementing software release unit tests, integration tests, and system level tests
  • Developing GUIs for internal debugging and end-user deployment
  • Lead the software team, delegate software work packages, and collaborate with management on product road-maps and master schedules
  • Collaborate with Vita Engineering on overall product development, designing to system level requirements, evaluating laboratory tests, and verifying finished products
Qualifications
  • Master’s degree within a Software Engineering/Computer Science discipline or relevant experience
  • Experience in the Aerospace, Robotics or Medical Device field
  • 10 years of software engineering experience with C/C++ programming on embedded systems
  • Strong experience/familiarity with embedded operating systems and their architecture (e.g. ARM or x86), Linux, and RTOS
  • Familiarity with implementing Secure Boot and Trust zone on ARM devices
  • The core points of microcontrollers, including PWM, Watchdog, Timers, interrupt processing and registers, etc. Familiarity with STMicro families is preferred
  • Advanced object-oriented design knowledge and familiarity with common patterns
  • Event-driven architectures
  • GPIO & Communication Buses (RS-232, SPI, I2C, CAN)
  • Machine vision techniques; experience with OpenCV
  • Familiarity with Agile project management (SCRUM).
Additional
  • Strong familiarity with data flow analysis, code coverage testing, verification testing
  • Hardware interfacing and device driver development
  • System software development - for kernel and RTOS applications (core if you believe RT may be critical later on, but probably won't be.)
  • Skilled with debugging, including JTAG

In compliance with Colorado’s Equal Pay for Equal Work Act, the salary range for this role is $120,000 to $150,000; however, Vita Inclinata Technologies considers several factors when extending an offer, including but not limited to, the role and associated responsibilities, a candidate’s work experience, education/training, and key skills