Skills (short)

Some buzzwords to summarize my commercial experience

Object-Oriented Programming (OOP) Functional Programming (FP) SOLID TDD DDD
Ruby on Rails PostgresSQL Sidekiq RSpec Clojure Kafka
Elm JavaScript React.js Redux.js JQuery Angular.js

About me

  • Russian
  • Coding since 14y.o. Professionally since 2014
  • Extensive Ruby on Rails experience (OOP language with a great framework for startups)
  • Agile developer: TDD, CI/CD, etc
  • Experience with both cloud (heroku) and server tech (VPS on DigitalOcean)
  • Techonoly-agnostic. Quick learner
  • Polyglot programmer
  • Refactoring <3
  • Due to Russian citizenship, sadly, I require a visa to work in the UK. My last visa is still valid so I can consider short-term (1-6 months?) contracts too

Check out my blog. More articles on Medium but I'm trying to abandon it completely.

Speaking of Medium, before the pandemic I started Programming basics series to refresh my memory on some basic stuff. Had to abandon it in the end but will re-visit at some point :)


Some interests

  • Programming paradigms
  • Software design and architecture
  • #TechForGood
  • Technology, e.g.
    • Functional programming languages (OCaml, Haskell, etc)
    • Statically-typed languages in general (Kotlin, Java, C#, Golang, Haskell)
    • NoSQL (MongoDB, etc)
  • Data engineering (not much prior experience)

Work experience

carwow

2019-02-04 - 2020-08-01 (1 year 6 months)
Used/leasing team:
  • Relatively new, rapidly growing part of the business
  • Full-stack development, lots of work on both frontend and backend
  • Lots of A/B testing
  • Learned Elm
  • A lot of collaboration with designers, data analysts and user researchers
Car-data team:
  • Core APIs powering up the rest of carwow
  • Clojure, Kafka
  • Mostly data transformations
  • Migrated other apps from deprecated APIs
  • Ruby on Rails
  • Elm
  • LaunchDarkly for feature flags
  • AppPhrase for I18n
  • HAML as a markup language
  • Clojure
  • Kafka for event storage and message delivery
  • Postgresql as relational DB
  • Honeycomb for app observability
  • Amplitude for user events tracking (mostly used by data analysis team)
  • Kanbanize
  • ...

InSales

2016-08-01 - 2019-01-19 (2 years 5 months)

InSales is a platform for creating online shops. Essentially, Russian Shopify.

  • Worked on authorization system (some refactoring and improvement)
  • Transferred to inner project - helpdesk system to replace Zendesk
  • Made a React.js SPA and Rails API almost single-handedly
  • Development from a prototype to production MVP
  • Some data engineering and visualisation
  • Was given another inner project which was an app integrated with InSales. Development from scratch to closed beta testing
  • Ruby on Rails
  • Postgresql
  • CoffeeScript as a default rails frontend language
  • HAML/Slim as a markup language
  • Bootstrap as CSS framework
  • Liquid for enabling client-side templating
  • Pundit for dealing with authorization
  • Webpack
  • React.js for the helpdesk system
  • Redux.js
  • Chart.js for graphs in statistics
  • Sass
  • Gitlab + Gitlab CI
  • Docker (but I wasn't responsible for production usage)
  • Redis for caching
  • Kanbantool
  • trello

Lakehouse

2016-03-01 - 2016-07-30 (5 months)

Lakehouse is (was?) a Ruby on Rails shop working for various companies including L'Oreal

  • Development of a legacy (oh boy) logistics app for L'Oreal
  • Helped with day-to-day small development for numerous other projects
  • Worked on the company's own product called ODIN
  • Improved the ODIN architecture via splitting it into rails engines and consolidating multiple client-based branches of code. AFAIK now they are being used as optional features offered to clients
  • Ruby on Rails
  • Postgresql
  • JQuery
  • React.js on some pages
  • Angular 1
  • Redmine for issue tracking

PROF-IT

2015-10-01 - 2016-03-01 (6 months)
  • Learned Ruby (no Rails)
  • Developed inner utility working with Redmine. Our boss used it to monitor our performance (somewhat).
  • Started using TDD
  • Worked on a Sinatra backend for our GIS-app using Geoserver and ArcGIS.
  • Had some exposure to Ember.js and Leaflet.js
  • Unfortunately, couldnt finish the project since the company went bankrupt
  • Sinatra
  • Geoserver
  • ArcGIS
  • Redmine
  • Ember.js for frontend
  • Leaflet.js for working with maps

QSOFT

2014-10-01 - 2019-05-30 (8 months)

QSOFT is one of the biggest web studios in Russia.

This experience was important for me because it was my first real job. However, technology-wise it's completely irrelevant to my current set of skills.

  • PHP
  • 1C-Bitrix

Skills

Every list is somewhat ordered by descendence of experience/knowledge.

General skills

  • OOP
  • Functional Programming
  • TDD
  • APIs
  • Basic web knowledge like HTTP, security basics, etc
  • Software design, code reviews, refactoring

Programming languages

  • Ruby
  • JavaScript/ES6
  • Clojure
  • Elm
  • OCaml and Haskell - only played around but exposure to Elm helps. Just generally interested in
  • Java/Kotlin - was learning Android dev back in high school and recently took a look at the latter
  • CoffeeScript - because I am RoR developer
  • Python, Perl, C, Pascal - used back in high school and university. Mostly, for competitive programming and learning data structres

Uncategorised tech

  • Ruby on Rails
  • RSpec, Capybara, Minitest - testing in Ruby
  • PostgreSQL - almost every rails startup uses it
  • Redis
  • React.js
  • JQuery
  • Bootstrap
  • Bulma (this CV and my blog)
  • Heroku
  • Angular 1
  • Linux (as a user)
  • Kafka - was introduced to in carwow
  • Mongodb - played with
  • DigitalOcean - deployed helpy.io for L'Oreal in Lakehouse