Software Engineer

Barry-WehmillerEden Prairie, MN
11h

About The Position

GENERAL PURPOSE OF JOB: The Principal Software Engineer will serve as the technical leader for embedded control and automation software design, with a primary focus on microcontrollers and embedded systems, and additional work with programmable logic controllers (PLCs), and system-level integration. This individual will drive software architecture, development standards, and design best practices for complex capital equipment supporting the pharmaceutical and medical device industries. The ideal candidate combines deep hands-on experience with embedded system and PLC programming, strong systems engineering acumen, and the ability to mentor and serve as a software development expert.

Requirements

  • Solid working knowledge of microcontrollers (ARM Cortex, Microchip, STM32, etc.), PLCs (Beckhoff, Omron, Allen-Bradley, etc.), FPGAs, sensors, and communication interfaces (I2C, SPI, UART, CAN, Ethernet, Modbus, Profinet).
  • Strong understanding in Microsoft Visual Studio development using programming languages C, C++, C#, and C# WPF.
  • Expert in IEC 61131-3 programming languages and embedded assembly/C/C++.
  • Strong analytical and debugging skills using oscilloscopes, logic analyzers, and network tools.
  • Excellent documentation, communication, and leadership skills.
  • Ability to balance innovation with compliance and risk management.
  • Strong leadership, communication, and mentoring abilities.
  • Excellent problem-solving and analytical thinking.
  • Collaborative and adaptable with cross-functional teams.
  • Master’s or bachelor’s degree in computer science, Computer Engineering or related required.
  • 10+ years developing software for microcontroller and PLC based platforms with at least 3 years in a technical leadership or principal engineer capacity, or 8+ years with a Master’s degree.
  • Proven track record of bringing products from concept through production.
  • Ability to read, analyze and interpret general business periodicals, professional journals, technical procedures, schematics, interconnects assembly and part drawings or governmental regulations.
  • Ability to write reports, business correspondence and procedure manuals.
  • Ability to present information and respond to questions from groups of managers, clients, and customers.

Nice To Haves

  • Experience with ISO 9001, 13485, IEC 61131-3, 21 CFR part 11 and 21 CFR 820 quality systems and design controls.
  • Knowledge of functional safety standards (IEC 61508, ISO 13849).
  • Strong familiarity with system engineering practices and requirements traceability.
  • Experience in reliability engineering and lifecycle analysis.
  • Project management or technical lead experience in multi-disciplinary programs.

Responsibilities

  • Lead the design and implementation of real-time control systems for automated medical device manufacturing equipment.
  • Define software architectures integrating microcontrollers, PLCs, motion controllers, sensors, and HMI systems.
  • Design, implement, and optimize motion control systems for precision automation applications, including servo and stepper motor control.
  • Provide technical guidance on hardware selection, control strategy, safety interlocks, and network communication protocols.
  • Serve as the primary software technical authority during design reviews, risk assessments, and design verification activities.
  • Develop and maintain embedded firmware in assembly/C/C++ for microcontrollers (e.g., 68000, ARM Cortex, Microchip, or Maxim Integrated).
  • Develop and maintain Windows Visual Studio HMI applications in C/C++/C#/C# WPF(for BW-TEC HMI).
  • Develop structured PLC software (Ladder Logic, Function Block Diagram, Structured Text) using Allen-Bradley, Beckhoff and Omron platforms.
  • Implement deterministic communication between embedded controllers, PLCs, and supervisory systems (EtherNet/IP, Modbus, CAN, RS-485, SPI, I²C, etc.).
  • Develop user interfaces and operator controls through HMI systems for production environments.
  • Ensure software modules are robust, maintainable, and traceable to design inputs and risk mitigations
  • Collaborate with mechanical, electrical, and process engineers to develop integrated control solutions for precision motion, fluidics, robotics, and safety systems.
  • Participate in design verification and validation (V&V) testing, including protocol creation, execution, and documentation per QMS requirements.
  • Support factory acceptance testing (FAT), site acceptance testing (SAT), and field support of deployed systems.
  • Conduct root cause analysis and corrective action for software-related field or production issues.
  • Contribute to the development of company-wide software standards for automation platforms and embedded systems.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service