A Ruby on Rails developer is responsible for writing server-side web application logic in Ruby, around the framework Rails. Ruby on Rails developers usually develop back-end components, connect the application with the other (often third-party) web services, and support the front-end developers by integrating their work with the application.
Unlike their less experienced teammates, senior developers have a profound vision of the project. The main responsibility of a senior developer is to clearly identify the customer’s problems and needs and to deliver an efficient solution.
Mid-level developers are the pillars of the company and have the most complex list of requirements. After passing the entry-level, they are supposed to completely understand the company’s environment and how the processes run. However, they may still fail when it comes to a helicopter view on the project, taking more responsibility, and performing all the coding without any supervision.
Juniors may fail at bug fixing, writing code without supervision, having a complex vision of the problem, communication, and understanding the company’s environment. However, hiring a candidate with a strong desire to learn can be a thoughtful and profitable investment as juniors usually try to show their best at their first projects.
Ruby on Rails is a framework for building web applications. It provides you with tools to speed up your development process (such as generating files and folders for you), facilitates common tasks (such as setting up and communicating with a database), installing gems (self-contained solutions to specific problems, written in ruby).
Projects That Require A Ruby on Rails Developer
If you need to build a web application, a Ruby on Rails Developer is going to be the workhorse of your development team.
The world’s most ambitious tech companies and startups choose Make it in Ukraine Java freelancers to scale their teams, execute high-velocity projects and ship groundbreaking products
Programming skills: Ruby, Ruby on Rails, PostgreSQL, MySQL and other databases, Unix, Action Script 3 , Java, Node JS, Python, Git, SVN and other CVS, Redmine , Jira and other issue trackers.
Technical skills:
Language Capabilities: Ukrainian – native, Russian – native, English – upper - intermediate.
2013, East Ukrainian National University, Mathematics and Informatics faculty Specialist
2010, East Ukrainian National University College, Applied Mathematics faculty Specialist Junior
Dates of Employment: Apr 2017 – Now
Position: Full stack Ruby on Rails developer, with wide responsibilities across applications.
Responsible:
Dates of Employment: Jun 2016 - Apr 2017
Position: Team Leader
Lead for the back-end of ABB low cost flight connection api. Managing team of 3 developers, from recruiting to project finish.
Dates of Employment: Jun 2016 - Oct 2016 (part time)
Position: Server side developer
Working among other start-upers in close team Developing server side application with Java 1.8 with Spring, Hibernate and Maven. Developing Support with User Chat. Using Hibernate with PostgreSQL to store messages. For front-end using Freemarker and HTML. Chat was done with HTTP requests to Java Spring controller from Javascript running in client browser. Feature ownership on item modification. Spring controller with Hibernate Entity on storing changes. Traversing configs from YAML to JSON as Maven task to then importing them to application as JSON configs. Feature ownership on extracting game configs from Google Spreadsheet to YAML with changing only crucial fields. Done with Ruby 2.0, regular expressions and Google API on authentication. Working with saving user state to file. Used Hibernate with Jackson serializer to catch all Entity data to JSON and then restore back to Entities Working with XSOLLA payments and transaction system. Covering controllers with Unit testing.
Dates of Employment: Jan 2014 - Jun 2016
Position: Team Leader/ Lead server side developer.
Managing team of 3 developers.
Developing HTTP game server for online game Wild West. We were starting with old solution on Ruby 1.8.7 with Postgres 8 which we migrated to Ruby 1.9.2 and later 1.9.3 to provide support for latest PostgreSQL. While working with old server we were continuously improving and reorganizing entire application. So at the end we had almost brand new server that hold up to 3000 active users per instance. According to Ruby GIL limitation we were faced the necessity to run multiple processes of game servers which became our advantage that our system was able to be scaled to 500 instances running on different servers. Working in group of multiple feature teams.
Working on gathering statistics closely with game designers. Writing ruby scripts to collect and make sense of data. Collecting data from production database to teach artificial user for testing purposes. Writing Python socket server to control multiple testing bots. We used Python 3.2 with web sockets to achieve as many bots as possible. Our stress test were run on 10000 bots and it was fine. Writing and teaching Bayesian network based artificial user. We used Adobe Air to be able to run on any
given device as well as take some configs from real game client written on Action Script 3. We successfully achieved our goal of mimic median user in his behaviour.
Feature ownership on neighborhoods. We made a system of 3 server application running and communicating with one another providing user an interacting experience of socket connection on the basis of HTTP server side. Writing an extension to SmartFoxServer on Java 1.7. We had to have some logic on our socket server that is in sync with real game configs so we made a script that generates property files from YAML and then applied them in extension. We did chat message storing to provide user that joins the room with 50 last messages as well as system event storage. We stored rooms and their properties to PostgreSQL and were storing chat to Mongo DB. Writing NodeJS application as agent between Ruby game server and SmartFoxServer for online interactions. We were using Express as HTTP request handler with PBKF2 auth and SmartFox JS library. Application was made with multiple environment configuration to work with multiple env game server. Configuring Capistrano deploy for all application to Unix server. Writing good covered code with Rspec autotests. Using isolation with Mock and Stub to test different parts of game logic.
Dates of Employment: Jan 2014 - Jun 2016
Position: Team Leader/Ruby Tech Lead
Developing AS3 client-side games with pure Ruby, PHP, Java server-side. Managing teams of up to 7 developers.
Developing Action Script 3 game clients with Adobe Flash integration. We were developing full application from scratch to ready for production. For the most part we were using Adobe Flash for UI and were developing AS3 code for all game logic Integration of applications to Facebook, VK, OD, Mail.ru Developing AS3 applications for POGO.COM with basically re-creating Java 1.6 game to modern looking and smooth running application Developing game server on PHP for role play game with almost no interaction between users. Providing content through static file transferring with Nginx. Authentication with social network and game logic. Developing AS3 game client for isometric farming simulator. Using Iso3d engine to handle graphics and Interactive PNG to get it all smooth looking. Making cutscenes with Adobe Flash and importing them to game client. Developing Java 1.7 server for farming simulator. We were using Spring for request controlling and Hibernate for database support. We were writing it from scratch to finish with JSON requests and responses Developing game servers with Ruby 1.8 and Ruby 1.9 for farming simulator and city builder simulator. Starting as content developer working on YAML and AS3 look I them became a leader of core team that worked on basic game mechanics as well as optimization of existing server. Optimization of Ruby Sprout deployment of AS3 application which caused us to override Sprout gem to run with our needs. Working on optimization of ruby server to be able to run on windows platform which was actually ticket to become a core server developer. Working as a tech leader for Ruby and being involved into HR process. Checking CVs, providing and reviewing test tasks. Interviewing developers. Helping to integrate Capistrano deployment to other projects.
Dates of Employment: Jun 2010 - May 2011,
Position: Technical-programmer
Responsible:
Dates of Employment: Jun 2008 - Jun 2010
Position: Programmer
Responsible:
Achievements: Developing high load server application for SocialQuantum games. We started basically from scratch and built server that holds tremendous DAU. We used Ruby with Thin and created well optimized game server that handles all game logic for applications. Because oj GIL we had to use multiple instances so our server
is built on idea complete independence of each instance and communication between them was achieved through memcached and async jobs monitoring crucial points.
Working with highly sharded and spreaded database (up to 64 shards) and maintaining ability to interact between users from different shard. We used PostgreSQL and did the best we could with it. Collecting statistical data on users through writing heavy and optimized SQL requests. Constructing async event system to collect and view data on users in system for SocialQuantum and then replicating and polishing it for ABB. I used Sidekiq as async system to perform sending events to stats database. And i constructed entire new application to make sense of the data (it was done at ABB as for SQ had their own) Creating artificial user to test social interactions between real users. We were choosing between deep neural networks and Bayesian network which we choose last. We achieved pretty accurate mimic of users behaviour through playing the game. To train the network we used real data from our stats database. We build a system server on Python that control up to 10000 bots at a time. We built our bots with Adobe Air as it can be executed regardless of platform so it really can be much more of AU doing their job of interacting with each other.
Working and improving e-commerce API to connect low cost airlines with each other to provide lowest price possible to customer. I am feature owner of a module for providing data on airline’s special services like wifi or meals for airlines that aren't actually having those data themselves. Like China West A or KLM international. We used Rails 4 for application, Active Admin for admin panel. We had built controllers that parse NDC XML from airline request and provide with correct NDC response depending on such variables as flight number, origin, destination, frequent flier etc. Setting up full stack application on Unix web server. Usually it is Ubuntu with Nginx, RVM, Git, Eye, PostgreSQL and Capistrano. Also done with Node JS and NPM, SmartFoxServer and Java. Working with Amazon Web Server. Deploying ABB application through VM on cloud service (docker) Feature owning of neighborhoods for SocialQuantum. Setting up SmartFoxServer for immediate
interactions between users. Writing Java extension for controlling and securing user operations on server. Writing Node JS application as agent between HTML Ruby game server and SmartFoxServer socket server. We used Express for Node JS and SmartFoxServer js api (which we mostly rewritten by ourselves to work smoothly). Process of connecting user to neighborhood was like connecting to game server via HTTP and doing authentication, then getting list of not overloaded (below 85% loaded) SmarFoxServer shards, then client chooses best ping and connects to chat with PBKF2 auth. Continuous integration deployment with TeamCity. Setting up and managing all deployment with TeamCity CI and capistrano.
RPG game that is about being homeless in CIS region
Responsible:
Classic farm game styled like in the movie “Charlie and the Chocolate Factory (2005)”
Responsible:
Classic farm game with wild west style.
Responsible:
Classic farm game with wild west style. Now in 3D developing game server on pure Ruby admin console with Sinatra deploying with capistrano
Responsible:
Web based low graphics RPG. Long forgotten but still playable developing game server Java SE developing web interface with Freemarker
Responsible:
Ruby, Ruby on Rails, Web Development, Test Driven Development, Agile Methodologies, TDD, OOP, Continuous Integration, PostgreSQL, Apache, MySQL, PHP, Python, HTML 5, JavaScript, CSS, JSON, Bash, Docker, Django, AJAX, HTML, REST, Linux, ActionScript, RESTful Web Services, MongoDB, Amazon Web Services (AWS), Terraform, MVC, Nginx, RSpec, Web Scraping, Sinatra, Facebook API, Heroku, BDD, QA Automation, VCS, Capybara, Cassandra , Redis, Continuous Delivery, OpenStack,
Jenkns, Hanami, dry-rb, Ember.js, React.js, API Development
2005 – 2011, Taras Shevchenko National University of Kyiv
Bachelor, Chemistry
Dates of Employment: Jan 2020 - Present
Position: Senior RubyOnRails Engineer
Dates of Employment: June 2019 - Oct. 2019
Position: Senior Software Engineering
Moving features from legacy Rails application to new Hanami; Developing new features on backend (Ruby / Hanami / DryRB) & frontend (React.js); Code review;
Dates of Employment: Jan 2018 - June 2019
Position: Senior Backend Engineer (Ruby)
Development of legacy monolith API enabled SaaS platform: ruby 2.4, rails 4.2, mysql 5.6, elasticsearch 1.7, redis, varnish, memcached.; System maintenance based on the OpenStack ecosystem using Terraform (IaC approach).; Code reviewing colleague's work.; Taking part in the agile process of product development;
Dates of Employment: November. 2015 - Oct. 2017
Position: Fullstack Engineer (Ruby on Rails / Ember.js)
Develop new features and fix bugs on backend built on Ruby On Rails 4.2; Develop new features and fix bugs on CRM system built on Ember.js 2.x; Perform developer operations; Code review of co-workers; Make architectural decisions. Used technologies: Rails 4.2 (50 models), MySQL 5.6, Elasticsearch 2.4, Sideqkiq 4, Phantomjs 2, Twilio API, RSpec 3, Emeber.js 2.x, RefineryCMS.
Dates of Employment: Oct 2015 - Nov. 2015
Position: Backend / DevOps Engineer (Rails)
Develop API for fetch & parse RSS, clear articles and parse video; Setup AWS Elasticbeanstalk Multi- Docker container environment; Setup wercker for CI&CD; Prepare docker image with phantoms 2.0.
Used technologies: AWS, Docker, Rails, RSpec, Sidekiq.
Dates of Employment: Jan 2015 - Sep. 2015
Position: Backend / DevOps Engineer
Develop statistics internal service; Improve main API service with new features and refactor code; Improve spec (RSpec) coverage of code; Help with designing APIs and backend services architecture; Setup Continuous Integration & Continuous Deployment with Amazon; Elasticbeanstalk and wercker.com; Help with development process organization (using Git Flow, Slack, Rollbar).
Used technologies: AWS, Docker, Rails, MySQL, PostgreSQL, RSpec, Sidekiq, Twilio API.
Dates of Employment: Dec 2013 - Oct. 2014
Position: Integrations Engineer
Integration (fetching, storing and representation data in internal API and UI) of new with mobile marketplace (Amazon Store) data and improving of existed (iThunes Connect, Google Play), integration with mobile Ad Networks (iAd, AdMob, Millennial Media, Revmob , Chartboost, AdColony).
Used technologies: AWS, RoR, Sidekiq, Capybara, PostgreSQL, Cassandra, CoffeeScript.
Dates of Employment: November. 2012 - Dec. 2013
Position: Ruby On Rails Developer
Working on Global Authentication Service for .tunehog.com sites. Improving internal APIs and other
projects.
Used technologies: AWS, RoR, Torquebox, PostgreSQL, CouchDB, MongoDB, Ember.js, Coffescript and more.
Dates of Employment: Sep. 2012 - Nov. 2012
Position: Full-stack Developer / DevOps
Develop a website from scratch. Setup development environment on VPS hosting.
Used technologies: Ruby On Rails, PostgreSQL, Git, CruiseControl.rb, Gentoo Linux.
Dates of Employment: May 2012 - Sep. 2012
Position: Ruby Developer
Developing backend of Facebook microsites (iFrame sites) on Sinatra and DataMapper hosted on Heroku.
Used technologies: Sinatra, Facebook API and more.
Dates of Employment: Jan 2012 - Apr. 2012
Position: Ruby Engineer
Develop a backend and admin interface for title loan web-service. Developing a wellness-industry catalog and organizer styleup.ru.
Used technologies: RoR, PostgreSQL and more.
Dates of Employment: November. 2011 - Jan. 2012
Position: Ruby On Rails Developer
Developing a new admin interface for backend.
Dates of Employment: Feb 2011 - Oct. 2011
Position: Test Automation Engineer
Developing a new admin interface for backend.
Used technologies: Ruby On Rails, PostgreSQL, Redis and more. Create smoke / integration test framework and tests for Ruby On Rails web applications and services.
Used technologies: Ruby, Watir and others.
Dates of Employment: July 2011 - Nov. 2011
Position: Ruby on Rails Developer
Web application development and support; Deployment and administration of ruby on rails application on web server; Task estimation and planning in issue tracker; Communicate with customer;
Used technologies: Ruby On Rails, Rspec, REST-webservices, Watir, Redis DB, MongoDB, PostgreSQL, MySQL, Subversion,
CruiseControl.rb, Hudson CI, Linux and Windows virtual boxes, Trac, PivotalTracker.
Dates of Employment: July 2010 - Nov. 2010
Position: Ruby On Rails Developer / DevOps
Development of web application; Realization of features and fixing bugs; Deployment and administration of ruby on rails application on web server.
Used technologies: Ruby, Ruby On Rails web framework, Apache http-server, Phusion Passenger application server, MySQL RDBMS, Git DVCS, SSH, remote server with
FreeBSD, ZSH, Capistrano, Redmine issue tracker.
Senior Software Engineer with 7 years of experience in web application development. Mainly work with Ruby on Rails but not limited to it. Able to handle any aspect of application like backend, frontend, devops-ing. Have experience in building single-page applications. Able to handle the whole life-cycle of application: from initial estimating and researching to production delivery and maintenance. Can provide a complex solution to challenging matters. Have good interpersonal skills with experience in product development and project management. I am a good team-player and can take leading roles. Customer-oriented with a focus to provide a high level of service.
Worked with clients from industries like
Dates of Employment: September 2012 - October 2019 (7 years 2 months)
Position: Software Engineer
Responsible:
Dates of Employment: August 2018 - October 2018 (3 months)
Position: Internship Mentor
Dates of Employment: September 2016 - January 2017 (5 months)
Position: Ruby on Rails course mentor
A course for a group of ten people. Teaching Ruby 2.0 programming language and Rails 4.0 web framework. During the course, students were building web site projects on the topics they selected. We covered all basic features of Ruby and also dive into some advanced Rails practices. We deployed projects and made them public with
overcoming pitfalls of the production environment.
Dates of Employment: January 2013 - October 2015 (2 years 10 months)
Position: Technical Lead
Service provides a wide range of tools for a personal assessment of employees including informative reporting and skill matrix management. It allows to track the
growth of the employee and take actions if needed.
Lviv Polytechnic National University Master's degree, Information defense, 2011 - 2012
Student trade union Lviv Polytechnic National University Bachelor's degree, Information defense, 2007 - 2011