Scroll To View More
Eugene Mironov, Software Developer in Chelyabinsk, Chelyabinsk Oblast, Russia
Eugene Mironov

Software Developer in Chelyabinsk, Chelyabinsk Oblast, Russia

Member since December 11, 2016
Eugene is a talented software engineer with more than 8 years of development. He has extensive experience with Ruby, Java, and C++ and strong back-end skills. He has experience in building and leading teams. He enjoys solving difficult technical problems and learning new technologies. He's also keen to develop products that would help your business.
Eugene is now available for hire

Portfolio

Experience

  • Linux, 8 years
  • Ruby, 5 years
  • Ruby on Rails (RoR), 5 years
  • Boost, 3 years
  • C++, 3 years
  • Standard Template Library (STL), 3 years
  • RSpec, 2 years
  • Sidekiq, 2 years
Chelyabinsk, Chelyabinsk Oblast, Russia

Availability

Part-time

Preferred Environment

macOS,*nix, IDEA, NetBeans, RubyMine, PyCharm, Git

The most amazing...

...thing I have ever built is a distributed server-side application for a real-time multiplayer game which I had worked previously on.

Employment

  • Back-End Developer

    2016 - PRESENT
    Happy Games Studio
    • Developed a Rails-based API back-end.
    • Migrated a perfomance bottlenecks subsystems to Golang.
    • Created a C++ based push notification system for social media networks.
    • Developed an analytics system for game projects.
    • Built administrative panels for games.
    • Developed parts of a client that was dependent on server communications and social media APIs.
    • Supported and administered company Debian servers with launched services.
    Technologies: Ruby on Rails, Golang, C++, Linux, ES6, PostgreSQL, Redis
  • Software Engineer

    2016 - PRESENT
    Andersen Systems
    • Developed client (Ereserve company) gems for bibliographic searching through services like EBSCO, OCLC, Sierra, Summon, and more.
    • Built client (Ereserve company) gems for integration with learning management systems like Moodle, Canvas LMS, and Brightspace LMS.
    • Developed and supported client (Ereserve company) gems for work with binary bibliographic protocol z39.50.
    • Researched third-party services for bibliographic search ability, and holdings availability extracting.
    • Supported client (Ereserve company) gems for extracting bibliographic details from existing protocols.
    • Interviewed new developers for Andersen Systems.
    • Managed the work of one junior developer.
    Technologies: Ruby, Ruby on Rails, Redis
  • Server-Side Programmer

    2015 - 2016
    Rockstone
    • Developed the C++ server-side of a game.
    • Designed the client-server architecture of a game (С++, Unity3D, ActionScript).
    • Provided technical support of the game.
    • Developed the game physics and game business logic.
    • Implemented the client-server synchronization (for a real-time game).
    • Managed the back-end development team of 3 people.
    • Created a game analytics system.
    Technologies: C++, libev, Boost, ActionScript
  • Server-Side Programmer

    2014 - 2015
    RealGames
    • Developed a C++ based server for real-time games.
    • Designed client-server communications for company projects.
    • Managed the server-side development with a 2 developer team.
    • Developed the company analytics system.
    Technologies: Ruby on Rails, C++, Boost, libev, Unity3D
  • CTO

    2013 - 2014
    R3Studio
    • Gathered a strong developer team from scratch.
    • Built and launched the first game project which was a sessional multiplayer football simulator.
    • Created and launched several satellite games and one casual Match 3 game.
    • Developed an analytics system for company projects.
    • Built a strong server-side architecture.
    • Managed a 10 person team as the team lead.
    • Supported the company's servers.
    • Built a scrum-based development process.
    Technologies: Ruby on Rails, Java, Netty, MongoDB, Unity3D
  • CTO

    2010 - 2013
    x01d
    • Developed several Ruby on Rails projects for Russian startups to outsource.
    • Developed with colleagues a web service which aggregated, filtered, and analyzed orders from outsourcing marketplaces. This service gave the ability for my team to successfully conquer the market of Russian freelancing.
    • Received a grant from the Foundation for Assistance to Small Innovative Enterprises in Science and Technology to research in the field of semi-structured data collection.
    • Undertook my first management experience where I managed a team of 2 people.
    • Got acquainted with Agile on practice.
    Technologies: Ruby on Rails, Python, Sass, MongoDB, Backbone.js, CoffeeScript
  • Developer

    2009 - 2010
    x01d
    • Developed my first project which was a multiplatform shared clipboard for MacOS, Windows, and Linux.
    • Developed image hosting for x01d needs.
    • Built a code hosting service.
    • Created a URL shorter service.
    • Gained my first outsourcing experience.
    Technologies: C++, Qt, PHP, Bash, Python 2.6

