Staff Software Engineer
NetDocuments · Lehi, UT · 3 wk ago
RemoteRemoteEngineering$170k–$190k/yrFull-time
We need to output only HTML fragment, with headings for sections: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. We must include sections only if posting has real specific content. We must not repeat job title as heading. Must not include Job ID etc. Must preserve all substantive info, no invented or summarized away detail. Remove boilerplate, navigation, legal, EEO, equal-opportunity, scam-warning, duplicated lines, application instructions.
We need to parse the posting.
Key sections:
- About NetDocuments (company description) - maybe "About the role"? Actually "About the role" is not present; we have "About NetDocuments". The instruction says use
for sections: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. We must include sections only if posting has real specific content. We must not repeat job title as heading. Must not include Job ID etc. Must preserve all substantive info, no invented or summarized away detail. Remove boilerplate, navigation, legal, EEO, equal-opportunity, scam-warning, duplicated lines, application instructions.
We need to parse the posting.
Key sections:
- About NetDocuments (company description) - maybe "About the role"? Actually "About the role" is not present; we have "About NetDocuments". The instruction says use for section headings (e.g. About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule). So we can use "About the role" if we have content about the role. The posting includes "What You'll Do" which is responsibilities. Also "What You'll Need to Be Successful" is requirements/qualifications. "What Will Make You Stand Out" could be skills or qualifications. "What You’ll Love About NetDocuments" is benefits. "Compensation Transparency" is pay. There's no schedule.
Thus we can map:
- About the role: maybe combine the introductory paragraph about the role? The posting starts with "NetDocuments is seeking a Staff Software Engineer to help lead the technical direction..." That's about the role. Could put that under About the role.
- Responsibilities: "What You'll Do" section with bullet points (Technical Leadership & Team Impact, Design & Build, System Performance & Operational Excellence, Problem Solving & Ownership, Collaboration & Mentorship, Continuous Learning & Innovation). Those are subheadings within responsibilities; we can list them as - items.
- Requirements: "What You'll Need to Be Successful" includes bullet list of qualifications (Bachelor's degree, 8+ years, 3+ years technical leadership, deep experience, etc). That's requirements.
- Qualifications: maybe same as requirements? Could separate but we might combine. However we need to avoid duplicate content. Could treat "What You'll Need to Be Successful" as Requirements, and "What Will Make You Stand Out" as Qualifications or Skills. The instruction says we can have sections for Requirements, Qualifications, Skills. We need to decide distribution.
We have:
- Requirements: mandatory qualifications (education, years experience, technical leadership, deep experience, strong experience, proven ability, strong backend experience, observability, familiarity with AI, automated testing, CI/CD).
- Qualifications: maybe "What Will Make You Stand Out" (experience building search/retrieval, familiarity with modern retrieval/AI techniques, high throughput pipelines, document management, AI integration, B2B SaaS legal, open source contributions). Could be considered "Preferred Qualifications" or "Skills". We'll put under Qualifications.
- Skills: maybe we could list specific technical skills (C#/.NET, Python, Java, Go, AWS services, event driven, etc). But those are already in requirements. Might be redundant. Could create a Skills section summarizing tech stack: C#/.NET, Python, Java, Go, AWS (ECS, Lambda, SQS, DynamoDB, S3), event driven, service oriented, observability, AI, etc. But we must not invent or summarize away detail; we can list them as they appear. However we need to avoid duplication. Perhaps better to not create Skills section if content overlaps heavily; we can put those details under Requirements and Qualifications. The instruction says prefer a few substantive sections over many thin ones. So we could have About the role, Responsibilities, Requirements, Qualifications, Benefits, Pay. That's six sections.
Check each for real specific content:
- About the role: we have introductory paragraph describing role: "NetDocuments is seeking a Staff Software Engineer to help lead the technical direction of one of our backend engineering teams. This is a hands on technical leadership role for an experienced engineer who thrives on hard problems in scale, performance, reliability, and cost, and who wants their architectural decisions to matter for years. Our platform turns a firm's institutional knowledge into something people and AI can act on. The backend systems that make that possible span large scale data processing, search and retrieval, and the AI powered services that sit on top of the customer's content. You will work at the center of that: designing distributed, cloud native systems that stay fast, reliable, and secure as data volume grows across regions, all within the strict permissions and data protection legal customers expect. The work is live and growing, and you will partner closely with Product, Design, Platform Services, and engineering leadership to turn complex requirements into durable systems, while helping the team raise its own technical bar." plus the principles list (Build for scale, Trusted by design, AI forward, Measure to improve). That's substantive.
- Responsibilities: the "What You'll Do" section with subheadings and bullet points. We'll extract the bullet points under each subheading? The instruction: Use
- for any list of duties/requirements/benefits. So we can flatten the responsibilities into a list of duties. However we might lose subheadings. But we can keep subheadings as part of
- text? Probably better to keep each bullet as a duty. The subheadings are not required but we can incorporate them. We'll just list each bullet point as a
- . Ensure we preserve all substantive information: we need to include each bullet point under each subheading.
Let's extract bullet points:
Under "Technical Leadership & Team Impact":
- Serve as a hands on technical leader for your team, helping define technical direction and engineering standards.
- Lead architectural discussions and make technical decisions across services and distributed systems.
- Establish patterns for building scalable, secure, reliable, and maintainable systems.
- Guide the evolution of the technology stack as products mature and scale.
- Drive initiatives that improve system performance, reliability, cost efficiency, developer experience, and engineering quality.
Under "Design & Build":
- Architect and build production grade, cloud native backend services and APIs.
- Design event driven, service oriented systems and data pipelines that stay correct under load, retries, and partial failure.
- Build systems that process, organize, and surface large volumes of content quickly and securely, including search, retrieval, and AI powered capabilities.
- Integrate AI powered services and emerging technologies that enhance how customers find and act on their information.
- Design for security, permissions, and compliance as first class requirements rather than afterthoughts.
Under "System Performance & Operational Excellence":
- Design resilient systems that stay reliable and performant as volume grows across multiple regions.
- Instrument services with logging, metrics, distributed tracing, and telemetry to find and diagnose issues proactively.
- Identify bottlenecks and drive improvements in throughput, latency, scalability, and cost.
- Design for correctness at scale: idempotency, ordering, deduplication, rate limiting, and safe reprocessing.
- Ensure security, performance, and compliance requirements are built into system design.
Under "Problem Solving & Ownership":
- Own complex technical initiatives from initial design through production deployment and ongoing operation.
- Solve challenges across distributed systems, large scale data processing, search and retrieval, and real time and batch workloads.
- Evaluate architectural tradeoffs across performance, cost, security, scalability, and maintainability.
- Create clear technical documentation, including architecture diagrams, system designs, and key technical decisions.
Under "Collaboration & Mentorship":
- Partner with Product, Design, and other engineering teams on shared infrastructure and integration points.
- Mentor engineers across experience levels and help raise technical capabilities and engineering practices across the team.
- Build alignment around technical approaches and provide clear direction when decisions need to be made.
- Lead knowledge sharing through code reviews, design discussions, documentation, and hands on guidance.
Under "Continuous Learning & Innovation":
- Stay current with distributed systems, cloud native architecture, and applied AI.
- Research and validate emerging technologies through proof of concepts aligned with product and engineering strategy.
- Identify opportunities to improve both customer experience and engineering velocity.
- Leverage modern development and AI tooling to increase engineering effectiveness and impact.
That's all responsibilities.
- Requirements: "What You'll Need to Be Successful" bullet list:
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- 8+ years of professional software engineering experience delivering production grade systems at scale.
- 3+ years providing technical leadership and influencing engineering direction and practices.
- Deep experience designing and operating distributed, cloud native backend systems, ideally on AWS (services such as ECS, Lambda, SQS, DynamoDB, and S3).
- Strong experience with event driven and service oriented architectures, including asynchronous processing, queueing, idempotency, and handling failure and retries.
- Proven ability to build systems that are performant, reliable, and cost effective at high volume.
- Strong backend development experience in a modern backend language. C#/.NET is our preferred stack; experience with Python, Java, or Go is also valued.
- Experience implementing observability in production: logging, metrics, distributed tracing, and telemetry.
- Working familiarity with modern AI and how it is applied in production software. This is table stakes for the role.
- Experience with automated testing, CI/CD practices, and operating production services.
- Qualifications: "What Will Make You Stand Out" bullet list:
- Experience building search, retrieval, or other data intensive systems at scale.
- Familiarity with modern retrieval and AI techniques such as semantic or vector search, embeddings, and retrieval augmented generation.
- Experience operating high throughput data or processing pipelines and managing their cost and reliability.
- Experience building document management, content services, or other data intensive enterprise systems.
- Experience integrating AI or agent facing services into production applications.
- Experience building B2B SaaS in the legal industry or other regulated, security sensitive environments.
- Contributions to open source projects, technical writing, or sharing technical expertise with the broader engineering community.
- Benefits: "What You’ll Love About NetDocuments" bullet list:
- The People!
- 90% healthcare premiums company covered
- HSA company contribution
- 401K match at 4% with immediate vesting
- Flexible PTO (typically 3 to 4 weeks a year)
- 10 paid holidays
- Monthly contributions for life activities & wellness
- Access to LinkedIn Learning with monthly dedicated time to explore
- Connection, access, and mentorship from exceptional leaders
- Growing company with opportunities for advancement
- Authenticity and accountability from leadership
Note: "The People!" is a heading but we can keep as a bullet.
- Pay: "Compensation Transparency" paragraph:
- The compensation range for this position is $170,000 – $190,000.
- The posted cash compensation includes on-target earnings.
- Some roles may qualify for overtime pay.
- Individual compensation packages are determined based on factors such as experience, skills, qualifications, and geographic location.
We should not include boilerplate like Equal Opportunity etc. Remove that.
Now we need to output HTML fragment with
headings and - for lists,
for prose.
We need to decide which content is prose vs list.
About the role: we have multiple paragraphs; we can put each paragraph in
. Could combine into one
but better to split.
Responsibilities: list of duties; we can use
- .
Requirements: list;
- .
Qualifications: list;
- .
Benefits: list;
- .
Pay: could be
- or
. Since it's a list of statements, we can use
- .
We must not include empty sections.
Now ensure we don't repeat job title as heading. Not needed.
We must not include Job ID etc. Not present.
Now produce HTML.
Let's craft:
About the role
NetDocuments is seeking a Staff Software Engineer to help lead the technical direction of one of our backend engineering teams. This is a hands on technical leadership role for an experienced engineer who thrives on hard problems in scale
- items.
- Requirements: "What You'll Need to Be Successful" includes bullet list of qualifications (Bachelor's degree, 8+ years, 3+ years technical leadership, deep experience, etc). That's requirements.
- Qualifications: maybe same as requirements? Could separate but we might combine. However we need to avoid duplicate content. Could treat "What You'll Need to Be Successful" as Requirements, and "What Will Make You Stand Out" as Qualifications or Skills. The instruction says we can have sections for Requirements, Qualifications, Skills. We need to decide distribution.
We have:
- Requirements: mandatory qualifications (education, years experience, technical leadership, deep experience, strong experience, proven ability, strong backend experience, observability, familiarity with AI, automated testing, CI/CD).
- Qualifications: maybe "What Will Make You Stand Out" (experience building search/retrieval, familiarity with modern retrieval/AI techniques, high throughput pipelines, document management, AI integration, B2B SaaS legal, open source contributions). Could be considered "Preferred Qualifications" or "Skills". We'll put under Qualifications.
- Skills: maybe we could list specific technical skills (C#/.NET, Python, Java, Go, AWS services, event driven, etc). But those are already in requirements. Might be redundant. Could create a Skills section summarizing tech stack: C#/.NET, Python, Java, Go, AWS (ECS, Lambda, SQS, DynamoDB, S3), event driven, service oriented, observability, AI, etc. But we must not invent or summarize away detail; we can list them as they appear. However we need to avoid duplication. Perhaps better to not create Skills section if content overlaps heavily; we can put those details under Requirements and Qualifications. The instruction says prefer a few substantive sections over many thin ones. So we could have About the role, Responsibilities, Requirements, Qualifications, Benefits, Pay. That's six sections.
Check each for real specific content:
- About the role: we have introductory paragraph describing role: "NetDocuments is seeking a Staff Software Engineer to help lead the technical direction of one of our backend engineering teams. This is a hands on technical leadership role for an experienced engineer who thrives on hard problems in scale, performance, reliability, and cost, and who wants their architectural decisions to matter for years. Our platform turns a firm's institutional knowledge into something people and AI can act on. The backend systems that make that possible span large scale data processing, search and retrieval, and the AI powered services that sit on top of the customer's content. You will work at the center of that: designing distributed, cloud native systems that stay fast, reliable, and secure as data volume grows across regions, all within the strict permissions and data protection legal customers expect. The work is live and growing, and you will partner closely with Product, Design, Platform Services, and engineering leadership to turn complex requirements into durable systems, while helping the team raise its own technical bar." plus the principles list (Build for scale, Trusted by design, AI forward, Measure to improve). That's substantive.
- Responsibilities: the "What You'll Do" section with subheadings and bullet points. We'll extract the bullet points under each subheading? The instruction: Use
- for any list of duties/requirements/benefits. So we can flatten the responsibilities into a list of duties. However we might lose subheadings. But we can keep subheadings as part of
- text? Probably better to keep each bullet as a duty. The subheadings are not required but we can incorporate them. We'll just list each bullet point as a
- . Ensure we preserve all substantive information: we need to include each bullet point under each subheading.
Let's extract bullet points:
Under "Technical Leadership & Team Impact":
- Serve as a hands on technical leader for your team, helping define technical direction and engineering standards.
- Lead architectural discussions and make technical decisions across services and distributed systems.
- Establish patterns for building scalable, secure, reliable, and maintainable systems.
- Guide the evolution of the technology stack as products mature and scale.
- Drive initiatives that improve system performance, reliability, cost efficiency, developer experience, and engineering quality.
Under "Design & Build":
- Architect and build production grade, cloud native backend services and APIs.
- Design event driven, service oriented systems and data pipelines that stay correct under load, retries, and partial failure.
- Build systems that process, organize, and surface large volumes of content quickly and securely, including search, retrieval, and AI powered capabilities.
- Integrate AI powered services and emerging technologies that enhance how customers find and act on their information.
- Design for security, permissions, and compliance as first class requirements rather than afterthoughts.
Under "System Performance & Operational Excellence":
- Design resilient systems that stay reliable and performant as volume grows across multiple regions.
- Instrument services with logging, metrics, distributed tracing, and telemetry to find and diagnose issues proactively.
- Identify bottlenecks and drive improvements in throughput, latency, scalability, and cost.
- Design for correctness at scale: idempotency, ordering, deduplication, rate limiting, and safe reprocessing.
- Ensure security, performance, and compliance requirements are built into system design.
Under "Problem Solving & Ownership":
- Own complex technical initiatives from initial design through production deployment and ongoing operation.
- Solve challenges across distributed systems, large scale data processing, search and retrieval, and real time and batch workloads.
- Evaluate architectural tradeoffs across performance, cost, security, scalability, and maintainability.
- Create clear technical documentation, including architecture diagrams, system designs, and key technical decisions.
Under "Collaboration & Mentorship":
- Partner with Product, Design, and other engineering teams on shared infrastructure and integration points.
- Mentor engineers across experience levels and help raise technical capabilities and engineering practices across the team.
- Build alignment around technical approaches and provide clear direction when decisions need to be made.
- Lead knowledge sharing through code reviews, design discussions, documentation, and hands on guidance.
Under "Continuous Learning & Innovation":
- Stay current with distributed systems, cloud native architecture, and applied AI.
- Research and validate emerging technologies through proof of concepts aligned with product and engineering strategy.
- Identify opportunities to improve both customer experience and engineering velocity.
- Leverage modern development and AI tooling to increase engineering effectiveness and impact.
That's all responsibilities.
- Requirements: "What You'll Need to Be Successful" bullet list:
- Bachelor's degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- 8+ years of professional software engineering experience delivering production grade systems at scale.
- 3+ years providing technical leadership and influencing engineering direction and practices.
- Deep experience designing and operating distributed, cloud native backend systems, ideally on AWS (services such as ECS, Lambda, SQS, DynamoDB, and S3).
- Strong experience with event driven and service oriented architectures, including asynchronous processing, queueing, idempotency, and handling failure and retries.
- Proven ability to build systems that are performant, reliable, and cost effective at high volume.
- Strong backend development experience in a modern backend language. C#/.NET is our preferred stack; experience with Python, Java, or Go is also valued.
- Experience implementing observability in production: logging, metrics, distributed tracing, and telemetry.
- Working familiarity with modern AI and how it is applied in production software. This is table stakes for the role.
- Experience with automated testing, CI/CD practices, and operating production services.
- Qualifications: "What Will Make You Stand Out" bullet list:
- Experience building search, retrieval, or other data intensive systems at scale.
- Familiarity with modern retrieval and AI techniques such as semantic or vector search, embeddings, and retrieval augmented generation.
- Experience operating high throughput data or processing pipelines and managing their cost and reliability.
- Experience building document management, content services, or other data intensive enterprise systems.
- Experience integrating AI or agent facing services into production applications.
- Experience building B2B SaaS in the legal industry or other regulated, security sensitive environments.
- Contributions to open source projects, technical writing, or sharing technical expertise with the broader engineering community.
- Benefits: "What You’ll Love About NetDocuments" bullet list:
- The People!
- 90% healthcare premiums company covered
- HSA company contribution
- 401K match at 4% with immediate vesting
- Flexible PTO (typically 3 to 4 weeks a year)
- 10 paid holidays
- Monthly contributions for life activities & wellness
- Access to LinkedIn Learning with monthly dedicated time to explore
- Connection, access, and mentorship from exceptional leaders
- Growing company with opportunities for advancement
- Authenticity and accountability from leadership
Note: "The People!" is a heading but we can keep as a bullet.
- Pay: "Compensation Transparency" paragraph:
- The compensation range for this position is $170,000 – $190,000.
- The posted cash compensation includes on-target earnings.
- Some roles may qualify for overtime pay.
- Individual compensation packages are determined based on factors such as experience, skills, qualifications, and geographic location.
We should not include boilerplate like Equal Opportunity etc. Remove that.
Now we need to output HTML fragment with
headings and
- for lists,
for prose. We need to decide which content is prose vs list. About the role: we have multiple paragraphs; we can put each paragraph in
. Could combine into one
but better to split. Responsibilities: list of duties; we can use
- .
Requirements: list;
- .
Qualifications: list;
- .
Benefits: list;
- .
Pay: could be
- or
. Since it's a list of statements, we can use
- .
We must not include empty sections.
Now ensure we don't repeat job title as heading. Not needed.
We must not include Job ID etc. Not present.
Now produce HTML.
Let's craft:
About the role
NetDocuments is seeking a Staff Software Engineer to help lead the technical direction of one of our backend engineering teams. This is a hands on technical leadership role for an experienced engineer who thrives on hard problems in scale
- .
We must not include empty sections.
Now ensure we don't repeat job title as heading. Not needed.
We must not include Job ID etc. Not present.
Now produce HTML.
Let's craft:
- or
- .
Pay: could be
- .
Benefits: list;
- .
Qualifications: list;
- .
Requirements: list;
- for lists,