Jobs · Massachusetts

ML Infrastructure Engineer

Laminar · Somerville, MA · 3 wk ago
HybridFull-time
We need to output HTML fragment with sections: headings

for sections like About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Only include sections if posting has real specific content. We must not repeat job title. No Job ID. Remove boilerplate. We need to parse posting: It's a job ad for ML Infrastructure Engineer. Contains description: "As our company grows... we are excited for a ML Infrastructure Engineer to join the team! We are looking for a thoughtful and hard-working infrastructure engineer..." Then "What You Will Do" bullet list. Then "About You" bullet list. Then "Preferred (if Any)" bullet list. Then "Benefits" list. Then other sections like "Learn How We Think", "Why You'll Love it Here", "Our Interview Process", etc. Those are not required headings but we can include if they have substantive content? The instruction: include a section ONLY when the posting has real, specific content for it — never emit a heading followed by filler/placeholder text. Prefer a few substantive sections over many thin ones. So we should include sections that have meaningful content: About the role (maybe the introductory paragraph), Responsibilities (What You Will Do), Requirements/Qualifications/Skills (About You and Preferred), Benefits. Pay and Schedule: not mentioned specifically (no salary numbers, schedule). So we should not include Pay or Schedule sections because no specific content. Also we should not include sections like "Learn How We Think" etc unless they are considered part of Benefits? Probably not needed. The instruction says use headings for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we should map content to those headings. We can combine Requirements, Qualifications, Skills into one or separate if content distinct. The posting has "About You" (required skills) and "Preferred (if Any)" (preferred). Could treat "About You" as Requirements/Qualifications/Skills. Could split: Requirements (must-have) and Preferred (nice-to-have). Qualifications maybe same as Requirements. Skills maybe same. To avoid thin sections, we could combine Requirements and Qualifications into one

Requirements

with list. Or we could have separate but risk thin. Better to have one Requirements section covering both required and preferred? But we need to preserve all substantive info. We could have

Requirements

for required, and

Preferred Qualifications

for preferred. That's two sections, both substantive. That's okay. Benefits: we have a list. Pay: not present, skip. Schedule: not present, skip. About the role: we can have introductory paragraph summarizing role and company. Use

. Responsibilities: "What You Will Do" list. Now we need to output only HTML fragment, no /, no markdown fences. We need to use

