Device Software Engineer
About the role
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 atwww.abbvie.com. Follow @abbvie onLinkedIn,Facebook,Instagram,XandYouTube.
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.
Responsibilities
- 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.
Qualifications
- 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.