Job Description :

How You’ll Make an Impact

  • Develop Embedded Control Software: Design and implement core C++ control software that drives automated laboratory instruments and manages complex workflows.
  • Orchestration & Scheduling: Build and maintain scheduling logic to coordinate instrument operations—ensuring accurate, efficient execution of multi-component processes.
  • Error Handling & Recovery: Implement robust fault detection, error handling, and recovery mechanisms to maintain reliability and minimize downtime.
  • Firmware/Hardware Integration: Interface with distributed microcontroller boards via CANopen bus (10+ boards). Maintain communication protocols and real-time messaging between software and firmware subsystems.
  • Cross-Functional Collaboration: Partner with systems engineering, assay scientists, hardware teams, and quality/regulatory groups to ensure seamless system integration and compliance.
  • Technical Leadership & Mentoring: Provide technical guidance to junior and mid-level engineers through code reviews, design sessions, and mentoring. Lead architectural discussions and documentation efforts.
  • Lab Work: Support hands-on troubleshooting and integration testing in a lab environment; collaborate with multidisciplinary teams to resolve hardware/software issues.
  • Testing & Automation: Expand automated testing coverage and simulation frameworks to validate instrument behavior. Lead efforts to implement CI/CD pipelines, unit testing, and DevOps best practices to ensure software reliability.

What You Bring

  • Education & Experience:
    • Bachelor’s or Master’s degree in Computer Science, Electrical/Computer Engineering, or a related field (or equivalent experience).
    • 5+ years of experience developing embedded software for complex instruments or devices.
  • Technical Expertise:
    • Strong proficiency in modern C++ for embedded systems, including object-oriented design, multithreading, and memory management in constrained environments.
    • Hands-on experience with embedded Linux (e.g., Yocto) or real-time operating systems (RTOS) such as QNX.
    • Deep understanding of low-level OS concepts, device drivers, and performance optimization for single-board computers.
    • Proven ability to design for high reliability and uptime, including fail-safe mechanisms and state machine-driven control logic.
  • Testing & CI/CD for Embedded Systems:
    • Experience with automated testing frameworks, unit/integration testing, and hardware-in-the-loop (HIL) testing.
    • Familiarity with CI/CD pipelines and DevOps tools for embedded development.
  • Soft Skills:
    • Excellent communication and cross-functional collaboration skills.
    • Ability to convey complex technical concepts to non-technical stakeholders.
    • Proven leadership in mentoring and guiding engineering teams.

We are an equal opportunity employer. All aspects of employment including the decision to hire, promote, discipline, or discharge, will be based on merit, competence, performance, and business needs. We do not discriminate on the basis of race, color, religion, marital status, age, national origin, ancestry, physical or mental disability, medical condition, pregnancy, genetic information, gender, sexual orientation, gender identity or expression, national origin, citizenship/ immigration status, veteran status, or any other status protected under federal, state, or local law.

             

Similar Jobs you may be interested in ..