Senior Go Developer
Remote | 260 - 290 thousand rubles after taxes
Hi!👋 My name is Irina. I represent the group of companies Top Selection.
We are looking for a Senior Go Developer for a retail trade project.
✅Level: Senior
✅Location and citizenship: Russia, within ±2 hours of Moscow time.
✅Salary: 260-290K after taxes
✅Load: fulltime
✅Employment form: as an Individual Entrepreneur
✅Project: Retail trade.
‼️Mandatory requirements:
- Commercial development experience in Go from 5+ years;
- Confident use of context for timeouts, operation cancellation, and metadata transfer;
- Understanding and application of generics 1.18+;
- Writing idiomatic, readable code;
- Experience with popular frameworks and routers (chi, gin, fiber);
- Deep understanding of Go's type system and interfaces;
- Experience designing and developing microservice architecture from scratch or refactoring a monolith;
- Understanding of SOLID, KISS, YAGNI principles and the ability to apply them in the context of Go;
- Knowledge of distributed system patterns: Circuit Breaker, Retry, Rate Limiting, Saga, CQRS;
- Experience designing integration between services (synchronous — via REST/gRPC, and asynchronous — via queues/brokers);
- Understanding of Domain Driven Design principles and the ability to define context boundaries;
- Deep knowledge of PostgreSQL;
- Experience working with MongoDB, Cassandra or ClickHouse;
- Experience working with Redis or Memcached;
- Experience integrating and operating Apache Kafka;
- Experience working with RabbitMQ or NATS;
- Understanding of delivery guarantees: at-least-once, exactly-once, at-most-once and their implementation in Go;
- Mandatory proficiency in Docker, experience with Kubernetes — writing manifests, understanding helm, working in a cluster;
- Experience setting up pipelines (GitLab CI, GitHub Actions, Jenkins);
- Experience with Prometheus and Grafana;
- ELK, Loki, ClickHouse;
- Distributed tracing (Jaeger, Zipkin);
- Writing unit tests, integration tests, and E2E tests;
- Experience implementing and using linters and code style checks in CI.
➕Additional requirements:
- Ability to independently make architectural decisions affecting the entire product and take responsibility for them;
- Experience onboarding newcomers, conducting code reviews with a learning effect, conducting tech syncs and/or meetups within the company;
- Understanding business goals, ability to translate business requirements into technical tasks and justify technical solutions to the Product Manager/client;
- Experience working with high-load systems;
- Knowledge of other programming languages (e.g., Python, Rust, C++) for understanding multiparadigm concepts;
- Experience working with cloud providers;
- Understanding of basic network protocols;
- Experience working with Linux at a confident user/administrator level;
- English language: Level from Intermediate (B1) and above for reading technical documentation and (possibly) communicating with the client.
📝Tasks:
- Development of high-load distributed systems;
- Architecture design;
- Performance optimization;
- Mentoring team members;
- Ensuring the quality of the code base.
📲Contacts: @irazhura87