Over a million designers use Sketch to transform their ideas into incredible products, every day. Would you like to join us and help take the backend services that support this leading design tool to the next level? We're looking to expand our team with a full-time Backend Developer.
As a backend developer at Sketch, your job will be mainly focused on designing, implementing, and maintaining APIs on large-scale systems that impact people's day-to-day work. You will work closely with frontend, Mac developers and project managers to guarantee a product-focused, smooth engineering processes.
Most of our backend is built on Elixir with Phoenix, served over GraphQL. We build some supporting web services increasingly in Go and decreasingly in NodeJS, and are progressively migrating our backing data store to PostgreSQL from MariaDB. Our backend services also utilise some AWS services such as SQS, and Redis.
We are especially interested in finding developers with experience either building web APIs with Go or experience with functional programming (e.g. Elixir, NodeJS, Clojure, F#). You might not have experience with all the technologies in our stack, but you are motivated to learn deeply. You will get the opportunity to work with both Go and Elixir with experienced teammates who can teach and pair with you to learn whatever you have less experience with.
You care about security, code quality, scalability, performance, and simplicity. Above all, you seek operational excellence and apply the best engineering practices possible. Not everything that you or your team do can be perfect, but you make sure that you always know the trade-offs. You back your decisions with arguments. You don't care for hype and always try to find the best solution and technology for the job and its context.
You are a pragmatist and understand technology as the medium to build products. You understand the right balance between code readability, simplicity, development speed, performance and maintainability.
Sketch is a 100% remote company, and your colleagues are distributed around the globe. Being remote adds great flexibility, and helps us build a more diverse team. We put respect for each other above everything else.
Besides being remote we work asynchronously as often as we can. This means that our team communicates mostly using Slack and GitHub. When we need it, we also have video calls.
Our Technology team has more than 50 people today, split between Mac, Backend, Frontend, Infrastructure and QA. In particular, the backend team has more than 10 members. We work in multidisciplinary squads: people from the different roles, including members of the Product team, work together on solving problems and delivering functionality to our users.
Even if you're not able to tick all of these boxes, we would still love to hear from you.