
Sr. Embedded Software Engineer, Device Driver and CI/CD
Abbott · Alameda, CA
- On site
- Full-time
- $171,000 / year
- Alameda, CA
Job highlights
- Develop embedded product software and CI/CD infrastructure.
- Lead technical teams in software design and testing.
- Design and implement device drivers in C/C++.
- Build scalable CI/CD systems with hardware integration.
- Ensure high quality and reliability in medical devices.
About the role
About Abbott
Abbott is a global healthcare leader that helps people live more fully at all stages of life. Our portfolio of life-changing technologies spans the spectrum of healthcare, with leading businesses and products in diagnostics, medical devices, nutritionals and branded generic medicines. Our 115,000 colleagues serve people in more than 160 countries.The Opportunity
This position works out of our Alameda, CA location in the Abbott Diabetes Care Division, where we are focused on helping people manage their health with life-changing products that provide accurate biometric data to drive better-informed decisions. We’re revolutionizing the way people monitor their health with our new sensing technology.The Senior Embedded Software Engineer will work on driving new, embedded product software development and building software and test infrastructure to meet our high standards for safety, quality and reliability. This position may lead technical teams in the accomplishment of software design, testing and/or maintenance activities. This individual will develop networks involving cross functional/cross departmental groups. The ideal candidate will readily adjust priorities and works within the team environment for timely completion of common objectives for multiple projects. Lastly, this individual will resolve significant and/or complex technical issues to meet company objectives. #software #embedded #CI/CD
This is a fully on-site role in Alameda, CA
What You’ll Work On
- Self-starter that works independently (or in a lead role) in one or more aspects of the overall software development process (such as software design, code development, testing and/or maintenance) of application software or embedded firmware under a disciplined product development process that meets FDA requirements.
- Plan, develop, and maintain CI/CD pipelines for embedded software projects.
- Contribute to software system designs including architecture definitions and module interfaces.
- Implement device driver designs efficiently in a programming language (C, C++, etc.)
- Design multi-worker CI/CD systems with hardware integration that can be scaled to meet development needs
- Design and document test infrastructure for ease of use with flexibility to design change
- Create high quality software design documentation
- Research technical issues and propose technical approaches.
- Reliably deliver high quality software within schedule constraints.
- Provides technical ownership of software products.
- Use appropriate tools and techniques for productivity and code quality : debuggers, profilers, unit testing, source control, etc.
- Interact with test engineers to ensure software products are robust and of very high quality.
- Participate in the full life cycle of development, from specification and design through implementation, testing, and support.
- Work on significant and unique issues where evaluation of situations or data requires analysis of intangibles.
- Exercise independent judgment in methods, techniques and evaluation criteria for obtaining results.
Required Qualifications
- Bachelor’s Degree with 8+ years of experience in technical discipline that related to this role, or master’s degree with 7+ years of experience or Doctorate Degree with 2+ years of experience.
- BA or BS in Electrical Engineering, Computer Science, Computer Engineering, or similar disciplines.
- Knowledge of embedded software system design, C, C++, structured software development, debugger and ICE, RTOS, device driver and low-level device interface, microprocessor architecture, SPI, UART, device memory management.
- Knowledge of CI/CD tools (e.g., Jenkins, Bitbucket CI, GitHub Actions, etc.).
- Knowledge of scripting languages (e.g., Python, PowerShell, etc.).
- Excellent written and verbal communication skills.
Preferred Qualifications
- Python, RF communication including Bluetooth, NFC, assembly language, PC application DLLs.
Key skills/competency
- Embedded Software Engineering
- Device Drivers
- CI/CD Pipelines
- C++
- C
- RTOS
- Software Design
- Test Infrastructure
- Python
- Debugging
Skills & topics
- embedded software engineer
- device driver
- CI/CD
- embedded systems
- software development
- C++
- C
- RTOS
- firmware
- Abbott
How to get hired
- Tailor your resume: Highlight your embedded software, device driver, and CI/CD experience. Quantify achievements with data.
- Showcase technical skills: Emphasize your proficiency in C, C++, RTOS, and CI/CD tools like Jenkins.
- Demonstrate leadership: Mention any experience leading technical teams or projects.
- Understand Abbott's mission: Align your application with Abbott's focus on life-changing healthcare technologies.
- Prepare for interviews: Be ready to discuss complex technical challenges and your problem-solving approach.
Technical preparation
Master C/C++ for embedded systems programming.,Understand RTOS and device driver development.,Practice with CI/CD tools like Jenkins.,Review microprocessor architecture and interfaces.
Behavioral questions
Describe a complex technical challenge faced.,How do you ensure software quality and reliability?,How do you handle changing project priorities?,Give an example of leading a technical initiative.
Frequently asked questions
- What are the key technical skills required for the Senior Embedded Software Engineer role at Abbott?
- The Senior Embedded Software Engineer role at Abbott requires strong knowledge of embedded software system design, C, C++, structured software development, debuggers and ICE, RTOS, device drivers, low-level device interfaces, microprocessor architecture, SPI, UART, and device memory management. Experience with CI/CD tools like Jenkins and scripting languages such as Python is also essential.
- What is the work arrangement for the Senior Embedded Software Engineer position at Abbott?
- This is a fully on-site role located at Abbott's Alameda, CA facility. Candidates are expected to work from the office daily.
- What is the salary range for the Senior Embedded Software Engineer position at Abbott?
- The base pay range for this position at Abbott is $114,000.00 to $228,000.00 annually. Actual compensation may vary based on specific location and candidate qualifications.
- What educational background is preferred for this embedded software role at Abbott?
- Abbott prefers candidates with a Bachelor's degree in Electrical Engineering, Computer Science, Computer Engineering, or similar disciplines. Advanced degrees like a Master's or Doctorate with relevant experience are also considered.
- How can I best highlight my experience for the Senior Embedded Software Engineer role at Abbott?
- To best highlight your experience, focus on quantifying your achievements in embedded software development, device driver implementation, and CI/CD pipeline creation. Showcase your problem-solving skills and any experience leading technical initiatives or teams.
- What are the typical responsibilities of a Senior Embedded Software Engineer at Abbott?
- Responsibilities include designing and developing embedded product software, building and maintaining CI/CD pipelines, implementing device drivers, contributing to software system designs, creating test infrastructure, and participating in the full software development lifecycle, all while adhering to FDA requirements.
- What programming languages and tools are most important for this role at Abbott?
- The most important programming languages are C and C++. Proficiency with CI/CD tools such as Jenkins, Bitbucket CI, or GitHub Actions, and scripting languages like Python are also critical.
Similar roles
Open positions we recommend based on this role.