Here I skipped things which level of knowledge is hard to measure, such as soft skills like self-organization, task splitting and time management.

NOTE: I have plans to make this page less boring, but its not a priority currently

Programming languages

Main pack

This group of languages I know very well:

  • Ruby - today is my primary language I use since 2011, and feel myself very comfortable with it. For a few last years there are rumors what Ruby is dying, but trust me - everything’s all right with language, there’s a problem on how people using it. I’m about monkey-patching, God classes and other bad practices. Ruby gives a lot of freedom, and because of that requires a lot of developer’s responsibility. That’s why principles such as SOLID, works so good for Ruby - they prevent developers from wrong language using (take a look at my favorite examples - Hanami framework or DRY* gems family ).
  • Rust - I use it for several years now. Since Rust’s stdlib is huge, I haven’t tried all of it in detail yet. Nevertheless, I can definitely say that I am confidently proficient in both the language and its concepts. Because I already knew more than ten languages before it, many of these concepts were already familiar to me (monads, channels, concurrent programming, async). Rust was precisely what provided a new impetus for a deeper dive into C (not C++, which I don’t even want to touch) and Assembly.
  • Python - rich ecosystem is the reason I use it to support Ruby when it lacks of specific libs.
  • CSS - yes, CSS is language. With functions , if statements and lots of other amazing stuff. Modern CSS is awesome! I remember early web’s CSS, and pain to force IE to follow the standards. The progress of CSS and browsers is huge!
  • Elm - underrated, crazy thing, and I just love it :) I used it for frontend part for one of my clients, but he disappeared suddenly, and the work stopped. Actually Elm is a language I’d like to use (for and if) SPAs, though SPA approach should not be used, unless you build another Figma. This gem gave the amazing The Elm Architecture (TEA) to the world, and influenced so many tools created later. Sometimes I find it in unexpected places :)
  • *sh - every developer must feel comfortable with at least one of them, and knowing their different tricks and edge-cases. *sh itself not very hard to learn. Much more important to learn common tools provided by *nix and tasks they allow to complete
  • PL/pgSQL - I love it! Actually it’s my first declarative language I started to learn, looks a bit clumsy, but feels so powerful. There wasn’t much tasks where I could learn it more, but every time it’s an interesting experience.
  • PHP / Laravel - Backend and full-stack development. I have extensive experience with PHP over the years, and Laravel is in my active capability set for building and supporting modern PHP-based web applications.
  • JavaScript - Vanilla and to interact with WebAPIs only. It was designed for that, and things should stay that way. That’s what happens when you use a hammer for a prostate massage .

Enqueued to learn

These languages are my next to master in 2026:

  • C - The God language. 2026 is the year I plan master it finally. Currently I’m a proficient reader. I have sort of orgasm reading OpenBSD source code before going to sleep. 10/10, totally recommending. Also, I have NodeMCU V2 development board in my hands, so that should be interesting experience.
  • Assembly - well, this is the lowest level I always scary to get into, but, again, Rust helped me to stop worrying about it. I don’t think I’m going to dig deep, but some level of knowledge is always good to have.

Would be great to learn these as a bonus:

  • SVG (suddenly) - I have so much ideas how to use it in my projects!
  • Shaders - looking how people do amazing things with shaders, I can’t stand to try it myself. The WebGL for the start looks fantastic.

Not planning to use

The languages below (and their ecosystem) below I currently not planning to learn more deeply. They stay in my toolbox, but that’s it:

  • Go - had some experience, but well, though this one conquers the world, ultra-fast, blazing fast compilation time etc., I just don’t like the language itself at the moment, feels weird to me. Probably my opinion will change someday. Really cool things created on it, but I like others in this list much more
  • Java/Kotlin - though I had some experience with Java many years ago (before C# came into scene), recently I realized what since then Java world changed a lot. Practically speaking I’m learning Java from the start, but thanks to C# experience this process is quite fast. Two goals I have: developing Android apps, and learn deeper Java SDK to use with Clojure
  • Clojure/ClojureScript - this is the language I plan to learn deeper. I wrote a small network data miner for myself using it, and it shows as a perfect data processor. Plus, ELisp as a free bonus :). Really interested to work on project using it to grow my Clojure skills!
  • Elixir/Phoenix - as most Ruby devs this pair, for me Elixir seems more natural to transit to. Elixir is what I’m currently actively learning, but can’t find a project where I can land as a junior dev :( BTW, I started to learn Erlang early in my career, but there was no demand in Erlang in Russia those days
  • Lua - using for creating custom ConTeXt writers for Pandoc (I love parsers and books! :). Easy to learn, have unusual RegExp engine, and not much popular…

Databases

  • PostgreSQL - this is my favorite RDBMS since I begin to use Rails. My experience include: all the common stuff, administration/migration, triggers, rules, functions, materialized views, table partitioning, PL/pgPSQL, extensions like cube, uuid-ossp, hstore and so on. I’m not a PostgreSQL guru, but it’s always interesting for me to learn something new about it.
  • MySQL - I’m better in PG :)
  • Redis - I began to use it in my own project when the trend of NoSQL started back to year 2010 (approx).
  • Elasticsearch - rarely met this amazing tool, and would like to have more experience with it
  • MongoDB - I began to use it at the same time as Redis, within the same project. Not a big fan of it, actually, though I understand where it fits best