for section headings. Use
  • for lists. Use

    for prose. We must preserve all substantive information, not invent or summarize away detail. So we need to include all bullet points from What You Will Do, About You, Preferred, Benefits, plus intro paragraph. We must not include boilerplate like cookie/navigation/legal/EEO etc. The posting includes many paragraphs about company, mission, etc. Those are substantive? They describe company and culture. Could be part of About the role. We'll include them in About the role paragraph(s). We must not repeat job title. We need to be careful not to include duplicated lines. Also remove application instructions etc. The posting includes "Learn How We Think", "Why You'll Love it Here", "Our Interview Process", etc. Those are substantive but not part of standard headings. Should we include them? The instruction says use headings for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). It doesn't forbid other headings, but says "Use

    for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)." It implies we should use those headings for sections. It doesn't say we cannot add other headings, but better to stick to those. However, we need to preserve ALL substantive information. If we omit sections like "Learn How We Think", "Why You'll Love it Here", "Our Interview Process", we would lose substantive info. But maybe those are considered boilerplate? They are about company culture, interview process. Might be considered relevant but not required headings. The instruction says "include a section ONLY when the posting has real, specific content for it — never emit a heading followed by filler/placeholder text". It doesn't restrict to only those headings; those are examples. So we could add additional headings like "Company Overview", "Why Join", "Interview Process". But the examples given are typical sections. Safer to stick to those headings and embed other info within them where appropriate. For example, company overview could go in About the role. Interview process could go in a separate section maybe "Interview Process" but not in the list. However, the instruction says "Use

    for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule)." The "e.g." suggests those are examples, not exhaustive. So we can add other headings if needed. But to be safe, we could create sections for "Company Overview", "Why Join", "Interview Process". However, the instruction also says "Prefer a few substantive sections over many thin ones." So we should avoid many thin sections. Could combine company overview and why join into About the role. Interview process could be a separate section but maybe thin? It has several steps; could be its own section. Let's decide: We'll include sections: About the role (company overview + role description), Responsibilities, Requirements (required), Preferred Qualifications, Benefits, Interview Process. That's 6 sections. Pay and Schedule omitted. Now we need to extract content. Let's parse the posting: Introductory paragraphs: "For a century, the answer to “what’s in the pipe right now” was a grab sample to a lab with results back hours later. We answer it every second. Laminar is building human-centric self-driving factories: the ones made of stainless steel pipes and reactors, that make what the world eats, uses, and wears. Proprietary inline sensors read the chemistry in the pipe. Foundation models grounded in physics and chemistry reason about how close the process is to its target. Process control software acts on the answer through the plant’s automation system in real time. Laminar Insights shows what happened, why, and what it saved. A Laminar line uses about 20% less water and 20% fewer chemicals and runs 15% faster, with quality protected. Productivity and sustainability improve together. We run across six continents at manufacturers like Coca-Cola, Unilever, and AB InBev, backed by tier-1 investors in Physical AI. We’re a polymathic team of 50 in Somerville: hardware and software engineers, chemists, AI researchers, factory operators, and go-to-market wizards under one roof. Nobody here is waiting to be asked what to do. You’ll see the problem, propose the fix, and own the outcome. We believe in autonomy, ownership, and demanding excellence, and we hold each other to it. If that’s how you want to spend your time, come build the self-driving factory with us." Then: "As our company grows and scales, we are excited for a ML Infrastructure Engineer to join the team! We are looking for a thoughtful and hard-working infrastructure engineer who wants to play an integral role in bringing AI to fluid & process manufacturing. As a ML Infrastructure Engineer, you will own the development of infrastructure and tooling that helps ML researchers train, evaluate, and deploy models at scale. Your work will directly power the vertical and horizontal scalability of Laminar’s ML models across domains including (bot not limited to): CIP (clean-in-place), product changeovers, material identification, product filtration, and emerging use-cases. You will interface with ML researchers and data engineers to build infrastructure that allows researchers to frictionlessly train models on large-scale data, evaluate them on unseen data, and deploy champion models to run on the factory floor across edge devices. Your tooling will be fundamental to making our research-to-production ML pipeline faster and more hands-free, ensuring a seamless experience for researchers. Your work will be instrumental to hyper-scaling Laminar’s solutions and deepening our competitive moat by empowering researchers to deliver state-of-the-art technological advancements." Then "What You Will Do" bullet list: - Develop computer orchestration tooling for researchers to seamlessly launch modeling jobs on large-scale data – training, fine-tuning, inference. - Design model testing environments that automatically evaluate model performance without a human in the loop through semi-supervised metrics and process-aware priors. - Build model registries and automated deployment pipelines that support large-scale model tracking, versioning, and deployment on edge devices. - Develop monitoring tools for deployed models: detect model drift or anomalies, then trigger continuous training (CT) pipelines as needed. - Work with ML researchers, ML developers to design systems that meet their needs; work with software engineers to design systems that interact gracefully with existing infrastructure. - Build for our unique use-cases and problems – not for the average problem. Then "About You" bullet list: - Highly experienced using cloud platforms (AWS, Databricks) to train and evaluate ML models on large-scale data. - Experienced using off-the-shelf tools (MLflow, wandb) for experiment tracking and model lifecycle management (versioning, artifact registry, deployment, monitoring). - Highly experienced with Python and relevant SDKs (boto3, databricks-sdk, mlflow); familiar with modern ML frameworks (jax, pytorch). - Familiar accessing data through SQL, Databricks/Apache Spark, and raw parquet formats. - An engineer who thrives on building easy-to-use tools that researchers love to use. - Highly detail-oriented: you understand the nuances in our workflows and respect the challenges that come with large-scale ML training and deployment to edge devices. - Open-minded and independent thinker – well-versed in building tailor-made solutions that address real pain points. - An executor who can both independently complete technical project objectives and provide domain expertise to guide engineering design decisions. Then "Preferred (if Any)" bullet list: - Chemical engineering, process engineering, or manufacturing domain knowledge (highly valued). - Past experience working with spectral data, time-series data, or sensor data. - Experience building or evaluating custom ML models. - Experience building real products and practicing user-centric design. Then "Benefits" bullet list (actually a paragraph with bullet-like lines): - Direct impact on product and culture - Comprehensive benefits package including Medical, Dental, Vision, Life Insurance, Disability, Transportation benefit, Health and Wellness benefit, and more - 401k plan with employer matching - Equity - Competitive salary and bonus opportunities - Dynamic and inclusive work environment - Opportunities for growth and professional development - Access to Greentown Labs' extensive network of cleantech startups Then there is "Learn How We Think" etc. We'll ignore or maybe incorporate into About the role? Could add a section "Company Culture". But to keep few sections, we could incorporate those paragraphs into About the role as well. However, they are quite detailed. Might be better to have a separate section "Why Join Laminar" but that may be thin? It has several bullet-like items: front-row seat at Greentown Labs, recognition, team events, competitive salary, equity, 401k, health coverage, flexible time off, conference budget, Greentown Labs membership, transportation benefit. That's actually overlapping with Benefits. Many of those are already in Benefits. So we could skip duplicating. Interview Process: we have details. Could be its own section. Thus final sections: - About the role

Similar jobs