Veranex
Principal Embedded Software Engineer
Veranex, Raleigh, North Carolina, United States, 27601
Veranex is the only truly comprehensive, global, tech-enabled service provider dedicated to the medical technology industry. Offering expert guidance from concept-through-commercialization, including product design and engineering, preclinical and clinical development, data management, market access, regulatory affairs and quality assurance, Veranex enables accelerated speed to market, controlled development costs, development risk mitigation, and accelerated market viability assessment. At every stage, Veranex clients realize efficiencies in cost and time, while our comprehensive solutions unify the entire development process. Veranex partners with the world's most influential life science and medical device companies to research, design, develop and commercialize new healthcare technologies and treatments to advance patient care. About This Role: Veranex has an exciting opportunity to join our team as Principal Embedded Software Engineer. You will be part of a team working to improve lives globally through medical technology innovation. What You Will Do: Execute the full software development life cycle including requirements capture, software architecture, implementation, and testing within the MedTech industry Create project software development plans, which may favor agile or waterfall development processes Work with the program management team on creating accurate software project schedules Provide architectural guidance, mentoring other engineers, evaluating new technologies, and defining/leading best practices Collaborate with other design disciplines including systems, electrical, and mechanical engineering Support the software development team with translating high level software requirements into detailed software requirements, supporting the documented software architecture Verify that the documented architecture is implemented according to plan through participation in code reviews and design reviews throughout the process Embedded Linux user space application development and sustenance User Interface application development and sustenance Qualifications: 8 years of experience embedded software development experience within MedTech industry (or other equivalent safety critical software development experience) 8 years of experience in C++ application development in embedded space Advanced expertise with operating systems, multithreading, memory management, debugging using GDB Advanced expertise with embedded software development Knowledgeable of Microprocessor/microcontroller bring-up and embedded device drivers Demonstrated software programming proficiency (C, C++ and scripting languages such as Python) Understanding of electronic circuitry including board bring up and on target debugging. Understanding of interfacing with on and off chip peripherals such as USB, SPI, UART, I2C, ADC's and DAC's Experience with user space application development in Embedded Linux Understanding of processor and hardware requirements in Embedded Linux Knowledgeable of open system interconnection (OSI) model and its application to network design Knowledge of UI frameworks such as QT/QML or any other UI software Experience in working in a Continuous Integration (CI) environment Experience with Software Configuration Management Proven track record of successfully leading technically complex development projects and transitions to production Experience providing leadership, training, guidance and support to software engineering staff. Experience mentoring engineers while providing employee development and teambuilding Knowledge in Agile/Scrum based product development Strong verbal and written communication skills and the ability to communicate effectively across all levels of the organization Ability to excel in a fast paced and dynamic work environment Bachelor's degree in computer engineering (or equivalent) Preferred Qualifications: Experience with software development for medical devices and associated standards (IEC 62304) Experience with software quality systems Experience usingAtlassian Tools or equivalent for software development Experience deploying commercial Embedded Linux systems Proficiency with open-source cross-compiler tools and Linux kernel development Experience with unit testing including test case development with unit test frameworks such as GoogleTest Experience with Laboratory Information Systems (LIS) Excellent knowledge of cloud computing technologies and current computing trends. Knowledge of real-time operating systems, microcontrollers, and RTOS Master's degree in computer or electrical engineering (or equivalent) Veranex is an equal opportunity employer and prohibits discrimination of any kind. All qualified applicants will receive consideration for employment without regard for race, color, religion or belief, sex (including pregnancy, gender identity or gender expression), sexual orientation, parental or marital status, disability, age, status as a protected veteran, national, social, or ethnic origin, or any other applicable legally protected characteristics.