Test Architect
Heartflow · San Francisco, CA · Today
Quality AssuranceFull-time
We need to output HTML fragment with sections: About the role, Responsibilities, Requirements (or Qualifications), Skills maybe, Benefits, Pay, Schedule. Only include sections if posting has real specific content.
We need to parse the posting.
First, we have a description about Heartflow (company). That could be "About the role"? Actually "About the role" is a section heading for description of role. The posting includes a paragraph describing the role: "The Test Architect is a senior individual contributor...". That is about the role. So we can put that in
About the role
withcontaining that description. Then Responsibilities: there is a list of responsibilities bullet points. We need to put them in
- .
Then Qualifications: there is a list of qualifications (required and desired). We need to include them. The instruction says use
for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we can have Qualifications section. We may also have Skills: but we can combine qualifications and skills? The posting includes qualifications (required and desired). Could treat that as Qualifications. Skills maybe not separate. Benefits: posting does not mention benefits explicitly. No mention of health insurance etc. So we should not create Benefits section. Pay: posting includes "A reasonable estimate of the base salary compensation range is $190,000 to $250,000, bonus, and equity." That's pay info. So we need a Pay section with that content. Schedule: not mentioned. So omit. We must not repeat job title as heading. The job title is Test Architect. Not to be used as heading. We must not include Job ID/requisition numbers. We must remove boilerplate: EEO, equal opportunity, scam warning, etc. So we need to strip those paragraphs at the end. We must preserve all substantive information; do not invent or summarize away detail. We need to output only HTML fragment, no /, no markdown fences. Thus produce something like:
About the role
...
Responsibilities
- ... etc.
Qualifications
- ... maybe separate required and desired? Could just list all.
But we need to preserve all detail. The qualifications section includes required bullet points and desired bullet points. We could keep them as separate subheadings? Not required but we could keep as
- ...
- . That preserves detail.
Thus:
Qualifications
- Required: 8–12 years of experience in software test engineering, SDET, or quality engineering roles, with a strong record as a hands-on technical leader who has personally architected automation frameworks. ...
- Desired: Direct experience with requirements/traceability tooling such as Ketryx, Jama, or Polarion. ...
Pay
A reasonable estimate of the base salary compensation range is $190,000 to $250,000, bonus, and equity.
We must not include any other sections. Check for any leftover boilerplate: The posting includes "Heartflow is an Equal Opportunity Employer..." etc. Must remove. Also includes "Positions posted for Heartflow are not intended for or open to third party recruiters / agencies..." etc. Remove. Also includes scam warning. Remove. Now ensure we didn't miss any substantive info like "Heartflow is a publicly traded company (HTFL) that has received international recognition..." That's about company, not role. Should we include that in About the role? Possibly not; it's about company. The instruction says preserve ALL substantive information; do not invent or summarize away detail. Should we include that company info somewhere? It could be part of About the role? But the role description already includes some company context? The posting starts with a paragraph about Heartflow company. That is substantive information about the company. Should we include it? The instruction says preserve ALL substantive information. It doesn't say we must only include role-specific info; we must keep all substantive info from the posting. However we are told to use sections like About the role, Responsibilities, etc. The company overview could go under About the role or maybe a separate section like "About the company". But the allowed headings list does not include "About the company". It includes About the role, Responsibilities, Requirements,
- with items. However we need to preserve the distinction maybe by adding Required: etc inside items. That's okay.
We also need to include the Pay section:
Pay
A reasonable estimate of the base salary compensation range is $190,000 to $250,000, bonus, and equity.
We must not include Benefits or Schedule. Check for any other sections: maybe "Skills" could be derived from qualifications but we already have Qualifications. We must not create empty sections. Now let's extract the About the role paragraph. From posting: "The Test Architect is a senior individual contributor and technical leader on the Test Engineering team. This role sets the technical direction for end-to-end automated testing, post-deployment verification, and tool validation across our regulated SaMD products, partnering closely with the Director of Test Engineering and engineering leadership. The Test Architect drives our AI-first test automation strategy designing how AI-assisted authoring, self-healing automation, and LLM-driven triage are applied at scale while ensuring all activities meet the rigor of a medical device QMS. This is the founding technical hire for Heartflow's Test Engineering function, responsible for architecting the end-to-end testing framework across frontend, backend, 3D modeling, and AI/ML systems, and for building the automation pipeline the rest of the team will be hired and scaled against. The ideal candidate brings deep technical expertise in modern automation frameworks (Selenium and Playwright), a strong track record shipping regulated SaMD products, and the ability to influence engineers and leaders across the organization." That's the description. Now Responsibilities bullet list: - Set and evolve the technical strategy for end-to-end (E2E) test automation across Heartflow's full pipeline, defining patterns, frameworks, and architecture that scale with the platform. - Drive the AI-first approach to test automation: define how AI-assisted authoring, self-healing locators, AI generated spec driven test development and LLM-driven triage are adopted, evaluated, and rolled out across teams. - Architect and own post-deployment testing capabilities, including production smoke, synthetic monitoring, and continuous validation against live environments. - Design test depth and rigor calibrated to each software component's safety classification, ensuring higher-risk components receive deeper verification and evidence. - Author the most complex and consequential test plans, protocols, and reports; set the standards and templates other engineers follow under our QMS. - Lead tool validation strategy for test infrastructure and automation tooling, partnering with RA/QA to ensure validation evidence meets regulatory expectations. - Architect, build, and continually improve UI and mobile automation including but not limited to Selenium and Playwright — driving stability, parallelism, observability, and reuse across products, including our WebGL-based 3D viewer and desktop clinical applications. - Define API and integration testing standards using tools such as REST Assured, Postman, Karate, and contract testing where appropriate. - Define testing standards for medical imaging and clinical data interoperability protocols, and for report/document output validation. - Partner with engineering, product, and RA/QA leaders to translate complex requirements into verifiable test strategies with full traceability. - Own the technical relationship between requirements management and traceability tooling, ensuring every automated test maps to a documented requirement and audit-ready evidence. - Lead deep root-cause investigations on the highest-impact issues across distributed systems and drive systemic prevention of recurrence. - Define how automated tests are integrated into CI/CD to deliver fast, reliable, actionable feedback to engineering teams. - Serve as a primary technical owner for quality-related audits, CAPAs, and regulatory submissions, providing test evidence, traceability, and documentation. - Mentor senior and mid-level engineers; lead technical reviews, raise the bar on quality engineering practices, and grow the team's technical depth. - Help define hiring profiles and lead technical interviews for future Test Engineering hires and contractor partners. - Influence cross-functional decisions on quality strategy, tooling investments, and engineering process improvements. Now Qualifications: Required: - 8–12 years of experience in software test engineering, SDET, or quality engineering roles, with a strong record as a hands-on technical leader who has personally architected automation frameworks. - Substantial experience testing Software as a Medical Device (SaMD) or other regulated medical device software, including ownership of test strategy on shipped products. - Deep working knowledge of medical device QMS practices and applicable standards (e.g., ISO 13485, IEC 62304, ISO 14971, 21 CFR Part 820), including test documentation, traceability, tool validation, and audit support. - Expert-level proficiency with Selenium / WebDriver and Playwright, including framework architecture, large-scale stability and flake reduction, and parallel execution at scale. - Track record designing, scaling, and maintaining E2E automation frameworks covering complete workflows and complex system integrations. - Experience setting test plan, protocol, and report standards in a regulated environment, with rigorous traceability across requirements, test cases, and evidence. - Demonstrated leadership in adopting AI-assisted testing tools and techniques (e.g., AI-augmented authoring, self-healing automation, LLM-driven test generation or triage). - Strong programming skills in at least one mainstream language used for automation (e.g., Python, TypeScript/JavaScript, Java, or C#); able to set coding standards for the test organization. - Deep experience with API and contract testing approaches (REST Assured, Postman, Karate, Pact, or equivalent). - Strong experience integrating automated tests into CI/CD pipelines and working with cloud environments such as AWS. - Excellent analytical and debugging skills across distributed systems; able to participate in root-cause investigations on the most complex failures. - Excellent written and verbal communication skills; able to influence engineers, leaders, and cross-functional partners. - Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience. Desired: - Direct experience with requirements/traceability tooling such as Ketryx, Jama, or Polarion. - Experience with DICOM and/or HL7 protocols, or other clinical data interoperability standards. - Experience leading RA/QA partnerships during regulatory audits and inspections. - Experience defining test strategy for ML/AI systems, clinical validation workflows, or medical imaging products. - Experience validating complex visualizations (qualitative and quantitative) such as 3D models, overlays, and measurement views. - Experience automating legacy desktop applications (e.g., Windows/C++) using tools such as WinAppDriver. - Experience designing and managing diverse test datasets (synthetic, anonymized, adversarial). - Experience defining non-functional / performance testing strategy with tools such as k6, Locust, JMeter, or Gatling. - Experience with data-pipeline testing and microservices architectures at scale. - Demonstrated ability to define, own, and evolve actionable quality metrics. Now Pay: "A reasonable estimate of the base salary compensation range is $190,000 to $250,000, bonus, and equity." Now we need to output HTML. We'll wrap each section inand then content. For About the role:
...
For Responsibilities:maybe but not allowed headings besides h3? The instruction only mentions using
for section headings. It doesn't forbid other headings, but better to stick to
for sections only. Inside Qualifications we can just have a
- and maybe preface items with "Required:" or "Desired:" inside the
- ... etc.