Software Engineer – Lab Automation Instrument (On-Device Systems) / Temp-to-Hire

Zymo Research CorporationIrvine, CA
$90,000 - $115,000Onsite

About The Position

Job Summary: Zymo Research is looking for a dynamic individual to join our Software Engineering team! In this role, you will play a vital part in developing software that runs directly on lab benchtop devices used for laboratory automation workflows, utilizing your skills and expertise in full-stack software development, user interface design, workflow logic, and hardware control. Your contributions will ensure the delivery of reliable, integrated on-device software solutions to internal teams and key stakeholders, while bridging software and hardware to support real-world biotech applications. Join us in making a meaningful impact! Essential Duties and Responsibilities On-Device Application Development (Primary Focus) Design and implement software that runs locally on the instrument, including: Workflow execution for lab protocols (e.g., magnetic bead handling, liquid handling) State management and control logic for device operations Data handling, logging, and error reporting Develop application logic using Python & Java Script (preferred) and/or C/C++ (as applicable to system architecture) Modular, maintainable software design for long-running processes User Interface (Touchscreen UI/UX) Build and maintain an intuitive touchscreen interface for lab users Design UI flows for: Protocol setup and execution Status monitoring and alerts Error handling and recovery Work with frameworks such as Qt, PyQt, or similar embedded UI technologies (web frameworks optional but not primary) Implement local data persistence for protocol files and support seamless protocol retrieval and rerun on the instrument Hardware & Motion Control Integration Interface directly with hardware components, including: Develop software that integrates: UI layer Application/workflow logic Hardware control interfaces Ensure reliable operation of the full system in a lab environment Optimize performance for responsiveness and stability on embedded/edge hardware Software Quality & Development Practices Write unit and integration tests where applicable Use Git/GitHub for version control, code reviews, and release management Support software update mechanisms (e.g., versioned releases via GitHub) Maintain clean, readable, and well-documented code

Requirements

  • Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or related field
  • 2–3 years of professional software development experience
  • Strong Experience with Python (or similar language); Building applications (not limited to web; desktop or embedded preferred)
  • Experience working with: Hardware interfaces, serial communication, or device I/O (GPIO, UART, I2C, etc.) and debugging complex systems involving both software and hardware.
  • Familiarity with Git/GitHub
  • Strong problem-solving skills and ability to work in a multidisciplinary team

Nice To Haves

  • Experience with: Embedded Linux systems or single-board computers (e.g., Raspberry Pi), Motion control systems (motors, drivers, sequencing), Touchscreen UI frameworks (Qt, PyQt, or similar).
  • Exposure to: Lab automation, biotech instruments, or fluidics systems; Real-time or near-real-time system behavior: Designing software for physical systems rather than purely digital product.
  • Familiarity with IoT devices and basic networking concepts is preferred
  • Experience with RESTful APIs is a plus
  • Basic frontend/web experience (useful for UI concepts, but not a primary focus)
  • Experience with data visualization or simple dashboards on-device
  • Familiarity with software update/versioning systems for deployed devices

Responsibilities

  • On-Device Application Development (Primary Focus)
  • Design and implement software that runs locally on the instrument, including:
  • Workflow execution for lab protocols (e.g., magnetic bead handling, liquid handling)
  • State management and control logic for device operations
  • Data handling, logging, and error reporting
  • Develop application logic using Python & Java Script (preferred) and/or C/C++ (as applicable to system architecture)
  • Modular, maintainable software design for long-running processes
  • User Interface (Touchscreen UI/UX)
  • Build and maintain an intuitive touchscreen interface for lab users
  • Design UI flows for:
  • Protocol setup and execution
  • Status monitoring and alerts
  • Error handling and recovery
  • Work with frameworks such as Qt, PyQt, or similar embedded UI technologies (web frameworks optional but not primary)
  • Implement local data persistence for protocol files and support seamless protocol retrieval and rerun on the instrument
  • Hardware & Motion Control Integration
  • Interface directly with hardware components, including:
  • Develop software that integrates:
  • UI layer
  • Application/workflow logic
  • Hardware control interfaces
  • Ensure reliable operation of the full system in a lab environment
  • Optimize performance for responsiveness and stability on embedded/edge hardware
  • Software Quality & Development Practices
  • Write unit and integration tests where applicable
  • Use Git/GitHub for version control, code reviews, and release management
  • Support software update mechanisms (e.g., versioned releases via GitHub)
  • Maintain clean, readable, and well-documented code

Benefits

  • Medical, Dental, Vision, and Life Insurance Coverages
  • EAP Sessions
  • Vacation Time plus Company Holidays
  • Paid Sick Leave
  • Generous 401(K) with matching
  • Employee Referral Bonus
  • Complimentary fruit, snacks, and beverages
  • Complimentary catered lunches on Thursdays
  • Complimentary EV Charging
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service