Position: Middle/Senior Golang Develoepr
Company: Sannacode
Experience required: 2y
English level: intermediate

**We offer:**
- Interesting dynamic projects;
- Flexible schedule, the ability to work from home;
- Regular performance based salary reviews;
- Compensation for regular vacations, holidays and sick leaves;
- Medical insurance;
- Referral program;
- English courses/ open speaking club;
- The ability to create, take initiative, make decisions and participate in the creation of new projects;
- Friendly team and enjoyable working environment;
- Team Building events;
- Office near the center of Kyiv (Lybidska Subway Station) or remote.

**Requirements:**
- At least 2 years of commercial experience as a Go developer.
- Theoretical base (algorithms, design patterns, OOP).
- Understanding of Service-Oriented Architecture and Microservice patterns.
- Knowledge of HTTP and REST frameworks. Experience in REST API design.
- PostgreSQL: database structure and normal forms / denormalization, complex joins, indexes, sharding.
- Communication via RabbitMQ, Kafka, gRPC, etc.
- Automated unit testing.

**As a plus:**
- PHP development experience.
- Experience in using git-flow.
- Experience in Agile.
- Experience with big data.
- Experience with NoSQL: Redis, MongoDB, Clickhouse LevelDB / RocksDB.
- Experience in building messaging-based / pub-sub fault-tolerant distributed microservices architectures.

**Responsibilities:**
- Participation in backend development.
- Coverage of functionality with unit tests.
- Participation in the process of deployment of project subsystems.
- Subsystem architecture design, data architecture, implementation, test coverage, maintenance.
- Building services, integrations with external providers of information, analytics, including close to real-time.
- Development of a fault-tolerant and distributed architecture of the complex from IO-bound and CPU-bound tasks.
- Communication and control of work in Jira / Confluence / Bitbucket, git.