Career Profile

I’m a software engineer with a focus on Golang. Since 2018, Golang has been my primary technology. In addition, I have some team leadership and DevOps experience.

I’m great at problem-solving and taking initiative. I take into account the needs of the company and the clients, and I strive to accomplish business objectives rather than just complete duties.

I’m passionate about building sustainable, fault-tolerant, and scalable solutions. I appreciate maintainability; therefore, I advocate clean code architecture, unit tests, and documentation.

My key values:

  • team work;
  • healthy communication;
  • honesty and transparency;
  • reliability.

Experiences

Principal Software Engineer (Golang)

Aug 2022 – Mar 2024

Headframe is a startup that develops software for Bitcoin mining and hashrate management.

I joined the project as the first developer and worked through the entire lifecycle of the company. Our team consisted of two backend developers, one frontend developer, one DevOps, and the CTO.

Despite the fact that we were a small startup, we followed best practices.

  • All essential decisions were captured in Architecture Decision Records (ADRs).
  • Code was covered with unit and functional testing. Coverage was around 90%.
  • We had solid CI/CD processes, including automated testing, linters, and deployment to a K8s cluster.

These concepts helped us maintain a rapid development pace throughout the company’s lifecycle. I was more than just a consumer of these ideals; I helped create them.

My main achievements:

  • I developed the Stratum Relay. It’s a TCP server that connects ASICs (mining devices) to a parent mining pool. It was capable of serving 20,000 concurrent TCP connections with a latency as low as 20 ms.
  • I developed a virtual mining feature. Virtual mining allows users to rent ASICs with a few clicks and start mining within minutes.
  • I developed an API service with over 200 endpoints. All endpoints were protected by a proper permission model.

Technologies:

  • Golang, Clickhouse, PostgreSQL, Redis, Ory, SpiceDB, Docker, Kubernetes, Github, Argo CD.

Approaches:

  • Kanban, code reviews, clean code architecture, ADRs.

Principal Software Engineer (Golang)

Nov 2021 – Jul 2022

Youla is a geolocation-based classified ad service. The service helps users sell and buy used items.

I worked for the infrastructure team dedicated to building the platform for the other developers. My team’s goal was to make launching Golang microservices smooth and fast.

What I accomplished in this position:

  • I wrote comprehensive documentation about best practices, CI/CD, architecture, and other vital topics.
  • I created the launchpad, a small CLI tool that generated a new service within one command. The resulting service had telemetry, CI/CD, and deployment configuration for the Kubernetes cluster.
  • I created an infrastructure framework for reusable instruments such as logging, metrics, tracing, and profiling.

Technologies:

  • Golang, Docker, Kubernetes, Gitlab.

Approaches:

  • Agile, code reviews, clean code architecture.

Principal Software Engineer (Golang)

Feb 2021 – Jul 2021

Golane is a startup building a simple ticketing system for public transport.

At this position, I was developing payment services.

  • I implemented an integration with the German payment provider LogPay.
  • I developed a calculator for the best price. This service calculates the best possible combination of tickets (daily, weekly, etc.) for a user. It was an exciting and challenging task since it was an NP-complex problem.

Technologies:

  • Golang, PostgreSQL, Docker, Kafka, GraphQL, gRPC.

Approaches:

  • Agile, code reviews, clean code architecture.

Senior Software Engineer (Golang)

Mar 2020 – Dec 2020

xpate is a fintech startup building drag&drop-centric payment system.

I was developing the key projects of the company: the core-banking and the payment gateway.

My main achievements:

  • I designed and developed a tariff system for the core-banking and the payment gateway.
  • I designed and developed a payment routing module and a status model for the payment gateway.

Unfortunately, one day the company decided to close the development department completely and use white-label software instead.

Technologies:

  • Golang, PostgreSQL, Docker, Gitlab, Clickhouse, Grafana.

Approaches:

  • Agile, blameless-postmortems, code reviews.

Chief Technology Officer

Sep 2019 – Feb 2020

Enjoy.ai was a sexual wellness startup. Its goal was to help people diversify their intimate lives.

I was the only developer at a small startup. I was responsible for all technical solutions and their implementation. The startup operated for six months until its investment ran out. During this time, we were able to build three full MVPs to test hypotheses.

My main achievements:

  • I was actively involved in thinking through the company’s business strategy, not just in code development.
  • I was able to implement business ideas quickly. It was important not to waste time on long development, but to release the product and test the hypothesis as soon as possible.

Technologies:

  • Golang, NLP, JavaScript, Docker, Gitlab.

Senior Software Engineer (Golang)

Dec 2018 — Sep 2019

Affise is a SaaS platform for performance marketing.

I was involved in the development of the core Affise platform.

My main achievements:

  • I optimized two Golang services to handle 100,000 clicks per second per instance with 20 milliseconds of latency.
  • I designed an on-call duty process and instilled a culture of blameless postmortems.

Technologies:

  • Golang, ElasticSearch, Clickhouse, gRPC, Docker, Drone.io, Github, Ansible.

Approaches:

  • Agile, blameless-postmortems, code reviews, on-call duties.

Software Engineer (Golang)

Mar 2018 — Dec 2018

Moira is an open-source real-time alerting system designed for a massive number of metrics. It processes more than 200,000 metrics per second.

I was part of a team of two developers that developed Moira Alert. I was responsible for the entire lifecycle of the service. This included design, development, support, and on-call duties.

The most significant task that I implemented was a full-text search for triggers stored in Moira. It used an embedded search engine and was capable of serving over 10,000 searches per second per instance.

Technologies:

  • Golang, TeamCity, GitHub, GitLab, Ansible, Docker, Travis, Redis, bleve search.

Approaches:

  • Agile, blameless-postmortems, code reviews, on-call duties.

Independent Entrepreneur

Jan 2017 — Mar 2018

I tried my hand at entrepreneurship and opened an anti-café in Yekaterinburg.

D12 helped me learn new skills in marketing, administration, and audience engagement. Unfortunately, it was not commercially viable, so I decided to close the café.

Approaches:

  • customer development, marketing, administration.

DevOps Engineer

Oct 2015 — Jul 2017

SKB Kontur is a large IT-company that develops dozens of products for B2B and B2G.

I was implementing and maintaining CI/CD in a Microsoft-oriented environment.

I helped most teams to migrate from manual deployment to Octopus Deploy. As a result, I was managing CI/CD on thousands of nodes.

Technologies:

  • Octopus Deploy, TeamCity, Windows Server, C#, Powershell, Gitlab, Go, Ansible, Docker.

Approaches:

  • Agile, code reviews, blameless-postmortems, on-call duties.

Projects

The projects listed below are ones that I either created or significantly contributed to.

go-archetype - Project archetyping and templating in Golang
godenv - A package to read .env files in Golang without regular expressions
kong-dotenv - ENV file resolver for kong CLI parser
go-sample - Go Backend Sample with the modular structure
Moira Alerting - Realtime Alerting for Graphite and Prometheus

OSS Contributions

The projects listed below are ones that I made considerable contributions to.

testfixtures - Ruby on Rails like test fixtures for Go
kong - Command-line parser for Go

Skills & Proficiency

🤝 Problem-solving

🤝 Communication

🤝 Self-learning

🤝 System design

⚙️ Golang

⚙️ Docker

⚙️ PostgreSQL

⚙️ Redis

⚙️ gRPC

⚙️ Clickhouse

⚙️ Bash

⚙️ Ansible

⚙️ Linux

⚙️ Kubernetes