What are the responsibilities and job description for the Principal Software Engineer - Embedded Systems position at Katalyst CRO?
Responsibilities
- As a key member of our R&D team, you'll be responsible for developing and maintaining the embedded software architecture and design for our life-saving CRRT devices.
- You'll work collaboratively with cross-functional teams to create the best solutions possible, and mentor junior engineers to help them grow and succeed.
- With 5 years of experience in embedded software development and a passion for patient care and safety, you're the perfect candidate to fill this vital role.
- You'll use your analytical skills to identify risks and opportunities for innovation quickly, and your ability to communicate design decisions and inputs effectively will be essential to our success.
- Developing critical care software on our state-of-the-art Continuous Renal Replacement Therapy PrisMax device within an Agile (Scrum) framework.
- Working with a real-time embedded software system utilizing Green Hills Integrity OS within a complex multi-therapy electro-mechanical device/platform.
- Proposing design alternatives, creating excellent software requirements, and molding software architecture.
- Implementing code and unit tests in C/C and performing peer reviews.
- Estimating work, writing design documentation, and investigating high-priority field issues.
- Collaborating with architects, other developers, testers, systems engineers, and other cross-functional personnel to create the best solution possible.
- Bachelor's in computer science, Computer Engineering, Electrical Engineering, Software Engineering, or related field with 5 years of experience or Masters with 3 years.
- 5 years of professional experience in embedded software development.
- Process oriented attitude and demonstrated proficiency in various software development lifecycle methodologies including Agile, Iterative, V-Model, etc. within a regulated development environment.
- Good experience with Embedded SW Architecture, design, development, test & integration, debugging techniques, and simulator usage.
- Demonstrated experience performing many technological tasks including analysis and design, requirements engineering, use-case development, developing within a RTOS environment, and implementing maintainable, well-designed code in C and C.
- Good experience in analyzing sophisticated issues with memory / threading / performance and ability to drive structured and methodological analysis for tough issues during development.
- Ability to communicate design decisions, inputs, and outputs, and convince management on courses of action using both written and verbal methods.