MENU
  • Remote Jobs
  • Companies
  • Go Premium
  • Job Alerts
  • Post a Job
  • Log in
  • Sign up
Working Nomads logo Working Nomads
  • Remote Jobs
  • Companies
  • Post Jobs
  • Go Premium
  • Get Free Job Alerts
  • Log in

Senior Software Engineer

Sanity

Full-time
USA, North America
software engineering
user interface
nodejs
teaching
editing
The job listing has expired. Unfortunately, the hiring company is no longer accepting new applications.

To see similar active jobs please follow this link: Remote Development jobs

Who are we?

Sanity.io is a modern, flexible content platform that replaces rigid legacy content management systems so companies like PUMA, Spotify, Figma, Riot Games, and Skims can create amazing digital experiences for their customers. 

One of our big differentiators is treating content as data, so it can be stored in a single source of truth, but seamlessly adapted and personalized for any channel without extra effort. Forward-thinking companies choose Sanity because they can create tailored content authoring experiences, customized workflows, and content models that reflect their business.

Backed by Netlify, Vercel, the founders of Twitter and Medium, Heroku’s ex-CEO, and leading VCs like ICONIQ Growth, Threshold Ventures, and Lead Edge Capital, Sanity is at the epicenter of the modern digital product development stack.

You can only build a great company with a great culture. Read about our values and join us in building a diverse and inclusive team.

What the team is building:

Sanity Studio is a real-time, collaborative, composable, and highly configurable platform that gives editors an incredible amount of flexibility and gives developers a robust, extendable, and reactive framework for building authoring experiences.

As a senior software engineer on our Studio team, you’ll be responsible for improving the core user experience. You'll help drive new features and improvements that provide delightful and modern experiences to editorial teams of all sizes.

This means you will be:

  • 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.

  • Building user interfaces: planning and implementing delightful surfaces that touch upon all aspects of the Studio editorial experience. This is a vast surface that can cover text editing, custom workflows, digital asset management and more. 

  • 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.

This also means you will:

  • NOT create “webpages”. Sanity is a complex, React-powered application. We’re looking for someone with 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 opportunities 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 know already:

  • 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 pros/cons of snapshot testing.

Stuff that would be a huge bonus if you know, but not a requirement:

  • RxJS. As a real-time app, the Sanity Studio has to respond (or “react” if you’d like) to a multitude of events that can happen at any point in time. We use RxJS in some areas of our codebase to drive reactivity and combine async events from various sources.

  • Automated browser testing. Tools like Cypress, Playwright, Puppeteer, etc.

  • Node.js. We’re running many Node-based tools, and our command line interface is written in Node, so it would be great if you knew how to navigate these things and hook up dependencies. If you’ve built some backend stuff with Node, that’d be awesome, but you won’t be doing too much of it in this role.

  • Accessibility. Accessible design is good design. We’re constantly striving to make Studio as accessible and inclusive as possible, and a basic familiarity with Web Content Accessibility Guidelines and/or an understanding of how people with disabilities browse the web is always welcome.

We expect you to be:

  • A compassionate, friendly human being who cares about and shows respect to the people you work with and has empathy for our users. We want everyone to feel welcome in our community while using our product, regardless of who they are and what they already know.

  • Pragmatic. While we strive to make the best possible solutions, we also need to get value to our users and make sure they are not blocked. This means that sometimes you will need to deliver an incomplete or imperfect solution, which we can iterate on over time, even though you might be tempted to hold off until it is “complete”.

  • Conscious about readable, maintainable code. Thoughtful comments, consistent coding style, and following the best practices and guidelines established by the team.

  • Able to collaborate effectively with people of different roles and backgrounds - product managers, fellow developers, external clients and content authors.

Stuff we’ve built:

Most of the stuff we build is open-source, so feel free to check us out on GitHub! Here are a few blog posts about features we’ve released for the Sanity Studio project:

  • Create: A reinvented writing experience that embraces the creative process, brings the best of generative AI, and is integrated into Sanity Studio.

  • Presentation: A new way to work with structured content visually, using front-end presentations to navigate your content model and edit content in context. 

  • Studio v3: Modernizing the studio codebase: building scalable API foundations, improving developer experience, allowing embedding Sanity into existing React codebases, identifying inconsistent and unergonomic APIs and improving them, migrating to TypeScript

  • Presence: Broadcasting and showing where people are currently editing. Finding optimal ways of exchanging the information, rendering the indicators on the page, and making APIs to allow developers full control of the experience in custom input components and tools and similar.

