Principal Software Engineer
RxSightAbout the role
Description
RxSight® is an ophthalmic medical technology corporation headquartered in Aliso Viejo, California that has commercialized the world’s first and only adjustable intraocular lens (IOL) that is customized after cataract surgery. The company’s mission is to revolutionize the premium cataract surgery experience by allowing surgeons to partner with their patients to achieve optimized results for every unique eye.
OVERVIEW:
Reports to the Senior Manager, Software Engineering and responsible for contributing to the design, development and testing of the software for RxSight products. The Principal Engineer assumes the role of the subject matter expert for Operating Systems, drivers, Board Support Packages (BSP), embedded software applications including control systems, and integration of various subsystems such as user interface. The engineer will actively collaborate with other teams, departments, and consultants as necessary to fulfill the software development and testing needs of the company.
Requirements
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Support all development and modification of RxSight software, from requirements to production and commercial deployment with software functionality including GUI, controlling software, algorithms, drivers, and integration with subsystems.
- Participates in all phases of the software development life cycle including concept, requirements, design, implementation, testing, and maintenance.
- Develop documentation that are compliant with standards and regulations
- Plans, leads, and executes efforts to architect, design, develop, maintain, upgrade, port, and verify/qualify Hardware Abstraction Layer (HAL) code, Board Support Package (BSP) code, Over the Air (OTA) update code and methods (including implementation of encryption and cybersecurity schemes), and embedded product software and/or product support software to enhance, implement and support LDD functionality.
- Knowledge and understanding of OOD and OOP methodology, full SDLC processes and software unit testing
- Ensures regulatory compliance of the development process and the commercialized product.
- Develop software test tools to support RxSight products
- Collaborate with other functions including but limited to Engineering, Quality, Customer Support (Clinical and Technical Services).
- Acts as a technical leader to mentor and grow the software engineering team
REQUIRED KNOWLEDGE, SKILLS AND ABILITIES:
- Expertise in embedded, real-time applications
- Capable of software design and coding with a focus on testability, robustness, and performance, or a demonstration of the ability to quickly learn any missing elements.
- Proficiency in developing the software on multiple platforms (embedded and desktop) using C# and C++ and other programming languages
- Working knowledge of and experience with ARM Processors, 8051 Microcontrollers as well as other embedded architectures and interfaces including SPI, I2C
- Capable configuring Operating Systems, developing device drivers, and creating Board Support Packages
- Proficient in the software development lifecycle, design controls, and unit test
- Experience with USB, or serial protocols, Bluetooth, is a plus
SUPERVISORY RESPONSIBILITIES:
N/A
EDUCATION, EXPERIENCE, and TRAINING:
- Bachelor’s or Master’s degree in a technical field and more than 6 years related experience and/or training; or equivalent combination of education and experience, including
- HAL/BSP development for embedded ARM processors
- Real-time embedded software development and/or testing
- Experience integrating or testing software on bare metal and with various real-time operating systems such as FreeRTOS and Linux/Unix derivatives
- Developing and troubleshooting communications, device drivers, and I/O interfaces (including displays and camera interfaces)
- Experience in requirements analysis, software design, implementation (code and unit test) and authoring of formal deliverable documentation
- Experience developing and deploying OS and firmware updates and software under the Qt development environment
- Use of hardware diagnostic tools such as oscilloscopes, DMMs, packet sniffers, etc. to aid with troubleshooting and refining software
- Training to be completed per the training plan for this position as maintained in the document control system.
- Training to be completed per the training plan for this position as maintained in the document control system
- The training requirements on TRN-10007 Insider Trading Policy, TRN-10008 Global Anti-Bribery and Anti-Corruption Policy and TRN-10009 Code of Business C
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s