Sergey Alekseev
Ruby/Ruby on Rails/Web expert, founder of ASoft.co
Hi! I’m an experienced Ruby on Rails developer and founder of ASoft LLC.
I give speeches, contribute to open source and write blog posts. I completed my Bachelor of Applied Mathematics and Computer Science degree with exceptional software programmers. I developed my first Rails application in 2011. Since that time I have learnt a lot and I continue learning something new every day.
Usually I prefer long-term projects with great clients. However I’m open to any interesting projects and opportunities to build Web and Mobile development teams. My habits of good software development process help me in writing maintainable code and in producing results that make my clients happy.
One of things I’m proud of is the first hackathon I participated in. It took place on February 2013. I pitched an idea, lead an awesome team and we won the first prize in Ruby on Rails category! The team I built consisted of 4 experienced Ruby on Rails developers, 1 amazing project manager and 2 brilliant designers. And we didn’t stop after we won. In just a few months we built an online education platform and started accepting first payments. That was an invaluable experience launching my first own startup from scratch.
I like to share my experience. In 2013 I taught a Ruby on Rails course in the university to about 70 students.
I like startups.
Here is what my teammate from the recent development project says:
It’s a pleasure to work with Sergey. He is is an outstanding software developer with a deep understanding on rails internals. Sergey has been working with us for more than a year from his office in Belarus. He was a perfect match to our startup culture and from day one he was adding value to our team. Hope to continue working with Sergey in the days to come!
I always think about a business value. I’m a founder, so I have to save money and increase revenue of my company. You should expect the same approach for your project when I work with you. I think I can always suggest an effective solution which may save a lot of time regarding Back-end/Front-end/DevOps. I always look into tools, gems and services that save time and make you more productive.
On the development side I have a passion for best practices, clean code and Code Review. I work in an Agile manner with a preference to deliver frequently. Usually I provide a full-stack service including DevOps. I have a slight preference of Back-end over Front-end though. And I consider myself being particularly strong in complex Back-end with Ruby and Ruby on Rails. Even though I’m currently focused on a web technology stack I programmed in C/C++, Java, Android a while ago. I tried several other programming languages just because of curiosity. I have a decent knowledge of data structures, algorithms and software design patterns. As a specific Back-end part I like is APIs. I worked with many external APIs, built several APIs from scratch and improved a couple existing APIs. So if you need an API for your mobile app you found the right person. I can also show you a source code of my API for a game that we built with a friend in 2014 and which gained >100k users in less than 3 months with no marketing budget.
I have an office space which helps me to have a stable environment for work and be productive. This is a private office in a calm place right in the city center. I have other experienced employees of my company here in the office. We always share our knowledge and experience.
I’m a cheerful and responsible person. In my spare time you could find me doing Crossfit and weightlifting, hanging out with friends on weekends, reading books or visiting cinema.
What my awesome clients say about me
Diligent worker with excellent communication.
Sergey did a great job, hope to work with him again in the future!
Sergey did an outstanding job -
- He is highly dependable, honest, creative, bright and hard-working.
- He takes up complete responsibility of the project, comes up with creative ideas, is resourceful, pays attention to details, and is thorough.
- He did not come across as someone who would need constant micro-instructions, but rather someone who can think on his feet.
- He has high integrity - will tell you when he runs into any issues, will think of solutions, and if he doesn’t know it, he’ll find it/learn it rapidly. You can trust him.
- He is thoroughly professional - you know he’ll get things done by the deadline he has promised.
- His communication skills are impressive.
In all, its been a thorough pleasure working with Sergey, and I’d love to work with him again!
Outstanding engineer, with great attention to detail, ability to take ownership and meet deadlines - looking forward to working with in the long term.
It’s a pleasure to work with Sergey. He is is an outstanding software developer with a deep understanding on rails internals. Sergey has been working with us for more than a year from his office in Belarus. He was a perfect match to our startup culture and from day one he was adding value to our team. Hope to continue working with Sergey in the days to come!
What I do
First of all I like building something useful and solving problems.
I do consulting, analysis, database design, project architecture, debugging, refactoring, web development, automated testing and maintenance.
During my development career I was an employee, freelancer, contractor, consultant, mentor and founder.
Portfolio & Projects
Not in public yet — customizable e-invitations and greeting cards designed by the Arab world’s most creative talent
- took ownership of an existing project to prepare it for public beta
- helped to deliver urgent functionality before a deadline
- significantly improved the codebase and development processes
Team size: 1 product owner, 1 Front-end developer and 1 designer on a temporary basis, myself as a Full-stack developer.
Duration: 1 month (February 2016 - present time) full-time.
Run Last Man — helps clubs, teams and charities raise funds online through Last Man Standing competitions
- improved the deployment process by introducing Capistrano to manage Docker scripts
- automated the deployment process on GitLab using GitLab CI
- wrote spec examples for devise sign in/sign up and OAuth (Twitter and Facebook) integration
Team size: 7 (2 developers) + myself on a temporary basis.
Duration: 1 month (January 2016 - February 2016) part-time.
Recipe Cost Calculator — saves time and money for restaurants, manufacturers, cafes, bakeries and catering companies
- introduced caching to reduce calculations and improve performance
- improved HTML to PDF generation
- added polymorphic attachments using paperclip
- added categories as tree using closure_tree and bootstrap-treeview
- added markdown editor using github-markup and redcarpet
- added a chart using Highcharts
- logged Sendgrid webhooks
- made several improvements and introduced several more features along with refactoring and good test coverage
Team size: 1 + myself on a temporary basis.
Duration: 4 months (December 2015 - present time) part-time.
Ignition by Digital Artists — The mobile social content concierge for the unusually influential
- worked with highly experienced technology experts
- took part in iOS API app development
- worked tightly with FB permissions for a mobile app
- performed Rails upgrades
Team size: 1 Back-end Ruby on Rails developer, 1 iOS developer, 1 project manager + myself on a temporary basis.
Duration: 4 months (May 2015 - August 2015) part-time.
Pinshape — 3D printing community & marketplace
- introduced countless features, fixed tons of bugs
- worked on a lot of integrations with external APIs including Onshape, 3DPrinterOS, Algolia, Clara.io, Sculpteo and others
- worked on feeds similar to FB feeds using React JS
- took part in drastic improvement of search performance and UX by switching from Elasticsearch to Algolia
- worked on implementation of the advanced search with many different filters, entities and instant (realtime) search
- investigated ranking algorithms with Elasticsearch and then Algolia
- fixed several memory leaks and memory bloats
- implemented and maintained a complex web scraper that was a key part of the application
- were constantly improving the development process with the team by using different SaaS services and tools: Algolia, CodeClimate, Rubocop, NewRelic, Sentry, Skylight, Mixpanel, CircleCI, Trello, Dockerhub, Quay.io, Intercom, Optimizely, Crazy Egg
- participated in streamlining the deployment process with AWS, Docker and Capistrano
- optimized performance with many different techniques: optimizing image size, lazyloading, improving queries count, caching values and views, testing with Google Page Speed and Pingdom Website speed test, optimizing js loading and content delivering, etc.
- was keeping an eye on server and application statistics, sidekiq instances, error trackers and other different metrics
- collected a lot of data regarding users behaviour, implemented A/B tests to help making better decisions
- improved downloading experience by using better zip solutions and storing zipped files
- took part in SEO improvements by renaming images on upload, streamlining URLs, generating sitemap, fixing 404 routing errors and working on many different small things after looking into Moz and chatting with SEO specialist
- was constantly keeping an eye on Pull Requests, best practices and new tools to use
- contributed to the project wiki to help everybody be on the same page during development
- implemented a bunch of user onboarding flows from simple to complex ones
- upgraded Rails several times
- worked on user dashboard implementation
- implemented notification system that sends notifications to users on numerous actions
- was constantly monitoring both staging and production environment
- pair programmed with teammates
- participated in the payment process simplification by using a lightweight Stripe modal and simple payment logic
- fetched available info about users from FB using Graph API
- introduced “Hire me” functionality similar to Dribbble
Team size: from 3 founders + myself as a developer to 11 teammates including 3 full-stack developers, 1 front-end developer, 1 growth hacking developer, 1 UX/UI designer, 1 QA specialist.
Duration: 1 year 5 months (July 2014 - November 2015) full-time.
API for a social network game (own startup) — I can show you the source code
- designed and implemented API with complex logic from scratch
- reached more than 100K users in just 3 months after launch with $0 marketing budget
- adapted REST API for Flash peculiarities
Team size: 1 Back-end Ruby on Rails developer, 1 ActionScript/Flash developer, 1 game designer, 1 project manager.
Duration: 10 months (April 2014 - January 2015) part-time.
CHORUS — Advancing Public Access to Research
- improved Search Service
- made changed to dashboards
- worked with an external API
- worked on Sinatra apps
- cached API responses in MongoDB to improve speed
- setup deployment for multiple apps
Team size: myself + project managers.
Duration: 3 months (June 2014 - August 2014) part-time.
Nitroagent — Real Estate CRM & Contact Management Software
- setup a project management process, a deployment process and error tracking
- communicated a lot with a non-technical project owner
- introduced new technologies and approaches to improve development
- completed redesign and improvement of core site features
- fixed a lot of bugs
Team size: built and lead a team of up to 3 developers.
Duration: 10 months (September 2013 - June 2014) part-time.
Adio — Ads that listen
- implemented 3 API apps that talk to each other and work as back-end for iOS Mobile app
- worked with relatively complex DB queries and app logic
Team size: 1 Back-end Ruby on Rails developer, 1 iOS developer, 1 project manager.
Duration: 4 months (September 2013 - December 2013) part-time.
ShowMojo — High-Touch Leasing Automation for Property Managers
- implemented an autoattendant using Twilio
- implemented https://showmojo.com/search (Schedule-a-Showing.com)
- worked on different features and fixed a lot of bugs
Team size: project manager, lead developer and myself + designer on a temporary basis.
Duration: 3 months (July 2013 - September 2013) full-time.
Alma — Online testing for enrollees (own startup)
- lead the software project
- developed the online education system from scratch
- made sales in just a few months from the beginning of the project
- integrated local payment systems
- made deployments and performance analytics
Team size: 3 Ruby on Rails developers.
Duration: 5 months (February 2013 - June 2013) full-time development and business.
NOVU — The leader in consumer engagement and rewards strategies
- worked with stellar software engineers
- worked on different social networking features (private messaging system, newsfeed, friends, bookmarks, etc.)
- worked with DSLs responsible for content management and other things
- implemented coaches search
- gathered and analyzed different user metrics
- fixed many bugs
Team size: 6 Back-end Ruby on Rails developers, 5 Front-end Ruby on Rails developers, 4 QA specialists.
Duration: 7 months (July 2012 - January 2013) full-time.
Hobby Projects
Technology stack
Ruby
I’m passionate about Ruby. I like it’s focus on simplicity and productivity. It was really created for programmers’ happiness. Apart of a programming language advantages I value it’s vibrant community, RubyGems and Rails.
Tags: OOP, RubyGems, Gem, Sinatra, Rake, RVM, Cuba, aws-sdk-ruby.
Experience (years): 5.
Ruby on Rails
This is my strongest skill. I learn something new about Rails every week and even every day. I enjoy reading blog articles, improving my Rails internals understanding and sharing my experience about Rails development. Sometimes I contribute to the Rails source code.
Tags: Ruby on Rails 3 (3.0, 3.1, 3.2), Ruby on Rails 4 (4.0, 4.1, 4.2), Security, Twitter Bootstrap, Debugging, Authentication, Authorization, Caching, ActiveRecord, RSpec, Minitest, OAuth, Omniauth, Devise, GC, Garbage Collection, Refactoring, TDD, BDD, Web Scraping, Nokogiri, Associations, ActiveAdmin, RailsAdmin, Carrierwave, Factory Girl, Papertrail, Sidekiq, Code Review, rails-api, stripe-ruby, bullet, omniauth-facebook, react-rails, rspec-rails, newrelic_rpm, algoliasearch-rails, omniauth-twitter, omniauth-google-oauth2.
Experience (years): 5.
Javascript
I tried Javascript first before learning Rails. It’s an easy to start language every web developer should be familiar with nowadays. However Javascript becomes a powerful tool for those who know and use it a lot. During my working experience I tried different JS frameworks. As a full-stack web developer I use it a lot.
Tags: jQuery, CoffeeScript, AngularJS, ReactJS, jQuery lazyload.
Experience (years): 8.
HTML
As a full-stack web developer I work with HTML every day. I tried HTML first when I was in school. I use ERb, Slim and Haml combining with Rails for a long time.
Tags: html5, haml, erb, slim.
Experience (years): 9.
CSS
As a full-stack web developer I work with CSS almost every day. I tried CSS first when I was in school. I use Sass/Scss combining with Rails for a long time.
Tags: css3, sass, scss.
Experience (years): 9.
Git
I’m an experienced Git user. I work with git daily, I know many different features of git and completed a couple courses related to git.
Tags: Github, Bitbucket, Gitflow, Pull Request.
Experience (years): 7.
Amazon Web Services
During my development career I used Amazon Web Services many times for different kind of applications.
Tags: AWS, EC2, S3, EBS, RDS, Load balancing, Cloudfront, Autoscaling, Elastic Beanstalk.
Experience (years): 5.
SQL
I started using SQL earlier then I used Rails. I read a book first and then I learnt it in the university. My first university thesis was related to Rails and SQL database design.
Tags: MySQL, PostgreSQL, pg, ORM, database design.
Experience (years): 7.
DevOps
During my development work I deploy frequently. I deployed many times with Capistrano setting up a deployment processed from scratch. I have a decent Docker understanding and used it for more than a year now. Also I can do a simple and very fast deploy to pre-installed Digital Ocean server as I wrote down steps for it after doing it many times.
Tags: Heroku, Nginx, CI, Capistrano, Puma, Docker, Unicorn, Cloudflare, VPS, VDS, DigitalOcean.
Experience (years): 5.
Testing
I was doing testing from my early days as a Rails developer. After years of development I have a better understanding what I should really test and when. I always aim to a reasonable test coverage.
Tags: Unit Testing, RSpec, TDD, Cucumber, Capybara, Integration Testing, BDD, Minitest, Acceptance Testing, Regression Testing.
Experience (years): 5.
SaaS
Services that help to speed up the development process and increase developer’s productivity. I use them heavily to save time and money and deliver better results.
Tags: NewRelic, Dockerhub, Quay.io, Mixpanel, Algolia, CircleCI, Sentry, Skylight, CodeClimate, Screenhero, Trello, Pivotal Tracker, Basecamp, JIRA, Google Hangouts.
Experience (years): 5.
Search
On one of projects I worked on we used Elasticsearch and then we switched to Algolia. It was a great move and our search UX was improved drastically. I’d recommend to use Algolia instead of Elasticsearch if you are looking into columns (not documents) search.
Tags: ElasticSearch, Solr, Algolia.
Experience (years): 4.
NoSQL
I completed 10gen courses on MongoDB and used it in my startup a while ago. I worked a lot with Redis inside Rails apps. I have a good understanding of different NoSQL concepts.
Tags: MongoDB, Redis.
Experience (years): 4.
SEO
I understand what’s SEO and what it means for the business. I have a decent SEO experience working with Rails: using moz.com, generating sitemaps, working with links, renaming images on upload, optimizing titles, using slugs, etc.
Tags: sitemap.
Experience (years): 8.
Presentation videos (in Russian)
- Hunting down memory leaks in Ruby - Belarus Ruby User Group Meetup 14.11.2015
- Remote pair programming - Python Meetup 27.06.2015
- Remote pair programming - Belarus Ruby User Group Meetup 21.05.2015
Presentation slides
Open source contributions
See https://sergeyalekseev.com/open-source.
Online education certificates
- CS169.2x: Advanced Software as a Service (https://www.edx.org/, 2013)
- M101: MongoDB for developers (http://www.10gen.com/, 2012)
- Engineering long-lasting SaaS (https://www.coursera.org/, 2012, 1, 2, volunteer)
- Human-Computer Interaction (https://www.coursera.org/, 2012)
- Internet History, Technology, and Security (https://www.coursera.org/, 2012)
- CS101 (https://www.coursera.org/, 2012)
- Introduction to logic (https://www.coursera.org/, 2012)
My CodeSchool Report Card
Ruby: 8 Courses Completed
Rails for Zombies, Rails for Zombies Redux, Ruby Bits, Ruby Bits Part 2, Rails Testing for Zombies, Rails Best Practices, Testing with RSpec, Try Ruby.
HTML/CSS: 1 Course Completed
Journey Into Mobile.
Git: 4 Courses Completed
Try Git, Git Real, Git Real 2, Mastering GitHub.
JavaScript: 1 Course Completed
Shaping up with Angular.js
Database: 1 Course Completed
Try SQL.
Electives: 4 Screencasts Watched
Docker: Part 1, Docker: Part 2, Docker: Part 3, Pair Programming.
Contacts
You can find my social profile links on https://sergeyalekseev.com/contact
Do you need my help? I'd like to learn about you and your business –
Email address protected by JavaScript. Please enable JavaScript to contact me.