CV • Sergey Pedan

Profile photo
In my favorite airport

Back-end, front-end, team lead, and web designer. Ruby on Rails developer since 2015, worked as a web designer for many years before that.

Slowly learning Rust. Building an online code school. Born in Moscow, currently living in Argentina. Lived 5 years in total since 2012 in Thailand and love it tenderly.

Highlights

  • 10.2 yr writing Ruby
  • 11.0 yr writing JavaScript
  • 22.2 yr writing HTML / CSS
  • 11 yr practicing web design
  • 13 yr doing remote work

Contact me via: GitHub logo GitHub GitLab logo GitLab LinkedIn logo LinkedIn Gmail logo Gmail Telegram logo Telegram

Main technologies

Back end

Front end

Previous jobs

Ruby developer, UI designer and tech lead at Speed & Function

— 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.

Typical Back end tasks

  • Upgrading gems in legacy Rails projects
  • Creating service objects for performant filter search
  • Rewriting controllers to reduce the number of SQL queries & lower DB utilization
  • 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
  • Refactoring legacy code
  • Re-writing pages from ActionView partials to ViewComponent
  • Developing a home-grown CMS / admin area
  • Upgrading Rails from previous versions
  • Creating Rails API back-ends for React

Typical Front end tasks

  • 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.
  • 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
  • Creating web animations with CSS
  • Creating scroll-driven web animations

Typical Architecture & tech leadership tasks

  • Authoring deploy procedure documentation
  • Writing internal documentation and tech manuals
  • Technical leadership of a team of  developers
  • Mentoring junior developers
  • Preparing solution engineering proposals for incoming projects
  • Conducting technical interviews
  • Setting tasks for team developers
  • Researching Git workflow patterns
  • Reviewing pull requests
  • “Shottun surgery”-style rewrites of the codebase

Typical Management tasks

  • Estimating large projects
  • Videocalls with client’s team
  • Generating upsell proposals for current clients
  • Participation in creating project roadmaps
  • Moving the project to a new task management system
  • Creating risk management assessment documents

Typical DevOps tasks

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

Typical UI / UX tasks

  • 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

Typical QA tasks

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

Typical Graphic design tasks

  • Correcting web typography

Projects

Internal CRM
Rails developer — An in-house document processing system and CRM for a law firm based on the East coast, specializing in franchises
Personal development app
UI designer — Trello-style board for personal development
GraphQL back-end for a React app
Ruby developer — A client-facing document workflow app for a law firm
Google Slides creator admin app
Tech lead — Admin app + React front-end helping employees prepare and create Google Slides
Project management portal
UI designer — Our company’s internal project management / analysis tool
Water measuring dashboards
Tech lead — Improving and creating new Ruby on Rails dashboards & forms
Custom Salesforce app
Tech lead — A reactive front-end app created as a Salesforce plugin (ApEx app)
Personal style consultant Shopify app
UX expert — A Shopify clothing store with a custom built style assistant widget
Grow-hacking team
The tech guy — Participating in a team aimed at introducing the Grow-hacking methods into our client funnel
Internal portal redesign
Tech lead — Adding a new version of UI to the existing Rails app
API for a ReactNative app
Tech lead — Ruby on Rails API for a ReactNative app
No-code purchase funnel
Tech lead — A simple website of 10 pages with progressive upsales on each step
Refund automation service
Full-stack developer — A client-facing service for purchase refunds
Design agency WordPress website
Front-end developer — Good old CSS work
Project client dashboard
Full-stack developer, designer, project owner — A dashboard for the clients of our web shop to grasp the state of things at their project
Disaster recovery reports generation service
Back-end developer — A web-based program to help communities become more resilient to disasters
Legal documentation processing
Back-end developer — Legal documentation processing for a pharma company
AI analytics dashboard
Building an AI analytics dashboard
Website redesign for an international consultancy
Web designer, UX advisor — Website redesign
A JotForm assessment tool
Front-end developer, UX advisor — Redesign & UI improvement of a JotForm
Architectural portfolio
Front-end developer — A static website full of animations
Programmatic marketing service
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 World of Escapes

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.

