Jobs · Information Technology · California

Software Engineer, User Database Infrastructure

Notion · San Francisco, CA · 1 mo ago
HybridInformation Technology$299k–$334k/yrFull-time
We need to output HTML fragment with sections: About the role, About the team, What You'll Achieve, Skills You'll Need To Bring, Nice To Haves (maybe optional), Benefits? There's mention of compensation: "Notion is committed to providing highly competitive cash compensation, equity, and benefits." Also "For roles based in San Francisco, the estimated base salary range for this role is $299,000 – $334,000 per year." That is pay info, so we need a Pay section. Also schedule: "We work from our offices on Mondays, Tuesdays and Thursdays (our Anchor Days)". That's schedule info. So we need Schedule section. Benefits: mention "highly competitive cash compensation, equity, and benefits." Not specific benefits listed; but we can include Benefits section if there is real specific content. The posting says "highly competitive cash compensation, equity, and benefits." That's vague but still mentions benefits. However rule: include a section ONLY when the posting has real, specific content for it — 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. For Benefits, we have "highly competitive cash compensation, equity, and benefits." That's not specific benefits like health insurance etc. It's vague. Might be considered filler? It says "benefits" but not specifics. The rule says avoid filler/placeholder text like "varies", "TBD". "benefits" alone is vague but still mentions benefits exist. Not sure. Safer to include Benefits section only if there is specific content. Since not specific, maybe omit Benefits. However we have Pay and Schedule specifics. So include Pay and Schedule. We need headings: About the role, About the team, What You'll Achieve, Skills You'll Need To Bring, Nice To Haves (maybe optional), Pay, Schedule. We must not repeat job title as heading. No Job ID. We need to preserve all substantive information, not invent or summarize away detail. So we need to copy paragraphs verbatim? We can keep the content but format into

