Participate in requirements refinement, architecture discussions, design specification reviews, and test plan development for features across the full stack.
Write clean, maintainable code and documentation using engineering best practices. Writes unit, component, and integration tests.
Develop and maintain event-driven, multi-threaded applications interacting with embedded devices.
Support debugging and issue resolution across software and hardware interfaces.
Work with quality engineering teams to design test plans for developed software.
Research new tools, technologies, and test processes for software development.
Participate in code reviews and create documentation on engineering and cross-functional practices.
Adapt and scale existing systems to support growth and innovation across the company.
Rapidly prototype solutions to emerging problems and lead their evolution into production-grade systems.
Contribute to documentation required for regulated development environments.
Familiarity with DevOps and Agile software development
BS or higher in a STEM discipline with 6 plus years of professional coding experience. At least 4 years of software design and development experience. At least 3 years of Windows programming with C# and .NET in an embedded device environment.
Experience in developing event driven, multi-threaded Windows-based applications using WPF, WCF, .NET and C# strongly preferred. Must have some experience with common protocols such as: I2C, SPI, USB, Serial, WIFI, Bluetooth.
Must have experience in structured software and systems development and integration, including experience in software design methodologies, design patterns, component-oriented software architecture to produce high-quality software applications.
Knowledge of software life cycle processes used in regulated development environments. Must understand hardware and embedded systems with microprocessors.
Experience in a software development background in a structured/regulated environment such as medical device development is required. Experience with embedded development in a cross functional environment, including Systems and/or Electrical engineer(s)
Experience with an automated testing framework. Strong debugging and problem-solving skills.
Prior work experience in one or more of the following subject areas would be helpful: windows driver development, automation of software framework for operations, development of software communication using RS232 to embedded devices, communication to pressure and vacuum gauges etc.
Result-oriented, self-motivated and able to participate as both a team member and an individual contributor. Self-starter able to work with minimal direction.
Strong verbal and written communication skills. Ability to author good engineering documentation.
Applicable only to applicants applying to a position in any location with pay disclosure requirements under state or local law:
We offer a comprehensive package of benefits including paid time off (vacation, holidays, sick), medical/dental/vision insurance and 401(k) to eligible employees.
This job is eligible to participate in our short-term incentive programs.
AbbVie is an equal opportunity employer and is committed to operating with integrity, driving innovation, transforming lives and serving our community. Equal Opportunity Employer/Veterans/Disabled.
US & Puerto Rico only - to learn more, visit https://www.abbvie.com/join-us/equal-employment-opportunity-employer.html
US & Puerto Rico applicants seeking a reasonable accommodation, click here to learn more:
Dental insuranceVision insurance401(k)Paid time offPerformance bonus
Additional Information
Purpose:
The Software Engineer prepares and installs solutions by determining and designing system specifications, standards, and programming for hardware-integrated, regulated devices. Improve operations by conducting systems analysis and recommending changes in policies and procedures and collaborate with cross-functional teams.