We're hiring: Front-end developer: Sanity.io / Core product
You will be a part of a highly skilled, inspiring, and supportive team developing a product that is loved by developers and content editors all over the world.
Sanity.io is a platform for structured content. It comes with real-time APIs and an open source content editing environment built with React.
Our users are developers and content editors from diverse backgrounds. Freelancers, small developer shops, renowned agencies, and large multinational corporations from a wide range of industries are choosing Sanity as their content platform.
As a developer at Sanity.io, you will make an impact that affects a lot of users. You will be based out of Grünerløkka, Oslo, Norway with the opportunity to work from our office in the San Francisco Bay Area from time to time.
Some of our recurring technical challenges
At Sanity.io we are building APIs, tooling, and a user interface for editing and managing content. Most of what we do involves lifting complexity away from developers who build products that need content in some way or form. Building a product that is both real-time and scalable to a significant number of documents, involves a range of interesting technical challenges. We hope you want to join us in exploring, and seek the best approaches to things like:
- Real-time, event-driven user interfaces
- Component ecosystems
- Reusable and extensible CSS
- Plugin architecture
- Developer experience
How we work
On a day-to-day basis you will join our growing team of six developers and two (coding) designers, all working closely together. We aspire to a culture of learning, openness, and exploration:
- We use code reviews as an opportunity to learn from each-other.
- We believe in co-operation, and not ninja/rockstar driven development.
- Regular show and tell sessions giving all team members the opportunity to share what we have created or learned recently.
- Our working language is English.
- Short and efficient meetings.
- We are using Slack for team and community communication. It’s OK, and often encouraged, to snooze notifications for focus.
- We like to have a sober and pragmatic approach to scrum, agile, and all the buzzwords.
- As part of the team, you will be contributing to our React-based editing environment and supporting libraries.
- You will be working in an organization that is attuned towards developer experience, both on the inside and the outside.
- Most of what we do is open source.
- We use GitHub for source code and project management.
- We are active in our growing and friendly developer community.
- We work with leading players in the web development ecosystem (such as Google, Netlify, Zeit, Mux, and Gatsby).
- We get support from our developer advocates for communicating code in blog posts, conference talks, or videos.
- Our management has a strong technical background – all parts of the company are technically savvy and curious.
- We foster an empathetic and supportive work environment where we give each other mutual trust and support.
- Nobody knows everything: we celebrate different points of view, and value learning and exploring.
- We make tools that other developers rely on, so we move deliberately and don’t break stuff.
Our tech stack
As part of the developer team in Sanity.io, you get a high degree of freedom to work with the technologies you find interesting. We strive to find the balance between constantly adapting to an ever-changing toolchain, while maintaining stability and predictability. These are some of the technologies we currently use:
- Prettier, ESlint, Jest and other code quality tools
Our programming style
We are not dogmatic about any “one right way” of writing code and believe there are benefits and trade-offs with every programming style. That said, we lean towards a functional/declarative style of programming, favoring composition over inheritance, isolating side effects and state changes, and favoring immutable data as much as possible.
Some guiding principles:
- Optimize for readability: We spend a lot more time reading code than writing code and computers are great at optimizing for speed and efficiency.
- Test what matters. We hold a pragmatic view about testing and acknowledge that it’s not a silver bullet.
- Unix philosophy: do one thing and do it well.
- Composability: We solve complex problems by combining simple building blocks.
- Refactoring and iterating takes us closer to the goal.
What we hope to learn about you
There are many roads leading up to being a developer. Our team is already a mix of self-taught developers and those with formal education in computer science. What we hope to learn about you initially is your thoughts and real-world experience with the following topics:
- How you think about problem-solving and how to best guide others in technical matters. Do you have examples of times where this changed for you?
- Your thoughts on the web development ecosystem. Have you had to adjust to changes in the last few years? Where do you think we’re headed?
- Competitive salary and stock options
- We accommodate for how you like to work, standing desk, etc.
- Flexible work hours that allow for having a family
- Optional home office and remote-in periods; sometimes you need a change of scenery
- You will be based in one of the happiest countries in the world (Norway), in one of Europe’s fastest growing cities (Oslo) ticking all the boxes when it comes to arts, night-life, family friendliness, and the great outdoors. And everyone speaks English!
- On-site staff enjoy awesome social benefits as mandated by Norwegian law including child benefits, paid parental leave, universal healthcare, and proper Nordic vacations.
Sanity.io pledge 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.