Skills (short)

Some keywords to summarize my commercial experience

Object-Oriented Programming (OOP) Functional Programming (FP) Full-stack Backend Ruby Clojure Lisp Microservices Agile Kanban Scrum SOLID PostgresSQL TDD/BDD Kafka gRPC Sidekiq RSpec JavaScript React.js Redux.js TypeScript Elm JQuery Angular.js AWS DynamoDB NoSQL Serverless

About me

Seasoned (10+ years professionally) engineer with very diverse experience: different industries, different teams, different roles, different technology.

Prefer to think of myself as a very flexible professional able to fill pretty much any position. Not limited to a certain technology or programming language.

Very outspoken, proactive, and involved in product development as well as high level technical decision making.

Buzzword bullet-point list:
  • Programming for over 15 years
  • Agile developer: TDD, CI/CD, Kanban, Scrum and all the other letters
  • Polyglot programmer. Techonoly-agnostic. A wildcard/jack-of-all-trades (can fill a range of roles when needed)
  • Experience with cloud and serverless (Heroku, AWS), and some DevOps (VPS on DigitalOcean)

Check out my blog. Some more articles on Medium but I wouldn't bother :b


Employment history

Funding Circle

Sep 2022

Funding Circle is a fintech company that lends money to small businesses by via 3rd party investors (mainly, banks).
I work within Flexipay department that focuses on smaller, short term lending (e.g. pay-in-3) and credit cards.

Leading a team within Flexipay responsible primarily for payment facilitation.

  • Architecture
  • Event-driven design: launched a couple of services from scratch as well as working on existing ones
  • Full-stack development (various repos and languages) whenever needed
  • Pair/mob programming, mentoring
  • Cross-team communication
  • Active involvement product design
  • Meeting organisation/facilitation
  • Documentation/reporting
  • Public speeking at meet-ups (LRUG, London Clojure Meet-Up) hosted by the company.
  • Hiring
  • ...

  • Service-oriented architecture via Kafka
  • Clojure
  • Microfrontend architecture
  • System design
  • React.js
  • Ruby on Rails
  • Terraform
  • AWS
  • Drone CI
  • ...

Fresha

Sep 2021 - Sep 2022

Fresha is a SaaS platform targeting beauty and wellness businesses providing them all-in-one product for managing their business: bookings, payments, contacts, etc

Developed and released a big product initiative introducing POS (Point of Sale) experience. Being the only fullstack engineer within the team, switched to purely FE (React + TS) work towards the end of the project as it required more attention.

Later transitioned to the Payments team helping with transition to the new ledger system.

  • Service-oriented architecture via gRPC
  • Elixir
  • TypeScript
  • React.js
  • Ruby on Rails (legacy code)
  • ...

Amazon

Nov 2020 - Sep 2021

Security & Loss Prevention department within Amazon primarily deals with physical security (emphasis on internal affairs). The interesting aspect for me was that it practically means that the department wasn't technical in its nature.

I was leading a new team within EMEA (later global) Security & Loss Prevention department working on an internal application from scratch (+ provided support for some existing apps my team got ownership of).

Was specifically hired to a new team to implement a new project (knowledge management system) for the security specialists. Designed (techical side of things) the whole system. The challenge was the absence of any similarities in experience within the team and having to adapt to Amazon's ways of working e.g. had to do some budgeting and use AWS for everything.

We delivered the MVP and the department was actively introducing it into their workflow (primarily, for trainings, overview articles, and index pages).

Also had some fun trainings related to Security and Loss Prevention.

  • AWS:
    • AWS Lambda
    • API Gateway
    • DynamoDB
    • CDK
    • SQS/SNS
    • Athena
    • ...
  • System design/architecture
  • Serverless
  • NoSQL
  • JavaScript - picked it as the primary language for the project
  • TypeScript - for CDK
  • Node.js
  • React.js + Redux.js
  • ...

SovTeh

2020-10-01 - 2020-10-28 (1 month contract)

SovTeh is a russian company owned by Sberbank (the biggest bank in Russia) dealing with commercial real estate management (e.g. large business centres).

Initially, I was approached by an ex-colleague (a senior manager within the company) asking for advice on a problem they had. He liked my suggestion so much he asked me to join their internal call so I could answer any follow-up questions. A few days later they asked me if I'm available to work on it as an independent contractor.

The project was a map with frequently updated locations of several objects (buildings, vehicles, maintenance teams). The problem they were having is the choice of technology and the lack of any experience with similar projects. What I suggested is the company should collaborate with a sibling (Sberbank-owned) company that specialises in map GIS (the company is called 2GIS)

My past experience working with map tech back in PROF-IT helped quite a lot as I was already familiar with some under the hood stuff map software.