Typical Front end tasks

  • 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

Typical Back end tasks

  • 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
  • Creating Telegram bots

Typical UI / UX tasks

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

Typical QA tasks

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

Typical DevOps tasks

  • Setting up web sites at Heroku

Typical Graphic design tasks

  • Correcting web typography

Projects

Мир Квестов
Ruby developer, Front-end developer, UI designer — The biggest aggregator of escape rooms in Russia and a couple of adjacent countries
World of Escapes
Ruby developer, Front-end developer, UI designer — Aggregator of escape rooms around the world
Game of fortune
Ruby developer, Front-end developer, UI designer — A gaming experience mini marketing website
QuestGuild
Ruby developer, Front-end developer, UI designer — Escape rooms aggregator with focus on reviews by a team of professional players
EV plugs (closed)
Ruby developer — Aggregate chargers for electro vehicals
LinkedIn parser Chrome extension
Front-end developer — LinkedIn parser Chrome extension
SkyFits
Ruby developer — Aggregator of fitness instructors who offer realtime online trainings
Метроквест-85
Ruby developer, Front-end developer, UI designer — Quiz about Moscow subway of the 80’s
MyERP
Ruby developer — An ERP for management of escape rooms‘ timetables and bookings
Quest Stars
Ruby developer, Front-end developer — Another escape rooms aggregator, only in Moscow
CRM Telegram bot
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 Integral Design

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.

Typical Back end tasks

  • 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

Typical Front end tasks

  • 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

Typical DevOps tasks

  • 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

Typical Graphic design tasks

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

Typical QA tasks

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

Typical UI / UX tasks

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

Typical Management tasks

  • Videocalls with client’s team

Projects

Integral Design (closed)
Ruby developer, Front-end developer, UI designer, Graphic designer — A 2-person web design shop
M.O.S.T
Web designer, Front-end developer — Personal website of a psycholy consultant
Dream Store
Web designer — Web store of Apple authorized reseller
Jaimini calendar
Ruby developer — Vedic astrological full-yearly calendar distributed as PDF
Jaimini
Ruby developer, Front-end developer, UI designer — A website of an astrology school
sergey-pedan.dev
Full-stack developer, web designer, product owner — My personal website (this one)
Insidor
Ruby developer — An boutique HR agency
Code to travel
Ruby developer, Front-end developer, UI designer — Online code school focused on web development
Mind space
Web designer, Front-end developer — A website for a group of teachers of spirituality and meditation

Web designer, front end engineer at Sony

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.

Typical Front end tasks

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

Typical Graphic design tasks

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

Typical Management tasks

  • Visiting remote cities of Russia wth inspection

Typical UI / UX tasks

  • Designing web pages (in various graphic editors)

Projects

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

Technologies 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 Creative boutique

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.

Typical tasks

  • web design
  • package design
  • billboard design

Web designer at Noble.ru

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.

Typical Graphic design tasks

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

Typical Front end tasks

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

Typical UI / UX tasks

  • Designing web pages (in various graphic editors)

Projects

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

Technologies used

Main
Secondary

Web designer, front end engineer at Free lance projects

This job was office-only.

Free lance projects

Employer

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

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

Technologies 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.

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)

Time zone

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

I can be availablein this city’s TZMy offset
07:00 — 20:00 PDTLos Angeles+4 hr
10:00 — 23:00 EDTNew York+1 hr
15:00 — 04:00 BSTLisbon, London−4 hr
16:00 — 05:00 CESTAmsterdam, Berlin, Madrid, Paris, Warsaw−5 hr
17:00 — 06:00 EESTKyiv, Moscow−6 hr
21:00 — 10:00Bangkok−10 hr
22:00 — 11:00 CSTHong Kong, Shanghai, Singapore−11 hr
23:00 — 12:00 JSTTokyo−12 hr
00:00 — 13:00 AESTMelbourne−13 hr
02:00 — 15:00 NZSTAuckland−15 hr

Languages

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

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)
  • Your company has a DEI officer

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 via: GitHub logo GitHub GitLab logo GitLab LinkedIn logo LinkedIn Gmail logo Gmail Telegram logo Telegram