Jobs · Engineering · Illinois

Assistant Software Engineer - Autonomous Discovery Platforms (MADSCi)

Argonne National Laboratory · Lemont, IL · 1 wk ago
Engineering$94k–$147k/yrFull-time

About the role

The Rapid Prototyping Lab (RPL), part of the Data Science and Learning division at Argonne National Laboratory, seeks a Software Engineer to lead the development and maintenance of the Modular Autonomous Discovery for Science (MADSci) framework. MADSci is an open-source Python platform that automates scientific experiments across various fields.

Responsibilities

  • Lead day-to-day development of the MADSci framework: design and implement new features, triage and resolve bugs, review pull requests, and shepherd releases through the project's CI/CD pipeline.
  • Own the architecture of a Python microservices system spanning workflow orchestration, resource and inventory tracking, distributed event logging, experiment management, and device integration.
  • Collaborate with experimental scientists and robotics engineers to onboard new instruments, design experiment workflows, and translate scientific goals into robust software abstractions.
  • Maintain and grow the contributor community, including external collaborators at other DOE laboratories, universities, and industrial partners. Triage issues, review external contributions, and represent the project at workshops, conferences, and working groups.
  • Operate and improve production deployments of MADSci in active autonomous laboratories at Argonne, including monitoring, observability (OpenTelemetry), backups, migrations, and on-call support during experimental campaigns.
  • Mentor early-career staff, students, and interns contributing to MADSci and to autonomous-laboratory projects more broadly.
  • Contribute to proposals, publications, and outreach describing MADSci and its scientific impact (e.g., journal articles, conference talks, the JOSS publication, documentation).

Requirements

  • Required Qualifications:
    • RD2: Bachelor’s degree and 5+ years of experience or Master's and 3+ years in computer science, or a PhD and 0+ years in software engineering, a related computational discipline.
    • Demonstrated proficiency in modern Python (3.10+), including type-annotated code, packaging, and testing.
    • Practical experience designing and maintaining production-quality software: version control (Git/GitHub), code review, automated testing, CI/CD, semantic versioning, and structured release management.
    • Familiarity with at least one web service framework (e.g., FastAPI, Flask, Django) and with HTTP/REST API design.
    • Working knowledge of relational and/or document databases (e.g., PostgreSQL, MongoDB-compatible stores) and of containerized deployment (Docker, docker compose).
    • Strong written and verbal communication skills, including the ability to write clear technical documentation for both developer and end-user audiences.
    • Demonstrated ability to work effectively as part of a small, cross-disciplinary team and to collaborate with non-software domain experts (scientists, instrument operators, hardware engineers).
  • Preferred Qualifications:
    • Software engineering depth.
    • Experience designing microservice or service-oriented systems, including service discovery, schema management, and inter-service communication patterns.
    • Experience with Pydantic v2, SQLModel/SQLAlchemy, or comparable typed-data and ORM frameworks.
    • Experience maintaining a multi-package monorepo (e.g., PDM, uv, Poetry workspaces) with shared types and coordinated releases.
    • Experience with observability tooling: OpenTelemetry, distributed tracing, structured logging, metrics dashboards.
    • Experience as a maintainer of an open-source project, including triaging external issues, reviewing community contributions, and managing a public roadmap.
    • Experience with frontend development (Vue 3, TypeScript) sufficient to coordinate with frontend collaborators on dashboard and TUI features.
    • Experience integrating scientific instruments or laboratory robots with software control systems (e.g., liquid handlers, plate readers, robotic arms, mobile platforms, characterization instruments).
    • Familiarity with laboratory automation standards or protocols such as SiLA2, OPC-UA, ROS/ROS 2, AnIML, or vendor-specific instrument SDKs.
    • Experience building or operating a self-driving laboratory, autonomous experimentation platform, or closed-loop active-learning workflow, in academia, a national lab, or industry.
    • Familiarity with scientific workflow systems (e.g., Globus Compute, Parsl, Snakemake, Nextflow) and with managing experimental data lifecycles.
    • Background or coursework in a physical or life science sufficient to communicate fluently with experimental collaborators (e.g., chemistry, materials science, biology, physics).
    • Experience deploying software in shared scientific computing environments (HPC clusters, ALCF, lab-edge compute).
    • Contributions to DOE, NSF, or other federally funded scientific software projects.
    • Experience with AI/ML for experimental design (Bayesian optimization, active learning, surrogate models).
    • Experience writing or contributing to technical proposals or scientific publications.

    Pay

    The expected hiring range for this position is $94,486.00 - $147,398.94. Please note that the pay offered to a selected candidate will be determined based on factors such as, but not limited to, the scope and responsibilities of the position, the qualifications of the selected candidate, business considerations, internal equity, and external market pay for comparable jobs. Additionally, comprehensive benefits are part of the total rewards package. Click here to view Argonne employee benefits!

Similar jobs