CVSergey Pedan

Profile photo
In my favorite airport

Ruby on Rails craftsman since 2015.

Worked as a web designer for many years prior. Slowly learning Rust. Building an online code school.

Highlights

  • 10.5 yr writing Ruby
  • 9.2 yr writing SQL
  • 11.3 yr writing JavaScript
  • 22.5 yr writing HTML / CSS
  • 11 yr practicing web design

Contact me

Main technologies

Back end

Front end


Time zone

Currently I am in Buenos Aires time zone (UTC -3 hr)

In this time zoneI’m available atMy offset
Los Angeles (PDT)07:00 — 20:00+4 hr
New York (EDT)10:00 — 23:00+1 hr
Lisbon, London (BST)15:00 — 04:00−4 hr
Amsterdam, Berlin, Madrid, Paris, Warsaw (CEST)16:00 — 05:00−5 hr
Kyiv, Moscow (EEST)17:00 — 06:00−6 hr
Bangkok 21:00 — 10:00−10 hr
Hong Kong, Shanghai, Singapore (CST)22:00 — 11:00−11 hr
Tokyo (JST)23:00 — 12:00−12 hr
Melbourne (AEST)00:00 — 13:00−13 hr
Auckland (NZST)02:00 — 15:00−15 hr

Language

🇷🇺 RussianNative
🇬🇧 EnglishFluent
🇪🇸 SpanishIntermetiate
🇵🇹 PortugueseLower intermetiate

Geo

1983 – 2012
Moscow
2012 – 2019
Thailand, Sri Lanka, Perm
2019 – 2022
Thailand
2022 — now
Buenos Aires, Argentina

Deal breakers

For various reasons I am not ready to work on some projects:

  • State owned
  • Unethical animal treatment
  • Legal entity in Russia or Belarus
  • Help enforce authoritarism, citizen surveillance etc.
  • Tobacco & vape
  • Woke, BLM™, “social justice” etc.
  • Gambling (except for crypto-betting)

Previous jobs

Ruby developer, UI designer and tech lead at 

— till present

This job was fully remote.

Speed & Function

Employer

An outsource agency, “Technology Organization as a Service”. ~100 employees. Have released over 300 products in over a decade.

On the path of “Deliberately Developmental Organization”. Listed in Teal organizations in Ukraine hall of fame.

What I was doing there

Back end

  • Upgrading gems in legacy Rails projects
  • Creating new pages with forms, charts, dashboards, tables, products etc.
  • Creating service objects for performant filter search
  • Creating & deploying Ruby on Rails web apps from scratch
  • Authoring background jobs for Sidekiq
  • Customizing forms & index layouts in ActiveAdmin
  • Integrating data from API providers
  • Authoring purchase flows
  • API design
  • Upgrading Rails from previous versions
  • Refactoring legacy code
  • Developing a home-grown CMS / admin area
  • Creating Rails API back-ends for React
  • Re-writing pages from ActionView partials to ViewComponent

Architecture & tech leadership

  • Authoring SDLC documentation (deploy procedures, security etc.)
  • Writing internal documentation and tech manuals
  • Technical leadership of a team of  developers
  • Mentoring junior developers
  • Preparing solution engineering proposals for incoming projects
  • Setting tasks for team developers
  • Researching Git workflow patterns
  • Reviewing pull requests
  • Creating risk management assessment documents
  • “Shottun surgery”-style rewrites of the codebase
  • Conducting technical interviews
  • Preparing and taking ISO 27002 certification
  • Automating highly complex Excel-driven manual workflows previously performed by the client’s legal team

Front end

  • Rewriting clumsy legacy HTML into correct, consise, semantic HTML that looks beautiful even with no CSS
  • Front-end develpment (HTML / CSS /JS)
  • Setting up asset build pipeline via Webpack, ESbuild, Parcel etc.
  • Migrating asset pipeline across several tools
  • Building charts in d3
  • Web page performance optimization
  • Adding responsiveness to legacy pages
  • Making heavy parts of web pages asyncronous via Ajax
  • Replacing Datatables with HotWire
  • Replacing React with HotWire

