Senior Software Engineer (Front End)
About the Role
As a Senior Software Engineer, you won't just be building "one" React app - in a way you'll be building a React framework. At Sanity, we are building a content management framework, it's not been done before, so join a team of trailblazers and help us build it!
This includes helping users to treat content as data, using our APIs to build optimal editing workflows and share content between systems to increase digital velocity.
You are likely to be self-driven, enjoy working in a fast-paced entrepreneurial environment, and want to get a great understanding of how systems interact through APIs. The Sanity Studio is an open-source CMS, meaning your contributions are out there for everyone to see, your work will be used by both editors and developers. At Sanity we’re really proud of this!
What you will be doing
- Collaborating with, learning from, and teaching software engineers: We really care about developing each other, learning from and interacting with our large and growing community of developers. Knowledge sharing is encouraged at every opportunity.
- Thinking about the future: At Sanity, we want to get ahead, identifying trends, opportunities and iterating on our ideas. We value written proposals (One Pagers also known as RFCs and Product Opportunity Specification Documents) and clear documentation.
- Identifying areas of improvement: You’ll be looking at improving our codebase, not just for your product area but across all of our products to benefit our end users.
- Developing new features for the Sanity product; You'll be building, improving and maintaining our React-based content management framework, making sure it is the obvious and best choice for both editors and developers.
- One size does not fit all: Taking complex (or ambiguous) problems and produce multiple alternative solutions, weighing trade-offs to help their squad make effective medium term technical decisions.
This may be you
- Professional experience using React, building APIs and user interfaces in/for React, and ensuring they are highly performant.
- Strong experience with writing automated tests - both unit and browser integration tests using tools like Jest, Cypress, Playwright or similar.
- A solid understanding of core web and browser concepts, such as event loops, HTTP protocols, various DOM APIs and using devtools efficiently.
- Compassionate about the humans using our product to solve their problems, and consider user experience and accessibility as an integral part of your professional work.
- Demonstrated experience diagnosing and preventing problems with scaling, concurrency, performance and optimization.
- Experience with software architecture, data flow, type systems and API design, and knows to organize various components into logical units with clean separation of roles and responsibilities.
- Care about readable code and write thoughtful comments to the next reader explaining tricky parts of a piece of code when needed
- Experience collaborating with stakeholders and clients.
Not sure you meet 100% of our qualifications? Have an untraditional background? Do apply anyway!
Interested in learning more about our previous projects?
- Presence: Broadcasting and showing where people are currently editing. Finding optimal ways of exchanging the information, rendering the indicators on page, making APIs to allow developers full control of the experience in custom input components and tools and similar.
- 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
- Review changes: Visualizing what changed between revisions of a document in a way that is easy to understand, and allowing developers to build custom React components for displaying these differences.
What we can offer:
- You will be a part of a highly-skilled, inspiring, and supportive team, and work in an environment that encourages long-term personal growth.
- Positive, flexible, and trust-based work environment in a company with a Nordic culture.
- Location: You will work remotely from the East Coast, US.
- Paid parental leave, healthcare, and vacation days.
- A healthy work-life balance. A balance in life is important to us, and we accommodate flexible work hours that allow for having a healthy work-life balance.
- Competitive salary and stock options program.