APIs integration (really tens of them, and list is incomplete)

  • Braintree - sales registration, settlement, void, webhooks. Features usually required
  • Firebase Authentication - used this one for authentication for a client with API project. I needed some additional features, so I created custom Warden strategy to handle JWT authentication. Also I’ve added Firebase Authentication to Android app prototype for the same project (Java).
  • Firebase Cloud Messaging - very good API understading (direct notifications/group notifications etc.)
  • Twilio - this API I learned very well since I was responsible to refactor complex communication part of recent project.
  • Apple Passbook API (Web, Pushes and Pass format itself). I used all of these while creating this app.
  • Slack - easy integration, nothing interesting: fancy bot messages with images and so on
  • Rollbar - error tracking service
  • NewRelic - famous easy and configurable app monitoring and analytics (used for Rails and Sidekiq app)
  • AcoustID - service providing search in music database by audio fingerprints
  • MusicBrainz - huge music database you can search against
  • Cover Art Archive - found track name? use this API to get vinyl cover image :)
  • Airbrake - very useful, but overpriced, service for tracking runtime errors
  • Papertrail - log management, easy to setup, nothing too huge here
  • Dead Man’s Snitch - small service for trackin’ cron jobs running

DevOps

  • Tools
    • Terraform - yeah, this one took Cloud provisioning to the next level! Fantastic tool I’m using a lot for any cloud environment setup/configuration. The only my personal wish is to have elegant multi-env feature build-in. At the moment it’s implemented quite clumsy, and because of that it becomes especially hard to support for really large projects
    • Ansible - this perl is my second #1 tool if I’m working on DevOps. It (or to be more specific one of it’s galaxy’s Ansistrano role) even replaced me Capistrano which was my favorite deploy tool for years.
    • Prometheus - a must to know what’s going on in your infrastructure/app. Using it in my home lab
    • Grafana - Prometheus’s friend, takes time to configure metrics, but we all love neat and informative dashboards :)
    • Capistrano - yup, Ruby’s deploy workhorse. This was no-choice option for deploy for me for years (yes, I heard about Mina , but there’s no sense to use it when you have Ansible now)
    • Nomad/Vault/Consul - perfect trio when you don’t want feature-bloated k8s. In my opinion, Nomad is really underrated because of k8s hype. Hashicorp are really cool guys, I love their products!
    • Packer - if you need to spin up more custom-prepared virtual machines ASAP, Packer is a way to go, nice and easy tool
    • Vagrant - any fancy multi-machine configuration (very useful for networking prototyping). Paired with Ansible provisioning, these two form a very powerful tool.
  • Clouds
    • Google Cloud - my choice of cloud computing services. They took into consideration all AWS bad design decisions, and tried to avoid them. I had a very intensive use of every GC feature but k8S
    • AWS (to name a few I worked with over the years)
      • Amazon EC2
      • Amazon S3
      • Amazon RDS
      • Amazon ELB
      • Amazon CloudFront
      • Amazon Route 53 - DNS, TLS certs management, etc
      • Amazon SES - including DNS configuration
      • Amazon Elastic Beanstalk
      • Amazon EC2 Containers
      • Amazon CloudWatch
      • Amazon CloudFormation - actually I needed it only once after migrated to Terraform
    • Linode - nice, cheap and my favourite cloud hosting for small projects if you don’t want to pay for Heroku. Additionally they brought k8s support and Terraform module recently. Nice!
    • Heroku - perfect choice I recommend for new projects to deploy ASAP, Redis, PG, MySQL in a seconds. But very pricy for large projects
    • Azure - had no chance to used, but the tutors I saw showed there’s nothing radically different there, so learning can be done just at the time of building cloud. We live in times then we can say “another regular cloud” :)

Operating systems

  • macOS - my primary every-day perfect OS
  • Debian family - my main OS (Ubuntu particularly) before I migrated to OS X in 2011. Now I’m using it for everything but desktop
  • Gentoo - because it’s fun and healthy for brain :) Just love it, had it on laptop, but took too many time to manage. Not for servers, of course. Interesting experience to cross-compile it for Raspberry/Nano PIs :)
  • FreeBSD - if you need most proven network stack and native ZFS support - this is the choice. It was my #1 server OS in home lab servers until LXC became mainstream.
  • Windows - games only, nothing interesting there

Front-end

  • Hypermedia
  • Web APIs - modern browsers are amazing!
  • Modern CSS - offload visuals to browser with few lines. What can be better?
  • Elm - development stalled for years, but software built on it continue to work. Can your React do that?
  • Re-frame - I love Clojure, but the SPA trend goes down, and probably re-frame will survive only for huge SPAs.
  • React - cool, but I mostly sure you don’t need it in 99% cases.