Alexander Rudenka

Full-stack developer

Age
Email
mur.mailbox@gmail.com
Github
https://github.com/0x000000

I am an experienced Software Engineer who solves real-world problems with code for more than a decade.

During these years I tried many specializations: from programming mobile devices and developing accounting and banking software to supporting mass-market retail web platforms. As one of my favorite hobbies, I am constantly looking at the game dev industry from the programmer's perspective — you don't know when your "unrelated" skills can help you in work, that's why I am trying to keep an eye on the wide field of technologies.

I am pretty sure that learning something new in CS or craving to try new tech/programming language/framework is a default skill for a good Software Engineer and I am trying to be a good one, so I won't mention how I love these things :)

Major Skills

Programming Languages

Ruby (7+ years)

My favorite language for a long time. I used it as a scripting language, wrote 2d games, console utilities, scientific calculations, and surely websites.

My experience with Ruby in different fields of software development allows me to consider my knowledge to be on an advanced level.

JavaScript / TypeScript (10+ years)

I got acquainted with JavaScript in 2003. I like JS for its unique prevalence in the world and I follow the news of language realizations with great interest. I appreciate the usage of ES6+ features and I absolutely love TypeScript.

Taking into consideration my long experience with the language I consider myself an advanced JS developer.

C / C# / Java (2+ years)

I used to develop in these languages until 2010. At present I rarely use one of them full-time, mainly to read through source code or write small games with C# and Unity.

Unlike other languages, described in this section, I don't constantly follow the development of these languages. And while I might have forgotten some things, I am still considering my knowledge to be strong in any of them.

Technologies

Server-side frameworks
Ruby on Rails, Hanami
Client-side
HTML/HAML, CSS/SCSS, JavaScript/TypeScript, Angular/React/Vue.js
Test tools
RSpec/Minitest, Cucumber/Capybara, Jasmine, Jest
CVS
Git, SVN
RDBMS
MySQL, PostgreSQL
NoSQL
Redis, MongoDB
Other
RIA/SPA web applications
OOP and patterns, REST/SOA, Protobuf/GraphQL
Functional programming
*nix administration, Capistrano, Chef
Front-end and back-end optimizations (page load speed, adaptation for mobile devices, profiling)
UI/UX design: Sketch, Figma

Major Projects

PeerStreet (US)

5/2015 present

For five years I've participated in countless projects, most of them related with out main tech stack: Rails + Vue.js + PostgreSQL.

One of the many services I've developed is a system for dynamic form generation with validations and event-driven architecture. We use it to speed up the data collection process for the internal team. I was working on architecture and implementation phases, both for DSL-heavy Ruby-code and front-end libs based on Vuejs and custom event delivery system.

Another interesting project I developed not so long ago is a scoring engine, based on business rules conception. With tight time limits, a small team of engineers including me was able to deliver a high-quality scoring system that still handles rapidly growing requirements.

The Honest Company (US)

2/2014 5/2015

I mostly dealt with the development of CMS features for the retail website (Angular / Ruby on Rails / MySQL). Worked on integration between our platform and Oracle's ERP system.

One of my tasks was to integrate our internal shipment returns system with FedEx, so we can replace hours of manual work with a couple of mouse clicks. When we introduced the new automation system, my CTO sent me a huge list of thanks from the Client Support division with dozens of good words. This knowledge that you have helped so many people to save their time and make their chores easier was so satisfying!

Altoros Development (Belarus) / ShoeDazzle (US)

6/2011 10/2012 and 12/2012 12/2013

A lot of my efforts were directed towards huge code refactoring processes like transferring all CSS code to Sass, changing the way our checkout process work, simplify the mobile authentication process.

One of the many projects I dealt with was the transition from external user review service to the internal solution we developed to cover our needs.

An interesting challenge was the transfer of the whole codebase from Rails 2.3.x to Rails 3.x. For example, to simplify the migration we decided to make an API backports of some modern gems to support old Rails 2.x.

Taucraft (Belarus)

10/2012 12/2012

My fellows from Taucraft offered me to drastically change my specialization and start working as a pure front-end JavaScript developer for Targetprocess 3 — super powerful and flexible project management system.

Unfortunately, during my work with the company, I understood that I would like to return to the full-stack role and made a hard decision to leave Taucraft. But I gained a unique experience about how to work with a huge customizable UI based on the event-steams concept.

Web-developers from Taucraft designed a complex system of client-side message exchange and asynchronous test framework for GUI based on it. These ideas have no analogs on the internet at the present moment.

Altoros Development (Belarus) / Monterosa (UK)

9/2010 6/2011

As part of a huge international team, I participated in the development of the admin interface on Ruby on Rails for Monterosa.uk projects. I developed role-management system, various widgets in JavaScript and was responsible for the integration of Facebook API.

About 80 servers were used by Monterosa for streaming video with widgets in peak moments.

Altoros Development (Belarus)

5/2010 9/2010

Developed the web-service to help advertisers to set the target audience for promotional materials by using maps based services.

I refactored legacy service written on Ruby on Rails and developed a new architecture with native Rails/Ruby concepts. jQuery and Google Maps API was used to create UI and I've set up Chef receipts to automate the deployment process.

Optimized the search by using geospatial function with PostgreSQL.

While searching for an audience on the map, even the curvature of the planet was taken into consideration.

Egar (Russia)

8/2009 10/2009

With help from Java 1.6 and Fuse ESB, I developed the module to handle payment transactions between Sberbank and Moscow Interbank Currency Exchange. Took part in making decisions on the architectural structure of several components and participated in the discussions of specifications for message exchange between trading systems.

The main requirement for the module on one server was the ability to parse a minimum amount of 30 messages per second. Every message was about 1 Mb.

Egar (Russia)

5/2009 8/2009

As a Java developer, I developed SOAP web-services (written in Java with the components of Spring) for a quick ticket search and booking.

Developed a simple cryptographic service to handle requests with some ticket aggregators. I made it possible to minimize the request/response time for clients by introducing several levels of caching, including homebrew key-value storage written in Java.

Some ticket aggregator systems forced us to send more than 20 requests in a row, instead of just one, for the "+/-3 days" type of searches.

Egar (Russia)

9/2008 4/2009

Handled automation of business processes in the banking system. The system was written in Java 1.5 with the use of Spring and Hibernate technologies and embedded Groovy scenarios.

Clients all over Russia connected to the monolithic web-app written in JavaScript with UI build on top of ExtJs. I took an active part in the development of both server and client sides, wrote some development utilities, including firebug analog for ie6, updated custom class-loader for JVM to enable generics support.

Every week ~4 GB of new data was generated in our system.

Moks (Belarus)

9/2007 8/2008

As my thesis project, I developed a server platform on C# 2.0 technology for Windows for quick integration between programs of warehouse and accounting control. With the use of .Net Compact Framework, I created a program for pocket PC on Windows Mobile designed to control goods in the warehouse with the use of a barcode scanner.

I developed a text proprietary protocol (based on XML) of data transfer over wireless networks.

Programs are successfully launched on several enterprises and are still working there. One of the large clients is a confectionery Spartak, Gomel.