Do you love building products from a "behind the scenes" perspective? We're looking to expand our team with a full-time, experienced Elixir Engineer.
As a backend engineer at Sketch, you'll have the ability to work on large-scale systems that impacts people's day-to-day work. You will work closely with frontend and Mac developers and project managers to guarantee maximum alignment for our products and smooth engineering processes.
Sketch's web platform involves different backend services, and the stack is a mix of serverless and self-managed services. Your main mission will be to contribute to the Elixir backend, using the best practices and techniques of the language in order to take full advantage of Elixir and Erlang/OTP scalability and resiliency properties. This backend is built with the web framework Phoenix and implements a GraphQL API with Absinthe. The application data is persisted with a SQL database.
You will also help other junior Elixir developers to improve their technical skills through code reviews, peer-programming sessions, and other coaching practices.
Sketch is a 100% remote company, and your colleagues will be distributed around the globe. Being remote adds great flexibility to everyone's life and helps us, as a company, to have a more diverse team. Our team works remotely and communicates mostly using text. You need to have excellent communication skills and written English, be self-motivated, and comfortable working in a remote position.
You are a seasoned Software Engineer, passionate about the web, product design, and problem-solving. You have worked with different languages, and you understand well the advantages and trade-offs of different technologies for different needs. You have broad experience in building and maintaining large web applications. You know how to organize Elixir/Phoenix code for excellent maintainability and high development speed.
You have been working full-time with Elixir for more than four years and with Phoenix (also full-time) for more than two years. You don't just scratch the surface of Elixir. You master Erlang/BEAM/OTP debugging, and other types of low-level tasks. You understand well the implementation peculiarities of GraphQL, and its challenges regarding authorization, database performance, and caching.
You can work as part of a close-knit team. You have been part of medium/large web development teams. You seek knowledge sharing within your 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.
You are a pragmatist and understand technology as the medium to build products. You understand the right balance between code readability, simplicity, development speed, and maintainability. Above all, you seek operational excellence and push to apply the best engineering practices possible. At Sketch, we back our decisions with arguments.
You will work very closely with the rest of the backend team. Most of your working hours must overlap with the rest of the backend team. This team is, mostly based on European/African timezones. So, probably, more than 5 or 6 hours of difference will be a problem.