DevOps

  • Deploying websites to Fly.io
  • Configuring automatic deployment pipeline via Heroku
  • Setting up web sites at Heroku
  • Setting up Heroku pipelines & review apps
  • Creating custom supply chain vulnerability assessment tools

UI / UX

  • Correcting web typography
  • Designing web pages (in various graphic editors)
  • Advice & guidance on better UX in the web interfaces
  • Fine-tuning web typography
  • Conducting customer journey map interviews with stakeholders

Product management

  • Generating upsell proposals for current clients based on deep understanding of their product
  • Creating extensive documentation of the underlying data model and logic behind the user-facing features
  • Shaping-up and developing business features from very vague and chaotic task definitions
  • Anticipating and preparing for client’s needs many months ahead of them realizing they need it

Project management

  • Estimating large projects
  • Videocalls with client’s team
  • Participation in creating project roadmaps
  • Moving the project to a new task management system

QA

  • Writing unit tests with RSpec
  • Writing feature tests with Capybara
  • Manual acceptance testing of other developers’ work

Security

  • Upgrading security-related HTTP headers to the modern standards
  • Monitoring supply chain vulnerabilities and timely upgrading dependencies

Database-related

  • Rewriting controllers to reduce the number of SQL queries & lower DB utilization
  • Improving data quality and consistency on the DB level: adding FKEYs, UNIQUE and constraints, custom data types, migrating existing data to narrower types etc.

Projects I worked on

Rails developer — An in-house document processing system and CRM for a law firm based on the East coast, specializing in franchises
UI designer — Trello-style board for personal development
Ruby developer — A client-facing document workflow app for a law firm
Tech lead — Admin app + React front-end helping employees prepare and create Google Slides
UI designer — Our company’s internal project management / analysis tool
Tech lead — Improving and creating new Ruby on Rails dashboards & forms
Tech lead — A reactive front-end app created as a Salesforce plugin (ApEx app)
UX expert — A Shopify clothing store with a custom built style assistant widget
The tech guy — Participating in a team aimed at introducing the Grow-hacking methods into our client funnel
Tech lead — Adding a new version of UI to the existing Rails app
Tech lead — Ruby on Rails API for a ReactNative app
Tech lead — A simple website of 10 pages with progressive upsales on each step
Full-stack developer — A client-facing service for purchase refunds
Front-end developer — Good old CSS work
Full-stack developer, designer, project owner — A dashboard for the clients of our web shop to grasp the state of things at their project
Back-end developer — A web-based program to help communities become more resilient to disasters
Back-end developer — Legal documentation processing for a pharma company
Building an AI analytics dashboard
Web designer, UX advisor — Website redesign
Front-end developer, UX advisor — Redesign & UI improvement of a JotForm
Technical recruiter — Finding 2 strong candidates

What I discovered while working here

  • With small number of endpoints, GraphQL will only make it longer
  • Sometimes the clients will avoid answering important questions necessary for architectural decisions, and you’ll have to nudge them (we had to start tracking Q/A in a shared document)
  • Most documented Git flows are worse than what we have been using
  • Clients of an IT service agency are happy with ridiculously long time of development, huge checks and lots of empty video calls just because they don’t know any better
  • A client may spend months adjusting shades of colors on a project before publishing it
  • The product owner can have false memories about how the app used to behave before we started our work, and you need to be able to provide a hands-on demonstration of the prior code in work
  • Even in your own organization, people who previously woked on a project, may quit with leaving zero documentation, and you’ll have to guess the reasoning for their architectural decisions

Feedback I received


Ruby & front-end developer at 

This job was semi-remote.

World of Escapes

Employer

The company aggregates and mediates booking of escape rooms worldwide (but more in Russia). Also has a number of businesses completely unrelated to quest rooms.

The company owns several websites that aggregate escape rooms and other entertainment events. The IT team varies from 2 to 5 people, working both from office and remotely.

