I actively program microservices, packages, tools and bots in Go since 2016. In my spare time I develop various projects in Go and game prototypes in Godot Engine. I write average quality singles and soundtracks. I layout accessible, adaptive and sometimes reactive templates. Feel free to forward memes to work chats. Moderately talkative. Willing to learn new things, especially in collaboration with a partner. Request help only after actively seeking a solution on my own. Drink no more than a cup of coffee a day. Owl.

Don’t know much about algorithms due to my average level of math. Not aware of most of the patterns, partly because many of them are not applicable given the language, partly because I can apply them without even knowing they are patterns. I look for the tricky parts of code (aka “gotcha’s”) by using linters, since human eyes and memory aren’t very reliable. I also learn about memory operations, specific protocols and new technologies mostly when it is necessary to solve a problem, otherwise I forget about them in favor of something more interesting. In my projects I try to store minimum data, so I didn’t go deep into database architectures and specifics of PostgreSQL/MongoDB, preferring file-based (SQLite3), embedded (BoltDB) and simplified to “key-value”.

Got my hands on REST APIs and Web servers. Often refactoring, covering previously written code with tests. I read profile blogs in search of new practices and solutions. I use code generation wherever possible. Build small Docker containers to build and deploy my own projects manually. I use no more than one emoji in commits and comments for quick visual context identification and readability. Hate the wacky and glitchy Zoom or Skype, preferring Basecamp and Discord for team communication.

The presence of this resume indicates an obvious interest in finding a job, highly desirable with relocation. Preferably a remote job. Salary expectations last to be discussed. Trading, blockchain and other, based on the manipulation of finances are not interested in startups. I do not work with state structures.

Work Experience

  • SkyDNS

    Senior developer in the development department

    Current time

    Started out by rewriting a web server with complex logic from Python to Go. At the same time I learned SQLite3 queries and implemented the use of linters. Much later I used refactoring to get performance gains and make templates easier to write.

    Refactored a horrible and large legacy product in Go for ISPs, getting rid of obsolete Redis dependencies in favor of current ones. Took TDD and Clean Architecture methodology, which I try to stick to until now. Concurrently I was studying the layout and accessibility, rewriting the product’s admin panel from obscure React to accessible Sapper. Tried to implement integration with partner products, but pretty soon got stuck because of questionable and outdated SOAP API, documentation problems and sad future of manual crutches.

    Within a month created a small Telegram bot to analyze links in messages for threats. Now it is disabled due to low interest in its further support.

    Twice participated in corporate hackathons and once even won first place.

Education

Projects

  • MyPackBot

    Developer

    Current time

    Telegram sticker bot. Collects endless collections of stickers bypassing the limit of 200 active sets, allows you to remove junk/advertising/duplicate stickers and searches by multiple emoji at once. +5000 users. Currently temporarily unavailable due to a major platform update requiring refactoring.

  • telegram

    Developer

    Current time

    Golang package for working with Telegram Bot API using valyala/fasthttp package. It contains many auxiliary utilities and is regularly updated. I actively use it in developing my own bots.

Certificates

Languages

  • Russian – native
  • English – B2

Skills

  • Golang
  • HTML5
  • Svelte
  • a11y