Contact information

  • Mikhail Gusarov
  • E-mail cv@dt.mg
  • Phone +356 99100291 (timezone is UTC+1)

Summary

I design, develop, maintain and run software systems with a focus on long-term maintainability, and lead small teams doing so.

Software design, development & operations

In Ridge I produce software architecture, component design and supporting tools and procedures. I also implement a quite a bit of the design.

In Luminati I have designed and implemented application-devel metrics and logging system, providing visibility into the application behaviour, and created an application-specific database system to eliminate the bottleneck that could not be solved by off-the-shelf database.

In OpenInkpot I have designed and guided the effort to develop embedded Linux distribution suited for eBook readers, from kernel up to custom UI optimized for e-Ink screens.

Outside of commercial context I am a contributor to numerous open source projects, including well-known ones such as BusyBox, fontconfig, GNOME, Linux and VLC. Some of my code is present on most Linux machines: if you’re on desktop Linux, you might want to run man 1 unshare and check AUTHORS section.

Technical leadership

I know how to introduce, set up and fine tune processes of software development, testing and deployment. In Ridge, CFEngine and OpenInkpot I have established engineering processes of code review, continuous integration and unit- and acceptance-testing.

Product management

In Ridge I define product requirements based on collected customers' needs to make the product appealing to all roles in customers' organizations.

In OpenInkpot I defined the product scope, collected customers' needs and translated them into product requirements.

Project management

I have some experience managing small teams, especially volunteer-based: In OpenInkpot I managed volunteer contributors and a distributed team to produce software for Azbooka e-reader.

What do I expect?

Remote work and a flexible work schedule, to a reasonable extent.

Projects/Companies

Ridge (2018+)

Software architect.

I’m responsible for creating product requirements, software architecture, internal tools and development procedures.

Hola! / Luminati (2013-2018)

Senior software engineer.

I have improved insight into performance of Hola services by adding

  • centralised application-level logging, and
  • application-level metrics

that made it much easier to pinpoint and resolve performance problems and bugs.

I have created several internal-facing statistic dashboards for Hola VPN and also user-facing statistics for Hola Spark CDN.

While working on Luminati I have implemented a custom in-memory DB to track the status of 1M+ peers of Luminati network that decreased the price of hardware running this database by 8x compared to the off-the-shelf DB.

CFEngine (2011-2013)

Senior software engineer.

OpenInkpot (2007-2012)

Founder, software developer, product manager, project manager.

A Linux distribution for eBook readers. I have started it, have built the infrastructure (from bugtracking to cross-compiling Debian packages in CI environment to repository manager) and have implemented lot of low-level code.

Parallels (2004-2007)

  • Software engineer in Plesk for Unix. I have created a tool for transferring contents of competing hosting panels to Plesk, which was then repurposed as a backup system.

  • Software architect in OpenFusion. I have designed SSO mechanism for Parallels apps, and also a Web applications packaging format (Wikipedia page).

Other

From To Name Description
2009 2010 IPlinux Companion project for OpenInkpot, generic embedded Linux distribution. Design and implementation.
2007 2009 ALT Linux Desktop/server Linux distribution. Maintenance of infrastructure and documentation for development team.
2003 2004 Axmor R&D work for IBM, evaluating new technologies for IBM projects. Also system administration.
2003 2003 Novosoft An intern! My first “real” place of work. Billing system based on Cisco NetFlow.

Education

MSc in CS. Novosibirsk State University, 2000-2005.

Systems Theory, Systems Management courses. Systems Management School, 2018-2020.

Keywords

Go, Kafka, Google Cloud, Kubernetes, Terraform, C, Linux, Debian, Korn-like shells, POSIX/SUSv3, Javascript, Node.js, Python, git, CFEngine, MongoDB, various Internet protocols, REST, ElasticSearch, AWS, Clojure, various Unices, Django, SQLite, PostgreSQL.