What I was doing there

Back end

  • Creating new pages with forms, charts, dashboards, tables, products etc.
  • Refactoring legacy code
  • Upgrading gems in legacy Rails projects
  • Creating & deploying Ruby on Rails web apps from scratch
  • Customizing forms & index layouts in ActiveAdmin
  • Creating service objects for performant filter search
  • Authoring background jobs for Sidekiq
  • Upgrading Rails from previous versions
  • Creating Telegram bots

Front end

  • Adapting pre-built front-end templates to Rails
  • Rewriting clumsy legacy HTML into correct, consise, semantic HTML that looks beautiful even with no CSS
  • Adding responsiveness to legacy pages
  • Front-end develpment (HTML / CSS /JS)
  • Web page performance optimization
  • Creating stand-alone websites for marketing campaigns
  • Making heavy parts of web pages asyncronous via Ajax
  • Authoring Chrome extensions

UI / UX

  • Correcting web typography
  • Designing web pages (in various graphic editors)
  • Advice & guidance on better UX in the web interfaces

QA

  • Writing unit tests with RSpec
  • Writing feature tests with Capybara

DevOps

  • Setting up web sites at Heroku

Security

  • Monitoring supply chain vulnerabilities and timely upgrading dependencies

Projects I worked on

Ruby developer, Front-end developer, UI designer — The biggest aggregator of escape rooms in Russia and a couple of adjacent countries
Ruby developer, Front-end developer, UI designer — Aggregator of escape rooms around the world
Ruby developer, Front-end developer, UI designer — A gaming experience mini marketing website
Ruby developer, Front-end developer, UI designer — Escape rooms aggregator with focus on reviews by a team of professional players
(closed)
Ruby developer — Aggregate chargers for electro vehicals
Front-end developer — LinkedIn parser Chrome extension
Ruby developer — Aggregator of fitness instructors who offer realtime online trainings
Ruby developer, Front-end developer, UI designer — Quiz about Moscow subway of the 80’s
Ruby developer — An ERP for management of escape rooms‘ timetables and bookings
Ruby developer, Front-end developer — Another escape rooms aggregator, only in Moscow
Ruby developer, Front-end developer, UI designer — A Telegram bot that replaced some of the features of our CRM

What I discovered while working here

  • Some projects would start in the dark and keep accumulating data for months just to gain strong SEO ranking
  • If you do everything against good practices, your project can still be maintainable, correcly working and profitalble
  • Escape rooms is an unexpectedly large market (mostly in Russia)
  • A website is not a business without lead generation
  • People outside of programming have no idea how easily their daily work can be fully automated
  • The more vague and undetailed a task is set, the more authorship I feel, and the more exciting it is to work on

Founder, Ruby dev, Front-end dev, Web designer at 

This job was fully remote.

Integral Design

Employer

A small remote web development agency focused on landings, online education projects and sites for small business.

During this time I refined Sass-based design (almost no Photoshop, Bootstrap right from the start), learnt Rails, created a couple of personal projects, including well selling digital product.

What I was doing there

Back end

  • Creating new pages with forms, charts, dashboards, tables, products etc.
  • Upgrading Rails from previous versions
  • Creating & deploying Ruby on Rails web apps from scratch
  • Developing a home-grown CMS / admin area
  • Customizing forms & index layouts in ActiveAdmin
  • Re-writing pages from ActionView partials to ViewComponent
  • Authoring purchase flows
  • Authoring background jobs for Sidekiq
  • Creating Ruby gems
  • Integrating data from API providers
  • Creating service objects for performant filter search

Front end

  • Front-end develpment (HTML / CSS /JS)
  • Web page performance optimization
  • Adding responsiveness to legacy pages
  • Setting up asset build pipeline via Webpack, ESbuild, Parcel etc.
  • Making heavy parts of web pages asyncronous via Ajax
  • Creating web animations with CSS
  • Creating scroll-driven web animations

