Senior Software Engineer
AbbottAbout the role
JOB DESCRIPTION:
Working at AbbottAt Abbott, you can do work that matters, grow, and learn, care for yourself and your family, be your true self, and live a full life. You’ll also have access to:
- Career development with an international company where you can grow the career you dream of.
- Free medical coverage for employees* via the Health Investment Plan (HIP) PPO
- An excellent retirement savings plan with high employer contribution
- Tuition reimbursement, the Freedom 2 Save student debt program, and FreeU education benefit - an affordable and convenient path to getting a bachelor’s degree.
- A company recognized as a great place to work in dozens of countries around the world and named one of the most admired companies in the world by Fortune.
- A company that is recognized as one of the best big companies to work for as well as the best place to work for diversity, working mothers, female executives, and scientists.
The Opportunity
Our Diagnostics business currently has an opportunity for the role of Senior Software Engineer for our Abbott Park, IL location. The primary function of this position is to 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.
What You’ll Work On
- Will contribute to the design and development of embedded robotic control software under a disciplined product development process that meets FDA and other regulatory requirements.
- Will work on software design, coding, and validation. Will support formal verification and validation testing, and ensure that development conforms to design specifications and coding standards.
- Work as part of a cross functional team to realize subsystem designs, assisting in the preparation of software design requirements and documenting work products via software design descriptions, design reviews, code reviews, unit testing, and formal verification.
- Design and implement low-level device control layer (driver level) software in current programming languages (e.g. C, C++).
- Design and implement application layer device control software utilizing statecharts to automate mechanical engineering designs.
- Assist in the evaluation of selected designs through testing and full documentation of the results.
- Investigate on-market issues, determine appropriate corrections, and implement those corrections underneath our software engineering process.
EDUCATION AND EXPERIENCE YOU’LL BRING
Minimum Qualifications
- Bachelors in Electrical or Computer Science or related engineering or scientific field.
- 6 years relevant experience and a Bachelor’s degree or 4 yrs with Masters degree.
- 4 years of experience related to software design and/or coding.
- Good knowledge of software engineering principles
- Excellent written and verbal communication skills are essential.
.
Preferred Qualifications
- 8 years of experience and a Bachelors degree or 6 years with Masters degree.
- Experience with unit testing and mocking environments, (Google Unit Test, Google Mock, etc).
- 5 years experience with RTOS based applications (QNX, etc) and inter-process communications (persistent-publish-subscribe (PPS), application messaging/notifications, google protocol buffers, etc).
- Solid understanding of C++ and robotics and sensor control including state machine usage (boost statecharts, visual state, etc) and common algorithms (debouncing sensor inputs, slip detection, etc).
- Understanding of device level communications (as demonstrated by prior work).
Learn more about our benefits that add real value to your
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s