and

  • . Must not lose details. We need to remove boilerplate: cookie/navigation/legal/EEO/equal-opportunity/scam-warning boilerplate, duplicated lines, and application instructions. So we need to cut out the EEO sections, the "Note on AI", "Equal Opportunity & Accommodations", etc. Also the "By clicking “Submit Application”..." privacy policy line. Also the "A Note on AI" paragraph. Also the "Equal Opportunity & Accommodations" block. Also the "Notion is proud to be an equal opportunity employer..." etc. Also the "Notion considers qualified applicants with criminal histories..." etc. Also the "Notion is also committed to providing reasonable accommodations..." etc. Also the "Who We Are Notion is the collaborative AI workspace..." That's about the company; we can keep as part of About the role? Actually that is a company description; we could incorporate into About the role? The instruction: Use headings for sections like About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. The company description "Who We Are" maybe not needed as a heading; we could embed it in About the role paragraph? But we should preserve all substantive information. Could include it as a paragraph under About the role before the role description. That seems okay. We need to not duplicate lines. Ensure we don't repeat. Let's extract sections: Company description: "Who We Are Notion is the collaborative AI workspace where teams and agents think together. We're building one place where your knowledge, projects, meetings, and AI tools live side by side, so work is faster, clearer, and less fragmented. Millions of individuals, small teams, and large companies run their work on Notion. Notinos (our employees) are customer zero in bringing this future of work to life. We care about craft, building things that last, and the belief that great work is still fundamentally human. Our goal isn’t to ship the next feature. Each and every team of Notinos is working to set the standard for how humans work together in the AI era. From building a business’s system of record to making and managing AI agents to automating away the busy work, we care deeply about giving our customers more time for their life’s work." About The Role: starts after that. Contains location, anchor days, responsibilities etc. Let's copy About The Role paragraph(s): "About The Role This role will be based in San Francisco. We work from our offices on Mondays, Tuesdays and Thursdays (our Anchor Days) because we do our best thinking and building together in person. We’re looking for someone who’s excited to work alongside the team during those days. You’ll build the systems that let any knowledge worker leverage fast, scalable databases without having to become a DBA. You’ll be a hands-on technical leader, helping set the architectural direction and roadmap as we take a new product from early alpha to general availability. You’ll work directly with early customers to shape foundational technical and product decisions. Then, together, we’ll work on scaling as adoption and workloads grow. This is a backend-leaning role with work spanning the stack. You might build the systems that provision and manage a fleet of customer Postgres instances, design how user-defined schemas evolve safely, or make complex queries execute efficiently. You’ll also follow those systems into the product: improving how a table loads, how users understand a slow operation, or how an agent safely works with their data. You’ll help shape the architecture and the product together. Some problems call for a better abstraction, others for a better default, and others for rethinking what we ask the user to do in the first place. You’ll work with teammates and customers to find those answers, ship practical solutions, and evolve them as usage grows. Our stack includes Postgres, Go, TypeScript, Node.js, and React." About The Team: paragraph(s): "About The Team The people who understand a business best aren’t always the people who can build its software. A support lead knows how tickets should be triaged. An operations manager knows how inventory should move. But turning that knowledge into a reliable system often means finding an engineer, provisioning a database, and building an application. We’re building database infrastructure for everyone else. We want everyday knowledge workers to bring their data into Notion, connect it, and build workflows around it. And do so with the power of a real database (Postgres!) and the approachability of a tool they already know. AI agents make that opportunity even bigger: helping people build and operate systems they couldn’t have created on their own. For our team, this is much more than putting a friendly interface on Postgres. It means making hard database problems disappear from the user’s workflow without sacrificing correctness, performance, or flexibility. How do you let someone reshape a live database as easily as editing a document? Make the right indexes exist without asking someone to become a DBA? Let a weekend experiment grow into a company’s system of record without anyone having to rearchitect it?" What You'll Achieve: bullet list? Actually it's a paragraph with line breaks separated by periods. We can convert to
    • each sentence. Sentences: - Take a new product from alpha to general availability. - Work with early customers to understand what matters, iterate on feedback, and help shape what we ship. - Make real customer workloads fast. Improve query execution, indexing, and client data loading so performance holds up as datasets grow and workflows become more demanding. - Build systems businesses can trust with their data. Make schema changes, concurrent writes, permissions, and recovery reliable enough for customers to build essential workflows on top. - Make powerful capabilities approachable. Turn database provisioning, migrations, and indexes into a reliable, easy-to-use product experience that gives people the power of a database without the burden of managing one. - Build for the customers who come next. Automate database provisioning and fleet operations, strengthen observability, and evolve the architecture so we can serve many, many customers. We need to keep each as list item. Skills You'll Need To Bring: list of bullet points? It's a paragraph with multiple sentences each starting with bold? Actually it's a paragraph with sentences separated by periods. We'll convert each to list item. Sentences: - Production relational database experience (e.g., Postgres or MySQL). You’ve made decisions about schemas and indexes, analyzed database performance, and debugged issues involving transactions, locking, or concurrency. Your experience goes beyond accessing a database through an ORM. - Engineering experience and technical leadership. You bring 10+ years of experience building and operating production software, with a track record of setting technical direction and leading complex, cross-team initiatives from concept through delivery. You identify the most important problems to solve, turn ambiguous goals into a technical strategy, and align engineers and partner teams around a practical plan. You stay hands-on while helping others make better decisions through design reviews, mentorship, and clear technical guidance. - Strong backend engineering fundamentals. You’ve built services that need to remain correct under concurrency and failure. You can reason about retries, partial failures, consistency, and the trade-offs involved in reliable reads and writes. - A systematic approach to performance. You use query plans, traces, profiles, and experiments to find bottlenecks and verify improvements. You’re willing to follow a problem across storage, services, and client code rather than stopping at a team boundary. - Product judgment. You’re interested in who will use what you build, not just how it works. You can turn a customer’s problem into a technical approach and recognize when a better default or simpler workflow would solve it more effectively. - Willingness to work across the stack. You bring backend depth, but you’re comfortable learning unfamiliar systems and working in client code when that’s what delivering a good experience requires. - Fluency with AI-assisted engineering. You use AI to accelerate exploration, implementation, and testing while taking responsibility for understanding and validating the result. Nice To Haves: bullet list. Sentences: - Experience managing fleets of databases or building database platforms, including provisioning, upgrades, backups, and recovery. - Deep Postgres expertise, such as advanced query optimization, performance tuning, or workload isolation for large datasets and high-concurrency workloads. - Experience building query layers, sync engines, change-data-capture pipelines, permission systems, or other reusable data abstractions. Pay: we have compensation info: "Notion is committed to providing highly competitive cash compensation, equity, and benefits. The compensation offered for this role will be based on multiple factors such as location, the role’s scope and complexity, and the candidate’s experience and expertise, and may vary from the range provided below. For roles based in San Francisco, the estimated base salary range for this role is $299,000 – $334,000 per year." We need to include Pay section with that info. Should we include the first sentence about highly competitive cash compensation, equity, and benefits? That's somewhat vague but still part of compensation. We'll include it. Schedule: "We work from our offices on Mondays, Tuesdays and Thursdays (our Anchor Days) because we do our best thinking and building together in person." Already mentioned in About the role but we can still have Schedule section with that sentence. However we must avoid duplication? The rule says preserve ALL substantive information; do NOT invent or summarize away detail. Duplication is okay if it's in original? But we should avoid duplicated lines? It says remove duplicated lines. So we should not duplicate the same sentence twice. Since the schedule sentence appears in About the role, we could either keep it there and not have a separate Schedule section, or we could move it to Schedule and remove from About the role. The rule: "Prefer a few substantive sections over many thin ones." Also "include a section ONLY when the posting has real, specific content for it". The schedule content exists; we could put it in Schedule section and remove from About the role to avoid duplication. However About the role also mentions location and anchor days; if we remove that sentence

Similar jobs