Senior Software Engineer - Developer Experience

Sanity.io
·
Posted: 
August 22, 2023
·
Remote
Job Commitment
Full-time
Job Commitment
Senior
Job Function
Dev & Engineering
Salary
N/A
Job Commitment
Full-time
Experience Level
Senior
Workplace Type
Remote
Job Function

This job is closed

We regret to inform you that the job you were interested in has now been closed. Although this specific position is no longer available, we encourage you to continue exploring other opportunities on our job board.

About the position

We are seeking a skilled developer to join our Developer Experience team and contribute to the creation of a robust framework and tooling for real-time collaborative editing of structured content. The role involves building APIs, ensuring reactivity and collaboration, debugging and optimizing performance, continuous improvement, and learning and teaching best practices. The ideal candidate should have experience with web applications, be proficient in React and state management, possess knowledge of core web and browser concepts, be familiar with module systems and bundling, and have a good understanding of TypeScript and unit testing.

Responsibilities

  • Building APIs: planning and implementing beautiful, minimal APIs that allow both internal and external developers to think about the high-level things they want to solve and leave the hard implementation details to us.
  • Thinking about collaboration: Everything in Sanity reacts in real-time to changes in content. Every edit sends structured patches to the server and is applied to connected clients. Presence indicators show who’s editing what. This means APIs need to be reactive - “fetch and subscribe” rather than “fetch and return”.
  • Debugging and optimizing: With a huge React-based app full of reactivity, there are a lot of updates and room for optimization. Keeping an eye on performance, figuring out the slowest paths and building good patterns to keep the user interface snappy is important.
  • Learning and teaching: With a huge community of content editors and developers using the product, you’ll have lots of opportunities to learn from what they are doing with Sanity and how we can make their lives easier. It also means there are opportunities to teach developers internally and externally about best practices and new approaches.
  • Continuously improving: There is always room for improvement. We want to improve our test coverage, make our APIs more robust, decouple state from UI, stay up to date with the latest dependencies… In other words: always improving the product.
  • Building in the open: The Sanity studio is an open-source project. The vast majority of your contributions will be public and MIT-licensed.
  • NOT create “webpages”. Sanity is a complex, React-powered application. We’re looking for someone who has experience with web applications - things that run in your browser, have local state, updates in reaction to remote changes etc. It has a lifecycle much longer than a regular webpage render cycle, e.g. receive HTML, attach event handlers and done.
  • NOT be working on an internal tool that no one outside of your company will see. Sanity has a large number of customers and users which will all be using and building on our code, and our APIs. As a developer at Sanity you will be delivering high-impact work that empowers thousands of people all over the world.
  • NOT be stagnant. There will be plenty of opportunity to explore new patterns, investigate relevant tools and keep up to date with the latest and greatest. It’s important for us to stay ahead!
  • Technologies we expect you to already know:
    • React. Given our entire application is rendered with React, we really do need you to know your way around useState and useEffect. We really hope you know about the React developer tools, and have gotten your way out of useEffect loops. Context isn’t always the right choice, but we hope you’ve got experience with it anyway. We’d be very happy if you’ve optimized some rendering in a React application, and we’d be absolutely over the moon if you know what useSyncExternalStore is, or know the intricacies of strict mode.
    • State management. We don’t really care if you’re an old-time Reflux user, have years of experience with Redux or if you’re on the zustand train - but we do care that you know when and why you might reach for one of these. We’d also like you to know about “selectors”, or other techniques of fine-grained subscription.
    • Core web and browser concepts. You need to know what HTTP requests are, what the event loop is (and why it matters), how promises work, how to use browser development tools and preferably also know your way around some DOM and browser APIs. In other words; you know what the fetch API is and roughly how it works, and you’ve at least heard about IntersectionObserver and getBoundingClientRect.
    • Module systems and bundling. No, we don’t need you to be an expert on Webpack. But we DO need you to know what bundlers like Webpack, Vite and Rollup DO. Similarly, we don’t expect you to solve any ESM vs CommonJS issue we may encounter, but we really hope you know what those two names mean, and how they are different.
    • TypeScript. The basics: interfaces, types, some knowledge of generics. Why you shouldn’t use any. If you care about type narrowing, discriminated unions and other fancy TypeScript features, we’d be even happier!
    • Unit testing. Using something like Jest, vitest, tap, mocha… The framework isn’t important, what is important is that you know why and how to write tests. We’d love it if you could talk about test isolation and the pro

    Requirements

    • Experience building APIs and implementing minimal, beautiful APIs for internal and external developers
    • Understanding of collaboration and the ability to create reactive APIs
    • Proficiency in debugging and optimizing React-based applications
    • Willingness to continuously learn and teach best practices and new approaches
    • Commitment to continuously improving the product, including test coverage, API robustness, and staying up to date with dependencies
    • Familiarity with React, including useState, useEffect, React developer tools, and optimization techniques
    • Knowledge of state management, such as Reflux, Redux, or Zustand, and familiarity with fine-grained subscription techniques
    • Understanding of core web and browser concepts, including HTTP requests, event loops, promises, browser development tools, DOM, and browser APIs
    • Familiarity with module systems and bundling, such as Webpack, Vite, and Rollup, and knowledge of ESM vs CommonJS
    • Proficiency in TypeScript, including interfaces, types, generics, and avoiding the use of "any"
    • Experience with unit testing using frameworks like Jest, vitest, tap, mocha, and understanding of test isolation and snapshot testing
    • Bonus: Knowledge of RxJS for driving reactivity and combining async events
    • Bonus: Experience with automated browser testing tools like Cypress, Playwright, Puppeteer
    • Bonus: Familiarity with Node.js for navigating Node-based tools and dependencies, and backend development experience

    Benefits

    • Highly-skilled, inspiring, and supportive team
    • Positive, flexible, and trust-based work environment
    • Remote/WFH on the Central/East Coast in the US or Canada
    • Universal healthcare, support for physical and mental health, and parental leave
    • Healthy work-life balance with flexible work hours
    • Competitive salary and stock options program
    • Opportunity to work with cool technology
    • Long-term personal growth opportunities
    • Inclusive and diverse team culture
    • Equal employment opportunity regardless of various factors

    Job Application Resources

    No items found.

    More Openings at Sanity.io

    Sanity.io
    Web Design
    Web Design
    Web Design
    Web Design
    Remote
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Senior
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Sanity.io
    Web Design
    Web Design
    Web Design
    Web Design
    Remote
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Senior
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Sanity.io
    Web Design
    Web Design
    Web Design
    Web Design
    Remote
    ·
    Full-time
    ·
    Marketing
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Manager
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Sanity.io
    Web Design
    Web Design
    Web Design
    Web Design
    Remote
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Senior
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Sanity.io
    Web Design
    Web Design
    Web Design
    Web Design
    Remote
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Senior
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Sanity.io
    Web Design
    Web Design
    Web Design
    Web Design
    Remote
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Senior
    ·
    101-250
    Employees
    This is some text inside of a div block.

    Similar Jobs

    Reltio
    Web Design
    Web Design
    Web Design
    Web Design
    Onsite
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Senior
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Reddit
    Web Design
    Web Design
    Web Design
    Web Design
    Onsite
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Manager
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Recorded Future
    Web Design
    Web Design
    Web Design
    Web Design
    Onsite
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Manager
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Reddit
    Web Design
    Web Design
    Web Design
    Web Design
    Onsite
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Manager
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Recursion
    Web Design
    Web Design
    Web Design
    Web Design
    Onsite
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Director
    ·
    101-250
    Employees
    This is some text inside of a div block.
    Pure Storage
    Web Design
    Web Design
    Web Design
    Web Design
    Onsite
    ·
    Full-time
    ·
    Dev & Engineering
    $
    320,000
    -
    $
    360,000
    /Year
    ·
    Mid Level
    ·
    101-250
    Employees
    This is some text inside of a div block.

    Sanity.io

    Sanity is a platform for structured content that lets teams build digital experiences.
    Location
    San Francisco, CA
    Company Size
    51-100
    Workplace Type
    Industries
    Developer Platform
    PaaS
    SaaS
    Information Technology
    Software
    Open Roles
    14
    Less details
    Create a Tailored Resume for this Role in Minutes
    Start Building for Free

    Sanity.io

    Sanity is a platform for structured content that lets teams build digital experiences.
    Company Overview

    Sanity is a platform for structured content that lets teams build digital experiences.

    Benefits
    • A highly-skilled, inspiring, and supportive team where long-term personal growth is encouraged and supported.
    • Positive, flexible, and trust-based work environment.
    • A very global, multi-culturally diverse group of colleagues and customers.
    • Remote/WFH in the US.
    • Comprehensive health plans and perks, and open PTO.
    • A healthy work-life balance that accommodates individual and family needs.
    • Competitive salary and stock options program.
    Less details

    Want Jobs in Your Inbox?

    Sign up for the Teal newsletter and get career guidance and new jobs weekly!
    Thank you! Your submission has been received!
    Oops! Please provide a correct email address