Tech stack:
  • Javascript (with Flow) codebase: NodeJS (Express), React, React Native
  • GraphQL API (no REST)
  • PostgreSQL DB (transactional)
  • ClickHouse (columnar DB for data warehousing)
  • Redis (session storage, task queue management)
  • Sequelize ORM (exploring Prisma as a potential replacement)
  • Jest test runner
  • Infrastructure: Docker images orchestrated with Kubernetes, Ksonnet. Currently all hosted on AWS.
Technical requirements:
The ideal candidate would be someone who has a genuine passion for designing and implementing elegant software solutions.
  • 3+ years of experience as a professional software (node.js) engineer.
  • Strong software development fundamentals (data structures, algorithms, etc.).
  • Expert level familiarity with modern Javascript (ES6+: Classes, modules, arrow functions, async/await, destructuring, etc.).
  • Intimate knowledge of JS ecosystem (tooling, libraries, etc.).
  • Experience with React (web frontend, server-side rendering, and React Native on mobile platforms).
  • Knowledge of design patterns, and writing idiomatic Javascript code.
  • Experience with large, complex code bases and know how to maintain them.
  • Experience with GraphQL and Apollo a big plus.
  • Upper intermediate English.
Technical requirements:
  • Writing clean, well designed, testable, efficient code.
  • Tests and maintaining thorough test coverage.
  • Lead design and development of projects, either independently or in a team.
  • Provide mentorship to junior team members and participate in design decisions.
  • Be the gatekeeper of the codebase and ensure that it stays stable, readable, and free of technical debt.