Sr. Software Engineer
Apply NowCompany: Nihon Kohden Orange Med
Location: Santa Ana, CA 92704
Description:
Job Purpose
The Sr. Software Engineer is to be an integral team member of the software engineering design department. The responsibility of this position includes working on the prototyping and design of software for new products and working on developing new features as well as maintaining existing products following the FDA software design control guidelines for medical devices.
The Sr. Software Engineer is expected to be comfortable taking part in all stages of medical device development from requirements gathering trough integration and system testing and be comfortable designing and developing software that is meant to run on a Linux operating system.
Essential Functions and Basic Duties
Yocto Development
Optimize Yocto builds for size and performance
Manage dependencies and package configurations
Create custom Yocto layers for application-specific requirements
Maintain and improve RAUC update mechanism
Configure system services and initialization
Design and develop Linux device drivers for medical device components (sensors, actuators, displays, etc.)
Create and maintain custom Yocto layers and recipes for medical device BSPs
Implement and validate hardware interfaces (SPI, I2C, USB, etc.)
Debug hardware-software integration issues
Optimize driver performance
Create and maintain custom Yocto recipes for application deployment
Integrate the latest Yocto release
Integrate the latest Qt release
Application Development
Develop and maintain Qt-based graphical user interfaces for medical devices
Design and implement responsive, user-friendly medical device interfaces
Create custom Qt widgets and components specific to medical applications
Implement network communication protocols and services
Configure and optimize network services in Yocto builds
Implement various communication protocols (TCP/IP, UDP)
Develop and maintain network security features
Adheres to all company policies, procedures and business ethics codes.
Other duties as assigned.
Qualifications
Education and Experience
BS in Computer Science, Electrical Engineering, or a related field.
5+ years of experience in embedded Linux development.
Required Skills
Solid C++ and object-oriented design skills.
Experience with Yocto Project and BitBake.
Experience Linux kernel device driver development.
Experience with hardware interfaces (SPI, I2C, USB, etc.)
Experience networking protocol knowledge
Good communication skills.
Desirable Skills
Experience with Qt and QML
Experience developing Python scripts.
Experience developing Shell scripts.
Experience with automated testing frameworks
Familiarity with medical device standards (IEC 62304, ISO 13485)
Working Conditions
The Sr. Software Engineer usually works in an office environment.
The Sr. Software Engineer works a standard work week but may be required to work some evenings and weekends to meet the needs of the company.
Minimal domestic travel may be required.
Physical requirements
Must be able to type using the keyboard of a computer. Must be able to talk, listen and speak clearly on the telephone. Must be able to lift and carry up to 30 lbs.
The Sr. Software Engineer is to be an integral team member of the software engineering design department. The responsibility of this position includes working on the prototyping and design of software for new products and working on developing new features as well as maintaining existing products following the FDA software design control guidelines for medical devices.
The Sr. Software Engineer is expected to be comfortable taking part in all stages of medical device development from requirements gathering trough integration and system testing and be comfortable designing and developing software that is meant to run on a Linux operating system.
Essential Functions and Basic Duties
Yocto Development
Optimize Yocto builds for size and performance
Manage dependencies and package configurations
Create custom Yocto layers for application-specific requirements
Maintain and improve RAUC update mechanism
Configure system services and initialization
Design and develop Linux device drivers for medical device components (sensors, actuators, displays, etc.)
Create and maintain custom Yocto layers and recipes for medical device BSPs
Implement and validate hardware interfaces (SPI, I2C, USB, etc.)
Debug hardware-software integration issues
Optimize driver performance
Create and maintain custom Yocto recipes for application deployment
Integrate the latest Yocto release
Integrate the latest Qt release
Application Development
Develop and maintain Qt-based graphical user interfaces for medical devices
Design and implement responsive, user-friendly medical device interfaces
Create custom Qt widgets and components specific to medical applications
Implement network communication protocols and services
Configure and optimize network services in Yocto builds
Implement various communication protocols (TCP/IP, UDP)
Develop and maintain network security features
Adheres to all company policies, procedures and business ethics codes.
Other duties as assigned.
Qualifications
Education and Experience
BS in Computer Science, Electrical Engineering, or a related field.
5+ years of experience in embedded Linux development.
Required Skills
Solid C++ and object-oriented design skills.
Experience with Yocto Project and BitBake.
Experience Linux kernel device driver development.
Experience with hardware interfaces (SPI, I2C, USB, etc.)
Experience networking protocol knowledge
Good communication skills.
Desirable Skills
Experience with Qt and QML
Experience developing Python scripts.
Experience developing Shell scripts.
Experience with automated testing frameworks
Familiarity with medical device standards (IEC 62304, ISO 13485)
Working Conditions
The Sr. Software Engineer usually works in an office environment.
The Sr. Software Engineer works a standard work week but may be required to work some evenings and weekends to meet the needs of the company.
Minimal domestic travel may be required.
Physical requirements
Must be able to type using the keyboard of a computer. Must be able to talk, listen and speak clearly on the telephone. Must be able to lift and carry up to 30 lbs.