There is some really cool technology powering the studio that we haven’t written about. If you’re interested, we’d love to show you and tell you about it. Let us know! We love talking about tech and care deeply about our product!

What we offer:

  • You will be part of a highly-skilled, inspiring, and supportive team and work in an environment that encourages long-term personal growth.

  • A positive, flexible, and trust-based work environment.

  • Location: From the office in SF or remote in North America. (Note: There is some overlap with Europe required; therefore, your day will start (and end!) on the early side if it is Pacific or Mountain time. )

  • Universal healthcare, support to nurture physical and mental health, and parental leave.

  • A healthy work-life balance. A balance in life is important to us, and we accommodate flexible work hours that allow for a healthy work-life balance.

  • Competitive salary and stock options program.

Not sure you meet 100% of our qualifications? Have an untraditional background? Do apply anyway!

Sanity.io pledges to be an organization that reflects the globally diverse audience that our product serves. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas, and cultures leads to the creation of better products and services. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, or gender identity.

About the job

Full-time
USA, North America
44 Applicants
Posted 12 months ago
software engineering
user interface
nodejs
teaching
editing
Enhancv advertisement

30,000+
REMOTE JOBS

Unlock access to our database and
kickstart your remote career
Join Premium

Senior Software Engineer

Sanity
The job listing has expired. Unfortunately, the hiring company is no longer accepting new applications.

To see similar active jobs please follow this link: Remote Development jobs

Who are we?

Sanity.io is a modern, flexible content platform that replaces rigid legacy content management systems so companies like PUMA, Spotify, Figma, Riot Games, and Skims can create amazing digital experiences for their customers. 

One of our big differentiators is treating content as data, so it can be stored in a single source of truth, but seamlessly adapted and personalized for any channel without extra effort. Forward-thinking companies choose Sanity because they can create tailored content authoring experiences, customized workflows, and content models that reflect their business.

Backed by Netlify, Vercel, the founders of Twitter and Medium, Heroku’s ex-CEO, and leading VCs like ICONIQ Growth, Threshold Ventures, and Lead Edge Capital, Sanity is at the epicenter of the modern digital product development stack.

You can only build a great company with a great culture. Read about our values and join us in building a diverse and inclusive team.

What the team is building:

Sanity Studio is a real-time, collaborative, composable, and highly configurable platform that gives editors an incredible amount of flexibility and gives developers a robust, extendable, and reactive framework for building authoring experiences.

As a senior software engineer on our Studio team, you’ll be responsible for improving the core user experience. You'll help drive new features and improvements that provide delightful and modern experiences to editorial teams of all sizes.

This means you will be:

  • 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.

  • Building user interfaces: planning and implementing delightful surfaces that touch upon all aspects of the Studio editorial experience. This is a vast surface that can cover text editing, custom workflows, digital asset management and more. 

  • 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.

This also means you will:

  • NOT create “webpages”. Sanity is a complex, React-powered application. We’re looking for someone with 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 opportunities 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 know already:

  • 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 pros/cons of snapshot testing.

Stuff that would be a huge bonus if you know, but not a requirement:

  • RxJS. As a real-time app, the Sanity Studio has to respond (or “react” if you’d like) to a multitude of events that can happen at any point in time. We use RxJS in some areas of our codebase to drive reactivity and combine async events from various sources.

  • Automated browser testing. Tools like Cypress, Playwright, Puppeteer, etc.

  • Node.js. We’re running many Node-based tools, and our command line interface is written in Node, so it would be great if you knew how to navigate these things and hook up dependencies. If you’ve built some backend stuff with Node, that’d be awesome, but you won’t be doing too much of it in this role.

  • Accessibility. Accessible design is good design. We’re constantly striving to make Studio as accessible and inclusive as possible, and a basic familiarity with Web Content Accessibility Guidelines and/or an understanding of how people with disabilities browse the web is always welcome.

