Jobs · Engineering · Massachusetts

Software Engineer, Applied ML

Fabri · Billerica, MA · 3 wk ago
On-siteEngineeringFull-time
We need to output HTML fragment with headings

for sections: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Only include sections that have real specific content. We must not repeat job title. Must not include Job ID etc. Remove boilerplate like EEO, equal opportunity, visa sponsorship? Actually visa sponsorship is a restriction; it's substantive? It says "Fabri is not able to provide visa sponsorship for this position." That's a requirement/condition; maybe include under Requirements or Qualifications? It's a constraint. Also ITAR regulation: candidates must be US nationals. That's also a requirement. We should include that info. We need to parse the posting. Sections: - About Fabri (intro) -> could be "About the role"? Actually "About Fabri" is company description. Could be placed under "About the role"? The instruction: use

for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we can have "About the role" heading with description of role and company. - Responsibilities: list of duties (What You'll Work On). Use
  • . - Requirements: maybe "Required Skills" and also constraints (US nationals, no visa sponsorship). Could be under Requirements. - Qualifications: maybe "Preferred Skills"? Actually Qualifications often separate from Skills. But we can treat "Preferred Skills" as Qualifications? The instruction list includes Qualifications as a possible heading. We'll include if there is content: Preferred Skills. - Skills: maybe "Required Skills" could be under Skills? But we have both Required Skills and Preferred Skills. Could map Required Skills to Requirements, Preferred Skills to Qualifications, and maybe Skills section for technical skills? However we must not create thin sections. Let's think: The posting includes "Required Skills" bullet list and "Preferred Skills" bullet list. Also earlier description includes "The right candidate is a strong C++ and/or Python engineer..." etc. That's also skills. We could combine Required Skills and Preferred Skills into a single "Skills" section? But instruction says we can have Skills heading. Might be better to have: - About the role (intro + role description) - Responsibilities (What You'll Work On) - Requirements (Required Skills + eligibility constraints) - Qualifications (Preferred Skills) - (Optionally) Benefits (Competitive salary, meaningful equity, strong growth potential) - Pay? Not specified specific number, just "Competitive salary". That's vague but still mentions salary. The instruction says: never emit a heading followed by filler/placeholder text (e.g., "commensurate with experience", "not specified", "N/A", "varies", "TBD") and never create Pay/Schedule/Benefits sections unless the posting actually states them. It says "Competitive salary, meaningful equity, and strong growth potential." That is somewhat vague but still states they offer competitive salary and equity. Is that considered specific enough? It's not a number but it's a statement of benefit. The instruction says avoid filler like "commensurate with experience". "Competitive salary" is somewhat generic but still a statement. I'd consider it substantive enough to include Benefits section (salary, equity, growth potential). Pay section maybe not needed if we include salary in Benefits. Schedule: not mentioned (on-site role). It says "This is an on-site role". That's schedule/location. Could be under Schedule? The instruction says Schedule heading only if posting actually states them. It states on-site (location) but not schedule like full-time, hours. Could treat as Schedule? Might be better to include under About the role or Responsibilities? Probably we can include a short sentence about on-site in About the role. No separate Schedule heading. Thus sections: About the role, Responsibilities, Requirements, Qualifications, Benefits. We must not include Pay or Schedule. Now we need to extract content. About the role: combine company description and role overview. Company description: "Fabri is building a fully integrated digital foundry for high-speed precision metal casting. We combine additive manufacturing, custom process software, and advanced casting operations to deliver production-quality metal parts faster and more cost-effectively than traditional methods. We are an early-stage, well-capitalized startup backed by top-tier investors and major customers. We have shipped our first customer parts and are seeing strong demand from aerospace and industrial customers. During this stage of the company, the software team works directly with the foundry. This is an on-site role for someone who wants to build software that controls, improves, and scales real-world manufacturing." Role overview: "The Role We are looking for a Software Engineer, Applied ML to build the software systems that connect Fabri's digital manufacturing process end-to-end. You will primarily work across manufacturing data, process analytics, workflow automation, and machine/process integration, developing software that helps improve manufacturing quality, throughput, and repeatability. Your work will include collecting and processing manufacturing data, analyzing historical process performance, identifying correlations between process variables and manufacturing outcomes, and building systems that help engineers detect and prevent production issues. Some projects may involve geometry processing, AWS, or backend infrastructure, but we do not expect one person to be an expert in all of these areas. The right candidate is a strong C++ and/or Python engineer who enjoys ambiguous problems, physical systems, and wearing many hats. You should be comfortable building reliable software around real-world processes, working directly with operators and engineers, and deciding what needs to be automated next. You will report to the CTO and own important pieces of Fabri's manufacturing software stack." We can combine. Responsibilities: bullet list from "What You'll Work On": - Design practical data collection systems for process data, machine logs, inspection results, and operator feedback. - Build software that processes manufacturing data and identifies opportunities to improve quality, throughput, and repeatability. - Analyze historical process data, geometry, and manufacturing outcomes to identify trends and correlations. - Build, train, and deploy ML models that predict manufacturing outcomes from process and geometry data, detect anomalies in production, and support inspection and process monitoring. - Write C++ software for data processing, automation, and manufacturing orchestration. - Help identify where automation, analytics, or machine learning can improve manufacturing processes. - Build backend services and internal tools that make the factory more reliable and scalable. - Work closely with manufacturing, process engineering, and operations to turn factory problems into usable software. Requirements: Required Skills bullet list plus eligibility constraints. Required Skills: - 3+ years of professional software engineering experience. - Strong programming ability in C++17 and/or Python. - Experience building backend systems, automation tools, data processing software, or technical internal tools. - Strong debugging and systems-thinking skills. - Comfortable working in ambiguous environments where requirements are not fully specified. - Interest in manufacturing, robotics, hardware, physical processes, industrial automation, or applied machine learning. - Ability to communicate clearly with both software engineers and non-software teammates. - Willingness to work on-site and stay close to the manufacturing process. Eligibility constraints: - Fabri is not able to provide visa sponsorship for this position. - To comply with ITAR regulations, candidates for this role must be US nationals, including US citizens or lawful permanent residents. We could include these under Requirements. Qualifications: Preferred Skills bullet list. Preferred Skills: - Applied data science or machine learning for prediction, anomaly detection, inspection, or process monitoring. - Manufacturing execution systems, industrial automation, sensors, machine logs, or IoT data. - Postgres, time-series data, data modeling, or analytics pipelines. - AWS, containers, batch compute, or deployment infrastructure. - Experience working in an early-stage startup environment. Benefits: "Competitive salary, meaningful equity, and strong growth potential." Also maybe "Why Join?" paragraph includes: Build core software for a new manufacturing process from the ground up. Work directly with machines, operators, process engineers, and real production data. Own broad, high-impact systems at an early-stage company. Help define how software, automation, and data scale a digital foundry. Those are more like benefits/why join. Could include them under Benefits as well. But we should not create thin sections. Benefits could include those points. We'll output HTML with

    headings and

    or

    • . Make sure not to include any boilerplate like EEO, equal opportunity, etc. Remove those lines. Now produce final HTML fragment. Let's craft:

      About the role

      Fabri is building a fully integrated digital foundry for high-speed precision metal casting. We combine additive manufacturing, custom process software, and advanced casting operations to deliver production-quality metal parts faster and more cost-effectively than traditional methods. We are an early-stage, well-capitalized startup backed by top-tier investors and major customers. We have shipped our first customer parts and are seeing strong demand from aerospace and industrial customers. During this stage of the company, the software team works directly with the foundry. This is an on-site role for someone who wants to build software that controls, improves, and scales real-world manufacturing. We are looking for a Software Engineer, Applied ML to build the software systems that connect Fabri's digital manufacturing process end-to-end. You will primarily work across manufacturing data, process analytics, workflow automation, and machine/process integration, developing software that helps improve manufacturing quality, throughput, and repeatability. Your work will include collecting and processing manufacturing data, analyzing historical process performance, identifying correlations between process variables and manufacturing outcomes, and building systems that help engineers detect and prevent production issues. Some projects may involve geometry processing, AWS, or backend infrastructure, but we do not expect one person to be an expert in all of these areas. The right candidate is a strong C++ and/or Python engineer who enjoys ambiguous problems, physical systems, and wearing many hats. You should be comfortable building reliable software around real-world processes, working directly with operators and engineers, and deciding what needs to be automated next. You will report to the CTO and own important pieces of Fabri's manufacturing software stack.

      Responsibilities

      • Design practical data collection systems for process data, machine logs, inspection results, and operator feedback.
      • Build software that processes manufacturing data and identifies opportunities to improve quality, throughput, and repeatability.
      • Analyze historical process data, geometry, and manufacturing outcomes to identify trends and correlations.
      • Build, train, and deploy ML models that predict manufacturing outcomes from process and geometry data, detect anomalies in production, and support inspection and process monitoring.
      • Write C++ software for data processing, automation, and manufacturing orchestration.
      • Help identify where automation, analytics, or machine learning can improve manufacturing processes.
      • Build backend services and internal tools that make the factory more reliable and scalable.
      • Work closely with manufacturing, process engineering, and operations to turn factory problems into usable software.

      Requirements

      • 3+ years of professional software engineering experience.
      • Strong programming ability in C++17 and/or Python.
      • Experience building backend systems, automation tools, data processing software, or technical internal tools.
      • Strong debugging and systems-thinking skills.
      • Comfortable working in ambiguous environments where requirements are not fully specified.
      • Interest in manufacturing, robotics, hardware, physical processes, industrial automation, or applied machine learning.
      • Ability to communicate clearly with both software engineers and non-software teammates.
      • Willingness to work on-site and stay close to the manufacturing process.
      • Fabri is not able to provide visa sponsorship for this position.
      • To comply with ITAR regulations, candidates must be US nationals (US citizens or lawful permanent residents).

      Qualifications

      • Applied data science or machine learning for prediction, anomaly detection, inspection, or process monitoring.
      • Manufacturing execution systems, industrial automation, sensors, machine logs, or IoT data.
      • Postgres, time-series data, data modeling, or analytics pipelines.

Similar jobs

Software Engineer - ML

Lowe's Companies, Inc.Charlotte, NC· 1 mo ago
Engineering$75k–$143k/yrapply on talent.lowes.com

ML Software Engineer

Aditi ConsultingRedmond, WA· 6 days ago
Engineering$80–$85/hrapply on www2.jobdiva.com