Senior Software Instrumentation Engineer II
AbbVie
- Location
- Madison, WI, United States
- Employment
- Full Time
- Work model
- On-Site
- Level
- Senior
- H-1B history
- 94 approvals (FY2023)
- Posted
- 2h ago
Skills
About this role
Company Description
About AbbVie AbbVie's mission is to discover and deliver innovative medicines and solutions that solve serious health issues today and address the medical challenges of tomorrow. We strive to have a remarkable impact on people's lives across several key therapeutic areas including immunology, oncology and neuroscience - and products and services in our Allergan Aesthetics portfolio. For more information about AbbVie, please visit us at www.abbvie.com . Follow @abbvie on LinkedIn, Facebook , Instagram , X and YouTube.
Job Description
Join the Madison Peptide Therapeutics (MPT) Engineering team as a Senior Software Instrumentation Engineer and help advance cutting-edge peptide array synthesis technology. In this role, you will develop, enhance, and maintain software that operates internally developed laboratory instruments and synthesizers in a fast-paced biotech research environment. You will work at the intersection of software, hardware, and science, applying your expertise in Linux-based C++ development to interface with sensors, actuators, pumps, motors, cameras, and other electronic devices. Your work will support instrument operation, system performance, data visibility, workflow efficiency, and product quality. This role also contributes to workflow applications that enable operators to configure and run instruments, as well as software tools that support quality and compliance processes. As a senior member of an Agile engineering team, you will help solve complex technical challenges, lead initiatives, mentor junior engineers, and deliver reliable solutions that increase throughput, reduce cost, and advance scientific capabilities.
Key Responsibilities
Design, develop, test, troubleshoot, and maintain Linux-based software for internally developed peptide array synthesizers and laboratory instrumentation. Develop and integrate machine-control software for sensors, actuators, pumps, motors, cameras, and other electronic devices. Apply software engineering expertise across system architecture, programming, data integration, machine control, data analysis, and visualization. Define and execute software testing and validation activities to ensure the quality, reliability, performance, and maintainability of instrument software. Support the deployment, configuration, operation, and troubleshooting of software applications in a biotech research and manufacturing environment. May lead technical initiatives and mentor junior engineers, contributing to design decisions, technical direction, knowledge sharing, and team development. Design and conduct experiments, engineering studies, and system characterization activities to evaluate instrument behavior and inform design improvements. Collaborate with cross-functional partners, including scientists, electrical and mechanical engineers, operations managers, quality personnel, and IT staff, to gather requirements and deliver effective solutions. Follow software development best practices, including version control, coding standards, code reviews, automated testing, documentation, Agile planning, and lifecycle management. Communicate technical information clearly through design documentation, engineering reports, presentations, status updates, and discussions with engineering leadership and project stakeholders. You will be accountable for delivering robust, maintainable, and compliant software solutions within your assigned technical scope while helping ensure that instrument systems meet operational, quality, safety, data-security, and business requirements.
Qualifications
Required Qualifications Bachelor’s degree with 10+ years of relevant experience, master’s degree with 8+ years of relevant experience, or Ph.D. with 4+ years of relevant experience. Proficiency in C and C++ development in a Linux environment. Strong understanding of object lifecycles and manual memory management in C/C++,