The Senior Embedded Software Engineer will help develop robotics control and scheduling applications used in a laboratory environment, automating the testing of donor blood and plasma. The ideal candidate will have experience in motion control and fluidics, utilizing servos and stepper motors to physically move mechanisms into position and valves and pumps to process fluids. Responsibilities include contributing to the design and development of embedded robotic control software under a disciplined product development process that meets FDA and other regulatory requirements; software design, coding, and validation; supporting formal verification and validation testing; working as part of a cross functional team to realize subsystem designs; assisting in preparation of software design requirements and documenting work products; designing and implementing low-level device control layer software in languages such as C and C++; designing and implementing application layer device control software utilizing statecharts; assisting in evaluation of selected designs through testing and documentation; investigating on-market issues and implementing corrections; leading engineering design and implementation for software features; defining code-level APIs and testing strategies; serving as technical subject matter expert; defining feature evolution and integration strategies; reviewing testing strategies and implementing hardware/interface simulation; analyzing user needs and product requirements; providing effort estimates; planning and directing projects or sub-systems; developing high level design for software applications. Required qualifications include a Masters Degree with 4+ years of related experience or equivalent experience with other degrees. Preferred qualifications include 8 years of experience with a BS degree or 6 years with MS degree, 4 years related to software design/coding, knowledge of software engineering principles, excellent communication skills, experience with unit testing and mocking environments, 5 years experience with RTOS based applications and inter-process communications, solid understanding of C++ and robotics and sensor control including state machine usage, and understanding of device level communications.