The project was a success and is still being used by the company.

  • 2GIS
  • Leaflet.js - the integrated solution used Leaflet under the hood
  • Vue.js
  • Ruby on Rails
  • Redis
  • ...

Carwow

2019-02-04 - 2020-08-01 (1 year 6 months)

Carwow is a VC-backed startup developing a platform for car buyers to find the best deals nearby.

Initially, joined the "Used/Leasing" team. At the time that part of the business was new and full of potential so it involved a lot of product work and cross-functional collaboration. Some highlights of the experience: lots of AB-testing, cross-team collaboration (data analysts, designers, user researchers), Elm programming language, large team with well-oiled Kanban-based process.

Later transitioned to the data team responsible for sinking and transforming large amounts of data coming from 3rd party vendors (hundreds GBs a night). The reason was primarily due to the team leader leaving and me being the only person outside the team who knew Clojure (and was interested in it). Apart from getting a chance to work with Clojure professionally, I was exposed to Kafka and working in a much smaller and chaotic team.

  • Ruby on Rails
  • Clojure
  • Elm
  • Postgresql as relational DB
  • Kafka for event storage and message delivery
  • LaunchDarkly for feature flags
  • AppPhrase for I18n
  • HAML as a markup language
  • 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 SaaS platform for creating online stores. Essentially, russian (and some other countries') Shopify

Initially, worked on the authorisation system (roles and permissions) within the main product.

However, shortly after was transitioned to the internal initiative to build a customer-facing helpdesk system to replace Zendesk. The initiative was around for a while but multiple developers have given up on it. Built and delivered it mostly from scratch (reused as much of the old prototypes as possible). The project was a success and the support team (along with the customers) were fully migrated to the new app giving the company full control over it (e.g. we introduced a reward system for the support team) and saving money long-term since they didn't have to pay for Zendesk anymore.

My next project was a prototype for a system that established vendor-reseller relationship between different stores within the problem. I delivered the MVP just before I left the company to move to the UK.

  • 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)

Lahouse was a small russian consultancy working with some big names (including L'Oreal) developing software for them in Ruby on Rails. Another side of the business was a project called ODIN - a platform for commercial real estate management.

I was mainly involved in development of a legacy logistics app for L'Oreal as well as ODIN project. My responsibilities also involved mentoring an intern and maintenance of some other systems. I also had to deploy a helpdesk system Helpy for L'Oreal which involved some system administration (Digital Ocean VPS)

One of the notable improvements I introduced was splitting of ODIN project features into Rails engines which unified different instances of ODIN across customers (each customer had their own customised version of ODIN living in a separate git branch) and enabled the business to sell separate features.

  • 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)

PROF-IT was a company building software fulfilling government contracts

I was looking to change jobs as I was interested in Object-Oriented Programming and was looking to work with Java. However, the interviewers were impressed with my Python script and decided to hire me as a Ruby developer. My mentor later would joke that he saved my life with that decision.

My initial project was a CLI utility for Redmine for our CTO to keep track of various projects.

We then started working on a GIS system using Geoserver, ArcGIS, Sinatra.rb, Ember.js, and Leaflet.js. It was never released as the company declared bancrupcy before we could finish.

  • Ruby
  • 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. The customers include KIA, Raiffeisen Bank, Sberbank, and companies well-known in Russia.

I was working with a PHP framework 1C-Bitrix. The experience was crucial as it was my first programming job that involved teamwork.

  • PHP
  • 1C-Bitrix
  • Apache Subversion (SVN)

Skills

General skills

  • Functional Programming
  • OOP
  • TDD
  • System design and architecture
  • Computer science fundamentals (algorithms and data structures)
  • Agile development
  • Pair programming/mentoring

Programming languages

  • Ruby
  • Clojure
  • Lisp (common lisp, elisp, picolisp)
  • JavaScript/ES6
  • Elixir/Erlang
  • Elm
  • TypeScript
  • OCaml and Haskell - not professionally
  • Java/Kotlin - very little professionally
  • C - used a lot in school and had exposure to it via FFI
  • CoffeeScript - it was popular in Ruby on Rails world
  • Python, Perl, Pascal - used back in high school and university. Mostly, for competitive programming and CS fundamentals

Some other random tech

  • Ruby on Rails
  • React.js
  • Kafka
  • AWS
  • PostgreSQL
  • SQLite - wrote my own bindings for SBCL and use for personal projects (incl. large datasets)
  • NoSQL/DynamoDB
  • SQS/SNS
  • RSpec, Capybara, Minitest
  • Redis
  • AVRO
  • GRPC/protobuf
  • JQuery
  • Bootstrap
  • Bulma
  • Heroku
  • Angular 1
  • Linux/Unix
  • Mongodb