We expect you to be:

  • A compassionate, friendly human being who cares about and shows respect to the people you work with and has empathy for our users. We want everyone to feel welcome in our community while using our product, regardless of who they are and what they already know.

  • Pragmatic. While we strive to make the best possible solutions, we also need to get value to our users and make sure they are not blocked. This means that sometimes you will need to deliver an incomplete or imperfect solution, which we can iterate on over time, even though you might be tempted to hold off until it is “complete”.

  • Conscious about readable, maintainable code. Thoughtful comments, consistent coding style, and following the best practices and guidelines established by the team.

  • Able to collaborate effectively with people of different roles and backgrounds - product managers, fellow developers, external clients and content authors.

Stuff we’ve built:

Most of the stuff we build is open-source, so feel free to check us out on GitHub! Here are a few blog posts about features we’ve released for the Sanity Studio project:

  • Create: A reinvented writing experience that embraces the creative process, brings the best of generative AI, and is integrated into Sanity Studio.

  • Presentation: A new way to work with structured content visually, using front-end presentations to navigate your content model and edit content in context. 

  • Studio v3: Modernizing the studio codebase: building scalable API foundations, improving developer experience, allowing embedding Sanity into existing React codebases, identifying inconsistent and unergonomic APIs and improving them, migrating to TypeScript

  • Presence: Broadcasting and showing where people are currently editing. Finding optimal ways of exchanging the information, rendering the indicators on the page, and making APIs to allow developers full control of the experience in custom input components and tools and similar.

There is some really cool technology powering the studio that we haven’t written about. If you’re interested, we’d love to show you and tell you about it. Let us know! We love talking about tech and care deeply about our product!

What we offer:

  • You will be part of a highly-skilled, inspiring, and supportive team and work in an environment that encourages long-term personal growth.

  • A positive, flexible, and trust-based work environment.

  • Location: From the office in SF or remote in North America. (Note: There is some overlap with Europe required; therefore, your day will start (and end!) on the early side if it is Pacific or Mountain time. )

  • Universal healthcare, support to nurture physical and mental health, and parental leave.

  • A healthy work-life balance. A balance in life is important to us, and we accommodate flexible work hours that allow for a healthy work-life balance.

  • Competitive salary and stock options program.

Not sure you meet 100% of our qualifications? Have an untraditional background? Do apply anyway!

Sanity.io pledges to be an organization that reflects the globally diverse audience that our product serves. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas, and cultures leads to the creation of better products and services. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, or gender identity.

Working Nomads

Post Jobs
Premium Subscription
Sponsorship
Free Job Alerts

Job Skills
API
FAQ
Privacy policy
Terms and conditions
Contact us
About us

Jobs by Category

Remote Administration jobs
Remote Consulting jobs
Remote Customer Success jobs
Remote Development jobs
Remote Design jobs
Remote Education jobs
Remote Finance jobs
Remote Legal jobs
Remote Healthcare jobs
Remote Human Resources jobs
Remote Management jobs
Remote Marketing jobs
Remote Sales jobs
Remote System Administration jobs
Remote Writing jobs

Jobs by Position Type

Remote Full-time jobs
Remote Part-time jobs
Remote Contract jobs

Jobs by Region

Remote jobs Anywhere
Remote jobs North America
Remote jobs Latin America
Remote jobs Europe
Remote jobs Middle East
Remote jobs Africa
Remote jobs APAC

Jobs by Skill

Remote Accounting jobs
Remote Assistant jobs
Remote Copywriting jobs
Remote Cyber Security jobs
Remote Data Analyst jobs
Remote Data Entry jobs
Remote English jobs
Remote Spanish jobs
Remote Project Management jobs
Remote QA jobs
Remote SEO jobs

Jobs by Country

Remote jobs Australia
Remote jobs Argentina
Remote jobs Brazil
Remote jobs Canada
Remote jobs Colombia
Remote jobs France
Remote jobs Germany
Remote jobs Ireland
Remote jobs India
Remote jobs Japan
Remote jobs Mexico
Remote jobs Netherlands
Remote jobs New Zealand
Remote jobs Philippines
Remote jobs Poland
Remote jobs Portugal
Remote jobs Singapore
Remote jobs Spain
Remote jobs UK
Remote jobs USA


Working Nomads curates remote digital jobs from around the web.

© 2025 Working Nomads.