Description

Our primary backend systems are written in Ruby (we use Grape+Sequel instead of Rails), with some newer peripheral microservices developed in TypeScript/Node. Although strong Ruby skills are a requirement for this role, experience or interest in working in TypeScript/Node and other technologies is a big plus.

As a senior Ruby dev, you will:

  • Work with a focused team of other talented engineers, designers, and product managers to develop our existing backend systems in a scalable fashion
  • Communicate your design through documentations such as flow charts, sequence, entity relationship, GraphQL schema or OpenAPI schema diagrams
  • Introduce new ideas, processes, and technologies to help evolve our infrastructure and architecture
  • Mentor junior developers through collaboration and code reviews
  • Collaborate with the product and business teams to identify new opportunities to develop new features and products


You should be the kind of person who:

  • Cares about high-quality, elegant code and architecture
  • Develops in an AGILE way without compromising quality
  • Thinks deeply and critically about problems, tools, and processes
  • Is passionate about building systems that have a positive social impact
  • Has a decent sense humor (our dev team has a weird obsession with the Simpsons, sandwiches, and questionable emoji)


You should have:

  • 3 years working experience developing in Ruby
  • 5 years experience building complex, scalable backend systems
  • Experience with distributed systems and microservices (Event driven architecture, CQRS, Domain Driven Design)
  • Experience with React or another framework based on unidirectional data flow
  • Experience building microservices in Node.js or Deno
  • Some experience/knowledge in Typescript
  • Experience in designing normalized (3NF) relational SQL databases
  • Experience building RESTful and GraphQL APIs at scale
  • Experience writing functional tests (unit, integration and system tests)
  • Knowledge of best practices such as KISS, YAGNI, DRY and SOLID principles
  • Knowledge of OOP and functional paradigms
  • A desire to build things for the long-term, with the understanding that the care and attention you put into your work now will pay off later

Education

Any Graduate