Senior Go developer

Tasks

  • Participation in the development of the architecture of a multicomponent backend system (improving stability, working on scalability and performance);
  • Designing complex client-server applications (a reasonable choice between a monolith and a microservice. Racing, transactional integrity);
  • Participation in system analysis and decomposition of large tasks;
  • Work to eliminate technical debt (refactoring, implementation of trading and monitoring tools, separation of monolithic components);
  • Writing unit tests;
  • Participation in a cross-team code-review.

Our expectations

  • Ability to solve complex and atypical tasks independently;
  • Good knowledge of Go;
  • Good troubleshooting skills in multicomponent systems;
  • Knowledge of basic service design patterns;
  • At least 5 years of commercial development experience in Go;
  • Ability to design contracts;
  • Understanding the structure of indexes inside the database;
  • Ability to analyze the complexity of queries in the database;
  • Knowledge of approaches for parallel processing of external requests (competitive asynchrony, multithreading);
  • Experience with Git;
  • Experience with Linux.

Will be a plus

  • Java, JS or Python;
  • Experience in trading on the stock exchange or working in fintech;
  • The practice of using OpenTracing.

Additionally

  • Willingness to discuss relocation to Georgia;
  • The ability to work from anywhere in the world.