Experience

  • C++ Unity Policy Server (Development)
    https://github.com/helper2424/unity_policy_server_native

    This is a C++ implementation of the Unity Policy Server. I shared a previous implementation with friends from other game development Russian studios, and they asked me to write a C++ implementation that can also be built to execute a file. The reason was that there were difficulties with the Java administration.

    In the root catalog, you can see README file which has the usage details.

    It needs a simple server to work with Unity Web Player. Unity Web Player is a browser extension that allows the start Unity (https://unity3d.com/ru/) games in the browser. NPAPI (https://en.wikipedia.org/wiki/NPAPI) is deprecated in most browsers and Unity Web Player doesn't work there anymore (Unity ended support). Unity Web Player had a security system which has the next algorithm.

    When the game requires one to connect to the server through TCP/UDP it sends through TCP or UDP respectively request with permissions to ask the server to host the 843 port. The server replays XML with permission details. If the client received these details and the server allows access then the client creates a TCP connection to the server or starts to send datagrams. Without a Policy Server, the Unity client will not work with servers.

  • Java Unity Policy Server (Development)
    https://github.com/helper2424/unity_policy_server

    This is a simple server to work with Unity Web Player which is a browser extension which allows the user to start Unity (https://unity3d.com/ru/) games in a browser. Now NPAPI (https://en.wikipedia.org/wiki/NPAPI) is deprecated in major browsers so Unity Web Player doesn't work there (Unity closed Web Player support and nobody develops games for Web Player so this server doesn't exist anymore). Unity Web Player had a security system which has the next algorithm.

    When a game requires one to connect to a server through TCP/UDP it sends through a request TCP/UDP with permissions ask the server host to the 843 port.

    The server replies with XML and permission details. If the client receives the details and the server allows access, then the client creates a TCP connection to the server or starts to send datagrams. Without a Policy Server, Unity Client won't work. So the Unity Policy Server was a simple, but necessary tool. I implemented it with Java/Netty (http://netty.io/) toolchain. It works simply—the server accepts connections to the 843 port (you can customize this), sends an XML file with permissions (you can customize this), and closes the connection.

    To start the server, you can use a built jar in the target directory.

  • Asana Dumper (Development)
    https://github.com/helper2424/asana_dumper

    This is a tool for creating a dump of all the project data from https://app.asana.com/ (task-tracker).

    Several weeks ago, my friend asked me to write a cross-platform tool which can dump of all the tasks from any Asana project. Asana limited it to non-administrator users and my friend is not an administrator. So, I wrote this tool for him and it successfully works. It works through a REST Asana API and the user's cookies from the Asana website.

  • Interview Ruby Task (Development)
    https://github.com/helper2424/params

    For this project, I worked remotely for an Australian startup via a third party Russian company. They solve all the organization problems and they find developers from Russia and companies from around the whole world and connect them.

    Sometimes I interview new candidates and make trial assignments for foreign companies. Here is an example of the assignment—there was a European medical company that made software for customer relationships, and analyses of the data.

    In a trial assignment, I was supposed to make a library for a Rails application which would allow the creation of records with a free-field structure, allow the management of this structure, and move this data between application environments. This was an easy task and I can freely share it.

  • Celluloid Open Source Project (Other amazing things)
    https://github.com/celluloid/celluloid

    This is a Ruby open-source project which I am currently working on.

  • Coursera Course: Introduction to Machine Learning by the Higher School of Economics (Other amazing things)
    https://www.coursera.org/account/accomplishments/certificate/F7SG7USQTXCU

    This course made by Yandex (a Russian search engine company). It gives a good overview of machine learning and high theoretical basics and base skills for working with machine learning through Python.

Skills

  • Languages

    Ruby, C++, Go, ECMAScript (ES6), C#, C, CSS, HTML, Scala, JavaScript, Java 8, SQL, Java, PHP
  • Frameworks

    Ruby on Rails (RoR), Boost, Linux OpenSuSe, Netty, Redux, Box2D, Celluloid, Unity3D
  • Tools

    RSpec, Git, Nginx, Mercurial, CMake, Webpack
  • Other

    Web Development, Data Analysis, Machine Learning, Ruby Gems
  • Libraries/APIs

    Facebook Open Graph API, Sidekiq, Standard Template Library (STL), React, libevent, Backbone.js, OpenCV, Pandas, Scikit-learn
  • Platforms

    Linux, Debian, MacOS, Amazon Web Services (AWS)
  • Storage

    PostgreSQL, MySQL, SQLite, MongoDB, Redis
  • Paradigms

    Test-driven Development (TDD)

Education

  • Master's degree in Business Informatics
    2012 - 2014
    Chelyabinsk State University - Chelyabinsk, Russia
  • Bachelor's degree in Computer Science
    2008 - 2012
    South Ural State University - Chelyabinsk, Russia
I really like this profile
Share it with others