DevOps

  • Configuring automatic deployment pipeline via Heroku
  • Creating a custom deployment tool for VPS
  • Setting up web sites at Heroku
  • Setting up VPS on DigitalOcean with Chef
  • Deploying websites to Fly.io

UI / UX

  • Designing web pages (in various graphic editors)
  • Correcting web typography
  • Fine-tuning web typography
  • Advice & guidance on better UX in the web interfaces

Graphic design

  • Digital creative design (web banners, promo materials etc.)
  • Photo retouching
  • Designing websites in InDesign

QA

  • Writing unit tests with RSpec
  • Writing feature tests with Capybara
  • Web scraping with Nokogiri & Capibara

Architecture & tech leadership

  • Authoring SDLC documentation (deploy procedures, security etc.)
  • Writing internal documentation and tech manuals

Project management

  • Videocalls with client’s team
  • Participation in creating project roadmaps

Security

  • Monitoring supply chain vulnerabilities and timely upgrading dependencies
  • Upgrading security-related HTTP headers to the modern standards

Projects I worked on

(closed)
Ruby developer, Front-end developer, UI designer, Graphic designer — A 2-person web design shop
Web designer, Front-end developer — Personal website of a psycholy consultant
Web designer — Web store of Apple authorized reseller
Ruby developer — Vedic astrological full-yearly calendar distributed as PDF
Ruby developer, Front-end developer, UI designer — A website of an astrology school
Full-stack developer, web designer, product owner — My personal website (this one)
Ruby developer — An boutique HR agency
Ruby developer, Front-end developer, UI designer — Online code school focused on web development
Web designer, Front-end developer — A website for a group of teachers of spirituality and meditation
Front-end developer — A static website full of animations

Web designer, front end engineer at 

This job was office-only.

Sony

Employer

Sony CIS is the Russian office of Sony.

I worked in a marketing team and was the only designer in the CIS office. I maintained the only 2 official Sony’s websites in Russia — sony.ru and sonystyle.ru (now renamed to store.sony.ru).

Knowing no programming languages yet, I created a shop locator service for Sony Centre stores across Russia based on vanilla CGI-include technique. I also regularly created (designed and coded) stand-alone promotional mini-websites describing some campaigns.

What I was doing there

Front end

  • Front-end develpment (HTML / CSS /JS)
  • Creating stand-alone websites for marketing campaigns
  • Creating interactive banners with Flash

Graphic design

  • Digital creative design (web banners, promo materials etc.)
  • Print graphic design (stationary, leaflets etc.)

Project management

  • Visiting remote cities of Russia wth inspection

UI / UX

  • Designing web pages (in various graphic editors)

Projects I worked on

(closed)
Graphic designer, UI designer — Official online store of Sony in Russia
Graphic designer, UI designer — The main website of Sony

Technologies I used

What I discovered while working here

  • Employees at big shiny corporations sometimes are as incometent as it can get
  • Centralized procedures can make simple changes almost impossible to implement
  • Being terribly ineffective on the inside, a business can remain afloat and profitable for very long

Web designer at 

This job was office-only.

Creative boutique

Employer

A start-up creative agency founded by my friend. The plan was to attempt to take several big projects.

During those several months I designed a couple websites, made package design in 3D, created mock-ups of outdoor banners.

What I was doing there

Typical tasks

  • web design
  • package design
  • billboard design

Web designer at 

This job was office-only.

Noble.ru

Employer

A small web studio of ~20 people, now closed. The main focus was creating and maintaining websites, although sometimes we took video production, stationary, branding, print design etc.

Disappointed with the low speed of creating web graphics in Photoshop I experimented with designing websites only in Illustrator (which was better), and then after digging into more advanced typography (Bringhurst) embraced InDesign-based workflow with embedded graphics created in Photoshop and Illustrator.

What I was doing there

Graphic design

  • 3D visualizations
  • Creating video presentations
  • Photo retouching
  • Creating vector illustrations
  • Digital creative design (web banners, promo materials etc.)
  • Print graphic design (stationary, leaflets etc.)

