Software Engineer

MSD Careers•Gaithersburg, MD
•Hybrid

About The Position

The Software Engineer is responsible for the design enhancement, integration, testing and life cycle support of MSD’s advanced laboratory automation software products. The position involves developing technical solutions that incorporate artificial intelligence (AI), machine learning (ML), computer vision, and IoT to solve complex scientific and engineering problems. The ideal candidate will apply modular and scalable software practices to deliver robust and innovative automation systems used in scientific and industrial environments.

Requirements

  • A minimum of Bachelor’s degree in Computer Science or related field is required.
  • Minimum of one year experience in software engineering, preferably in laboratory automation, robotics, or computer vision applications.
  • Proficiency in one or more object-oriented languages (e.g., Java, Python, C++) and knowledge of design patterns and modular software design required.
  • General knowledge of best practices related to the software development life cycle.
  • Strong understanding of database systems, including SQL, NoSQL, and time-series data storage techniques.
  • Demonstrated logical problem solving abilities and able to decompose a complex process into simplified steps.
  • Understanding of IoT architectures and protocols (e.g., MQTT, REST APIs) for sensor integration and device control.
  • Strong organizational skills and the ability to manage multiple priorities in a dynamic environment.
  • Good oral, written communication and interpersonal skills
  • Ability to work independently and collaboratively in cross-functional teams, and to communicate complex technical ideas clearly.

Nice To Haves

  • A Master’s degree is desirable.
  • Additional years of experience may be substituted for a degree.
  • Coursework or hands-on experience in image processing, machine learning, or robotics strongly preferred.
  • Experience with OpenCV, TensorFlow, or similar ML/vision frameworks is highly desirable.
  • Knowledge of building tools/automated build systems and installation software is desired.

Responsibilities

  • Design, develop, test, and maintain software modules across client, web, and server environments with emphasis on laboratory automation, machine vision, and real-time data processing.
  • Integrate AI/ML models and OpenCV pipelines to enable intelligent analysis of laboratory instrument images and sensor data.
  • Collaborate with hardware, systems, and electrical engineering teams to develop software interfaces for robotic platforms and IoT-enabled devices.
  • Support full-stack development activities, including responsive UI design and backend architecture, to enable real-time system control and monitoring.
  • Develop and optimize SQL and NoSQL data architectures for high-throughput data acquisition and analytics.
  • Conduct unit testing, verification, debugging, and peer review of software components to ensure quality and reliability.
  • As required, present and participate in peer reviews of code and designs.
  • Contribute to the development and maintenance of standard operating procedures (SOPs), coding standards, and technical documentation.
  • Apply best practices in software development including Agile methodology, CI/CD pipelines, and containerized environments (e.g., Docker, AWS).
  • Specific duties may vary depending upon departmental requirements.

Benefits

  • medical, dental, and vision coverage, along with prescription benefits.
  • 401(k) plan with company matching
  • flexible spending accounts
  • company-paid short- and long-term disability insurance
  • group life and accidental death and dismemberment insurance.
  • paid vacation, paid sick leave, paid holidays, and paid parental leave
  • employee assistance program.
  • fitness club membership contribution
  • pet insurance
  • identity theft protection
  • home and auto insurance discounts
  • optional supplemental life insurance.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service