Machine Learning Engineer II (Underwriting ML)
for headings. Use - for lists,
for prose.
We need to parse the posting.
Content:
- Intro paragraph about Affirm and Underwriting ML team: "At Affirm, we exist for the moments that matter—giving people a clear, predictable way to pay over time, with no hidden fees, no surprises, and no tradeoffs on what matters most. On the Underwriting ML team, you’ll build and improve machine learning systems that make real-time transaction decisions, assessing the repayment risk and expected value of every Affirm checkout. You’ll work closely with experienced ML engineers, platform partners, and cross-functional stakeholders to take models from idea to prototype to production, and to keep them healthy with strong measurement and monitoring as user behavior and macroeconomic conditions evolve."
That's about the role. Could be "About the role".
- Then "What You’ll Do" bullet list (actually sentences each starting with "You will").
List items:
1. develop and iterate on underwriting prediction models using a mix of approaches for tabular and sequential data
2. build and scale feature pipelines and training datasets from proprietary and third-party signals, partnering with data and platform teams when needed.
3. prototype new modeling ideas and features, run offline experiments, and drive the best-performing approaches into production with appropriate risk controls.
4. help productionize models: integrate into batch and/or real-time decision systems, and improve reliability, latency, and operational robustness.
5. instrument and monitor model and data health, and help define retraining/backtesting workflows
6. collaborate across Engineering, Risk Analytics, Product, and ML Platform to define requirements, evaluate tradeoffs, and communicate results clearly to both technical and non-technical audiences.
That's responsibilities.
- Then "What We Look For" list of qualifications/experience.
List items:
- You have a total of 2+ years of experience as a machine learning engineer or a PhD in a relevant field.
- Strong Python skills and experience writing production-quality code.
- Experience building and evaluating models for classification problems (preferably gradient-boosted decision trees like LightGBM/XGBoost/CatBoost, or similar).
- Experience with a deep learning framework (PyTorch preferred).
- Experience working with distributed data processing or parallel compute frameworks (Spark preferred; Ray/Dask or similar).
- Experience with ML lifecycle tooling for training orchestration, experimentation, and model monitoring (e.g., Kubeflow, Airflow, MLflow, or equivalent internal platforms).
- Proficient in using AI-powered developer tools (e.g., Claude Code, Cursor, or similar) to accelerate iteration, debugging, and code quality as part of day-to-day development workflows.
- You have mastered taking a simple problem or business scenario into a solution that interacts with multiple software components, and executing on it by writing clear, easily understood, well tested and extensible code.
- You are comfortable navigating a large code base, debugging others' code, and providing feedback to other engineers through code reviews.
- Your experience demonstrates that you take ownership of your growth, proactively seeking feedback from your team, your manager, and your stakeholders.
- You have strong verbal and written communication skills that support effective collaboration with our global engineering team.
- This position requires either equivalent practical experience or a Bachelor’s degree in a related field
Also later: "Pay Grade - L Equity Grade - 6 Employees new to Affirm typically come in at the start of the pay range. Affirm focuses on providing a simple and transparent pay structure which is based on a variety of factors, including location, experience and job-related skills. Base pay is part of a total compensation package that may include equity rewards, monthly stipends for health, wellness and tech spending, and benefits (including 100% subsidized medical coverage, dental and vision for you and your dependents.) USA base pay range (CA, WA, NY, NJ, CT) per year: $165,000 - $225,000 USA base pay range (all other U.S. states) per year: $146,000 - $206,000 Remote-first with flexibility built in Affirm is proud to be a remote-first company. Most roles can be done from almost anywhere within the country of employment. Some positions may occasionally require in-person work at an Affirm office, and a few are office-based due to the nature of the work. All new hires will be invited to attend an in-person onboarding experience."
Then "Benefits Designed For You" list:
- Health coverage at no cost: We cover 100% of premiums for employees and their dependents.
- Spending stipends: Monthly stipends support your tech setup, and the ability to choose health and wellness options that are right for you.
- Time off to recharge: Flexible time off and generous holiday calendars help you rest when you need to.
- Own a piece of what you build: Our employee stock purchase plan (ESPP) lets you buy Affirm stock at a discount.
- We’re committed to providing an inclusive interview process, including accommodations for candidates with disabilities. If you need support, we’re happy to help.
- For positions based in San Francisco or Los Angeles: Affirm considers qualified applicants with arrest and conviction records, as required by law.
- By clicking "Submit Application," you acknowledge that you have read Affirm's Global Candidate Privacy Notice and consent to the use of your personal information as described. (But we should remove application instructions and legal boilerplate. The last bullet about privacy notice is boilerplate; we should drop it. Also the inclusive interview process maybe keep? It's part of benefits? Might be considered boilerplate but it's a statement about accommodations. Might keep as part of benefits? The instruction says remove cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate. The inclusive interview process is EEO? Might be considered EEO. Safer to drop that line. Also the arrest and conviction records line is specific to SF/LA; maybe keep as it's a benefit? It's a legal requirement but it's specific. Might keep as part of benefits? It's not a benefit per se but a policy. Could keep under Benefits? Might be considered legal. Safer to drop? The instruction: remove EEO/equal-opportunity/scam-warning boilerplate. The arrest and conviction records line is not EEO but a local ban-the-box law; might be considered legal. I'd drop it to be safe.
Thus benefits list: health coverage, spending stipends, time off, ESPP.
Pay: we have pay ranges for specific states and other states. Also mention equity grade, pay grade, monthly stipends for health, wellness and tech spending (but that's also benefits). Pay section should include base pay ranges. Also mention equity grade? Might be part of Pay? Could include under Pay: "Pay Grade - L, Equity Grade - 6". But we should not include filler like "Employees new to Affirm typically come in at the start of the pay range." That's substantive? Might be okay. But we need to avoid filler like "commensurate with experience". This is okay.
Schedule: remote-first flexibility. So we can have a Schedule section: "Remote-first with flexibility built in. Most roles can be done from almost anywhere within the country of employment. Some positions may occasionally require in-person work at an Affirm office, and a few are office-based due to the nature of the work. All new hires will be invited to attend an in-person onboarding experience."
That's schedule.
Now we need to output HTML fragment with sections only if they have real specific content.
We'll have:
About the role
...
Responsibilities
- ...
...
Requirements
maybe combine qualifications? The posting has "What We Look For". Could be Requirements or Qualifications. We'll choose Requirements.
Requirements
- ...
...
We could also have Skills section separate? The qualifications include skills like Python, ML frameworks, etc. Could put under Skills. But we have many items; maybe better to split: Requirements (experience/education) and Skills (technical). However instruction: prefer a few substantive sections over many thin ones. Could combine all into Requirements. But we have also Benefits, Pay, Schedule.
Thus sections: About the role, Responsibilities, Requirements, Benefits, Pay, Schedule.
We need to ensure we don't include empty sections.
Now craft HTML.
We must not include markdown fences. Just raw HTML.
Let's compose.
About the role paragraph: combine the intro sentences.
Paragraph: "At Affirm, we exist for the moments that matter—giving people a clear, predictable way to pay over time, with no hidden fees, no surprises, and no tradeoffs on what matters most. On the Underwriting ML team, you’ll build and improve machine learning systems that make real-time transaction decisions, assessing the repayment risk and expected value of every Affirm checkout. You’ll work closely with experienced ML engineers, platform partners, and cross-functional stakeholders to take models from idea to prototype to production, and to keep them healthy with strong measurement and monitoring as user behavior and macroeconomic conditions evolve."
Now Responsibilities list items as above.
Now Requirements list: include all bullet points from "What We Look For". Also include the Bachelor's degree requirement line.
Let's list them:
- You have a total of 2+ years of experience as a machine learning engineer or a PhD in a relevant field.
- Strong Python skills and experience writing production-quality code.
- Experience building and evaluating models for classification problems (preferably gradient-boosted decision trees like LightGBM/XGBoost/CatBoost, or similar).
- Experience with a deep learning framework (PyTorch preferred).
- Experience working with distributed data processing or parallel compute frameworks (Spark preferred; Ray/Dask or similar).
- Experience with ML lifecycle tooling for training orchestration, experimentation, and model monitoring (e.g., Kubeflow, Airflow, MLflow, or equivalent internal platforms).
- Proficient in using AI-powered developer tools (e.g., Claude Code, Cursor, or similar) to accelerate iteration, debugging, and code quality as part of day-to-day development workflows.
- You have mastered taking a simple problem or business scenario into a solution that interacts with multiple software components, and executing on it by writing clear, easily understood, well tested and extensible code.
- You are comfortable navigating a large code base, debugging others' code, and providing feedback to other engineers through code reviews.
- Your experience demonstrates that you take ownership of your growth, proactively seeking feedback from your team, your manager, and your stakeholders.
- You have strong verbal and written communication skills that support effective collaboration with our global engineering team.
- This position requires either equivalent practical experience or a Bachelor’s degree in a related field.
Now Benefits list:
- Health coverage at no cost: We cover 100% of premiums for employees and their dependents.
- Spending stipends: Monthly stipends support your tech setup, and the ability to choose health and wellness options that are right for you.
- Time off to recharge: Flexible time off and generous holiday calendars help you rest when you need to.
- Own a piece of what you build: Our employee stock purchase plan (ESPP) lets you buy Affirm stock at a discount.
Now Pay section: include pay grade, equity grade, base pay ranges.
Paragraph: "Pay Grade - L, Equity Grade - 6. Employees new to Affirm typically come in at the start of the pay range. Affirm focuses on providing a simple and transparent pay structure which is based on a variety of factors, including location, experience and job-related skills. Base pay is part of a total compensation package that may include equity rewards, monthly stipends for health, wellness and tech spending, and benefits (including 100% subsidized medical coverage, dental and
for prose. We need to parse the posting. Content: - Intro paragraph about Affirm and Underwriting ML team: "At Affirm, we exist for the moments that matter—giving people a clear, predictable way to pay over time, with no hidden fees, no surprises, and no tradeoffs on what matters most. On the Underwriting ML team, you’ll build and improve machine learning systems that make real-time transaction decisions, assessing the repayment risk and expected value of every Affirm checkout. You’ll work closely with experienced ML engineers, platform partners, and cross-functional stakeholders to take models from idea to prototype to production, and to keep them healthy with strong measurement and monitoring as user behavior and macroeconomic conditions evolve." That's about the role. Could be "About the role". - Then "What You’ll Do" bullet list (actually sentences each starting with "You will"). List items: 1. develop and iterate on underwriting prediction models using a mix of approaches for tabular and sequential data 2. build and scale feature pipelines and training datasets from proprietary and third-party signals, partnering with data and platform teams when needed. 3. prototype new modeling ideas and features, run offline experiments, and drive the best-performing approaches into production with appropriate risk controls. 4. help productionize models: integrate into batch and/or real-time decision systems, and improve reliability, latency, and operational robustness. 5. instrument and monitor model and data health, and help define retraining/backtesting workflows 6. collaborate across Engineering, Risk Analytics, Product, and ML Platform to define requirements, evaluate tradeoffs, and communicate results clearly to both technical and non-technical audiences. That's responsibilities. - Then "What We Look For" list of qualifications/experience. List items: - You have a total of 2+ years of experience as a machine learning engineer or a PhD in a relevant field. - Strong Python skills and experience writing production-quality code. - Experience building and evaluating models for classification problems (preferably gradient-boosted decision trees like LightGBM/XGBoost/CatBoost, or similar). - Experience with a deep learning framework (PyTorch preferred). - Experience working with distributed data processing or parallel compute frameworks (Spark preferred; Ray/Dask or similar). - Experience with ML lifecycle tooling for training orchestration, experimentation, and model monitoring (e.g., Kubeflow, Airflow, MLflow, or equivalent internal platforms). - Proficient in using AI-powered developer tools (e.g., Claude Code, Cursor, or similar) to accelerate iteration, debugging, and code quality as part of day-to-day development workflows. - You have mastered taking a simple problem or business scenario into a solution that interacts with multiple software components, and executing on it by writing clear, easily understood, well tested and extensible code. - You are comfortable navigating a large code base, debugging others' code, and providing feedback to other engineers through code reviews. - Your experience demonstrates that you take ownership of your growth, proactively seeking feedback from your team, your manager, and your stakeholders. - You have strong verbal and written communication skills that support effective collaboration with our global engineering team. - This position requires either equivalent practical experience or a Bachelor’s degree in a related field Also later: "Pay Grade - L Equity Grade - 6 Employees new to Affirm typically come in at the start of the pay range. Affirm focuses on providing a simple and transparent pay structure which is based on a variety of factors, including location, experience and job-related skills. Base pay is part of a total compensation package that may include equity rewards, monthly stipends for health, wellness and tech spending, and benefits (including 100% subsidized medical coverage, dental and vision for you and your dependents.) USA base pay range (CA, WA, NY, NJ, CT) per year: $165,000 - $225,000 USA base pay range (all other U.S. states) per year: $146,000 - $206,000 Remote-first with flexibility built in Affirm is proud to be a remote-first company. Most roles can be done from almost anywhere within the country of employment. Some positions may occasionally require in-person work at an Affirm office, and a few are office-based due to the nature of the work. All new hires will be invited to attend an in-person onboarding experience." Then "Benefits Designed For You" list: - Health coverage at no cost: We cover 100% of premiums for employees and their dependents. - Spending stipends: Monthly stipends support your tech setup, and the ability to choose health and wellness options that are right for you. - Time off to recharge: Flexible time off and generous holiday calendars help you rest when you need to. - Own a piece of what you build: Our employee stock purchase plan (ESPP) lets you buy Affirm stock at a discount. - We’re committed to providing an inclusive interview process, including accommodations for candidates with disabilities. If you need support, we’re happy to help. - For positions based in San Francisco or Los Angeles: Affirm considers qualified applicants with arrest and conviction records, as required by law. - By clicking "Submit Application," you acknowledge that you have read Affirm's Global Candidate Privacy Notice and consent to the use of your personal information as described. (But we should remove application instructions and legal boilerplate. The last bullet about privacy notice is boilerplate; we should drop it. Also the inclusive interview process maybe keep? It's part of benefits? Might be considered boilerplate but it's a statement about accommodations. Might keep as part of benefits? The instruction says remove cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate. The inclusive interview process is EEO? Might be considered EEO. Safer to drop that line. Also the arrest and conviction records line is specific to SF/LA; maybe keep as it's a benefit? It's a legal requirement but it's specific. Might keep as part of benefits? It's not a benefit per se but a policy. Could keep under Benefits? Might be considered legal. Safer to drop? The instruction: remove EEO/equal-opportunity/scam-warning boilerplate. The arrest and conviction records line is not EEO but a local ban-the-box law; might be considered legal. I'd drop it to be safe. Thus benefits list: health coverage, spending stipends, time off, ESPP. Pay: we have pay ranges for specific states and other states. Also mention equity grade, pay grade, monthly stipends for health, wellness and tech spending (but that's also benefits). Pay section should include base pay ranges. Also mention equity grade? Might be part of Pay? Could include under Pay: "Pay Grade - L, Equity Grade - 6". But we should not include filler like "Employees new to Affirm typically come in at the start of the pay range." That's substantive? Might be okay. But we need to avoid filler like "commensurate with experience". This is okay. Schedule: remote-first flexibility. So we can have a Schedule section: "Remote-first with flexibility built in. Most roles can be done from almost anywhere within the country of employment. Some positions may occasionally require in-person work at an Affirm office, and a few are office-based due to the nature of the work. All new hires will be invited to attend an in-person onboarding experience." That's schedule. Now we need to output HTML fragment with sections only if they have real specific content. We'll have:
About the role
...
Responsibilities
- ... ...
Requirements
maybe combine qualifications? The posting has "What We Look For". Could be Requirements or Qualifications. We'll choose Requirements.Requirements
- ... ...