Jobs at Sketch

Come and join our talented team where we want passionate people to help us build Sketch, the award-winning Mac application for designers.

Backend Developer

Do you love building products from a "behind the scenes" perspective? We're looking to expand our team with a full-time Backend Developer.

As a backend developer, you'll have the ability to work on large-scale systems that impacts people's day-to-day work.

Your job will be mainly focused on designing, implementing, and maintaining APIs. To us developing new features and debugging and fixing bugs are equally important, so every developer in our team participates in both types of jobs. You will work closely with frontend and Mac developers to guarantee maximum alignment for our products and smooth engineering processes.

Our backend is mostly built on Elixir, although we have some bits in NodeJS and Go. Our Elixir API implements GraphQL and we use MariaDB as our primary data store. Our backend also integrates with other minor services like Redis or SQS.

It's essential that you have broad experience developing with Elixir or other languages that may be considered similar to it like Ruby, Clojure, etc..

We don't expect you to have experience with all the technologies in our stack, but you are, definitely, not afraid of them. You are an experienced software engineer, and you have been part of medium/large web development teams. You care much for the details regarding security, code quality, scalability, performance, and simplicity. Above all, you seek operational excellence and push to apply the best engineering practices possible. Not everything that you or your team do can be perfect, but, at least, you make sure that you always know the trade-offs.

We back our 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.

We value every year of experience in your field, but experience isn't the be-all and end-all. The ideal candidate has the passion and knowledge to build high-quality software. We'd love for you to learn from us, just like we'd love to be able to learn from you.

Our team works remotely and communicates mostly using text, so you need to have excellent communication skills and written English, be self-motivated, and comfortable working in a remote position.

Essentials

  • Passionate about the web, product design, and problem-solving.
  • Able to work as part of a close-knit team. Together with your colleagues, you will code, review Pull Requests, deploy to production, etc.. Also, as part of a distributed team, you believe in maintaining detailed documentation.
  • Ability to write and maintain high-quality and well-tested code.
  • At minimum 4 hours of overlap with European/African timezones.
  • Experience with building web APIs.
  • We expect you to be able to start coding in Elixir since the beginning, so, at least, you must be already familiarized with the language, debugging tools, and good practices.
  • Experience with SQL and ORMs. We expect from you to debug queries, suggest database optimizations and work with data migrations in the most optimum way.
  • Knowledge of GraphQL. You understand, at least, its pros and cons depending on the context.

Bonus points

  • Experience or history of working as part of a large remote team or organization.
  • Experience in creating or contributing to open source projects.
  • Experience, not only building Elixir services but also working with BEAM regarding error-debugging and optimizations proposals.
  • Experience in working with Amazon Web Services.
  • Experience integrating web applications with external payment systems.
Apply for This Position Even if you're not able to tick all of these boxes, we would still love to hear from you.