Logo
RxSight Inc.

Principal Software Engineer, BSP

RxSight Inc., Aliso Viejo, California, United States, 92656


DescriptionRxSight 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:The Principal Embedded Software Engineer is responsible for contributing to the design, development, testing, and lifecycle support of medical device software for the RxSight Light Delivery Device (complex opto-electro-mechanical system with embedded software) and related technologies. The Principal Engineer assumes the role of the subject matter expert for 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.RequirementsESSENTIAL DUTIES AND RESPONSIBILITIES:Design and implement software for embedded devices and systems from requirements to production and commercial deployment with software functionality including GUI, controlling software, algorithms, and integration with subsystems.Participates in all phases of the software development life cycle including concept, requirements, design, implementation, testing, and maintenance.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, 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 testingEnsures regulatory compliance of the development process and the commercialized product.Support all necessary development, extensions, and modifications of the code base throughout the software development lifecycle.Collaborate with other functions including but limited to Engineering, Quality, Customer Support (Clinical and Technical Services).Strong documentation and writing skillsActs as a technical leader to mentor and grow the software engineering teamREQUIRED KNOWLEDGE, SKILLS AND ABILITIES:Expertise in embedded, real-time applicationsCapable 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 languagesWorking knowledge of and experience with ARM Processors, 8051 Microcontrollers as well as other embedded architectures and interfaces including SPI, I2CProficient in software development lifecycle, design controls, and unit testExperience with USB, or serial protocols, Bluetooth, is a plusSUPERVISORY RESPONSIBILITIES:N/AEDUCATION, 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, includingHAL/BSP development for embedded ARM processorsReal-time embedded software development and/or testingExperience integrating or testing software on bare metal and with various real-time operating systems such as FreeRTOS and Linux/Unix derivativesDeveloping 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 documentationExperience developing and deploying OS and firmware updates and software under the Qt development environmentUse of hardware diagnostic tools such as oscilloscopes, DMMs, packet sniffers, etc. to aid with troubleshooting and refining softwareTraining to be completed per the training plan for this position as maintained in the document control system.CERTIFICATES, LICENSES, REGISTRATIONS:N/ACOMPUTER SKILLS:FreeRTOSEmbedded Linux/UnixBoot to Qt applications development for Nvidia JetsonTx2 and QMLMFC or C# .Net framework application developmentObject-oriented software architecture, software design, C/C++/C#/Python

#J-18808-Ljbffr