The Staff Software Engineer will be participating in software design and implementation of new and existing capital and connected systems.
- Design and develop software of embedded devices and systems from requirements to production.
- Assisting with the development, documentation of architectures, requirements, algorithms, interfaces and designs for software systems
- Reviewing the software design and code
- Train and mentor joiner software engineers.
- Adhere to quality system and environmental policies and procedures and supports department compliance objectives
- A Bachelor’s degree in Computer Science, EE or other relevant technical experience is required. Advanced degree is preferred
- A minimum of 8 years of practical work experience in software engineering.
- Solid programming experience in C/C++ and Object Oriented Programming
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems (RTOS)
- Hands on experience in Qt is a plus.
- Experience in x86 or ARM microprocessors or PIC microcontroller.
- Experience in hardware and software integration (development, testing and debugging)
- Experience in Agile / Lean software development process and tool sets is required.
- Experience with software configuration management tools, defect tracking tools, and peer review (Jira, Confluence, Bitbucket) is required.
- Experience in the use of simulators / emulators is preferred.
- Experience in a life sciences/healthcare organization is preferred.
- Excellent verbal and written communication skills are required.