Front end

  • Creating interactive banners with Flash
  • Creating interactive websites with Flash
  • Front-end develpment (HTML / CSS /JS)

UI / UX

  • Designing web pages (in various graphic editors)

Projects I worked on

Web designer — Website for Moscow’s general architect Michail Posokhin
(closed)
Web designer, Graphic designer — An artistic portfolio website in dark colors

Technologies I used

Main
Secondary

Web designer, front end engineer at 

This job was office-only.

Free lance projects

Employer

What I was doing there

Typical tasks

  • Back-end with Ruby on Rails
  • Front-end develpment
  • Responsive web design
  • UX and Information Architecture
  • Website design
  • Customer relations
  • mobile apps design
  • graphic design (banners etc.)

Projects I worked on

(closed)
Front-end developer, Graphic designer — A website for a dance school
Mobile designer, front-end developer — A mobile app for a community

Technologies I used

Main
Secondary

Customer support, interpreter, web designer at 

This job was office-only.

Ювелла

Employer

The company run an online casino for US customers and also owned several unrelated offline businesses.

I came as an interpreter and customer support staff, but eventually learnt web design and a little HTML / CSS, and started participating in web design tasks, doing most of it myself by the end of my work there.

What I was doing there

Typical tasks

  • chat customer support
  • copywriting of email campaigns
  • SEO tasks
  • website content management (En, Es)
  • graphic web design (banners, websites)
  • business correspondence & calls (En, Es)

Open-source projects

I do not write open-source projects on purpose and don’t market them, I rather end up wrapping into a gem the code I have to use in several projects myself.

Ruby GemRuby Gem

SmsPilot API v1 client

Downloaded 9 246 times Published in

A wrapper of the process of communicating with the “SMS Pilot” payment system API endpoint providing nice errors and abstracting away the boring part

Ruby GemRuby Gem

formtastic_tristate_radio

Downloaded 5 374 times Published in

A plugin for ActiveAdmin CMC that helps using 3 radio buttons (“Yes” | “No” | “Unset’) for a Bullean column that permits a null value

Ruby GemRuby Gem

Social nets DB

Downloaded 5 115 times Published in

A non-comprehensive database of social nets packed in a Ruby gem

Ruby GemRuby Gem

Moscow Metro gem

Downloaded 4 154 times Published in

Moscow Metro stations & lines database with ActiveRecord-like access helpers

Ruby GemRuby Gem

Burner email DB

Downloaded 1 757 times Published in

A very long list (119 261) of burner email domains, packaged for Ruby gems.

Ruby GemRuby Gem

ActiveAdmin dark color scheme

Downloaded 1 255 times Published in

A dark color scheme for ActiveAdmin Ruby CMS. The dark theme automatically switches on / off with your system’s dark / light mode. You can override that on the browser level if you wish.

Ruby GemRuby Gem

Input attributes from validators

Downloaded 371 times Published in

A set of methods that help easily link HTML <input> attributes, such as min, step, type etc. with Rails validators

Ruby GemRuby Gem

Formtastic grouped checkboxes

Downloaded 89 times Published in

Group your Formtastic checkboxes like grouped select via “grouped_collection_select” in Rails.

FireFox addonFireFox addon

Instagram “Log-in wall” remover for FireFox

Downloaded 40 times Published in
  1. Removes “Log in to continue” modal dialog at the home page
  2. Brings back scrolling at the home page
  3. Removes the banner at the bottom of photo pages.
Code archiveCode archive

UptimeRobot plugin for BitBar

Published in

A plugin for BitBar (MacOS tray app) that helps pull data from UpTime Robot and display it in MacOS tray

Chrome extensionChrome extension

Instagram “Log-in wall” remover for Chrome

Published in
  1. Removes “Log in to continue” modal dialog at the home page
  2. Brings back scrolling at the home page
  3. Removes the banner at the bottom of photo pages.

Contact me