Stepan Yakovenko, Software Developer in Novosibirsk, Novosibirsk Oblast, Russia
Stepan Yakovenko

Software Developer in Novosibirsk, Novosibirsk Oblast, Russia

Member since November 29, 2015
Stepan is an experienced software developer with more than seven years of development experience. He has been programming since the age of 15. Most of his work has been working in C++, Java, JavaScript, SQL, PHP, and C#. He is always ready to learn something new, and is especially interested in complex tasks. He has been working remotely as a contractor since 2010. To sum up, he is a solid developer with excellent communication skills.
Stepan is now available for hire

Portfolio

Experience

  • Linux, 10 years
  • Java, 10 years
  • C++, 9 years
  • HTML5, 5 years
  • CSS, 5 years
  • JavaScript, 4 years
  • GWT, 1 year
  • AngularJS, 1 year

Location

Novosibirsk, Novosibirsk Oblast, Russia

Availability

Part-time

Preferred Environment

IntelliJ IDEA, MSVC, Linux, Windows 7

The most amazing...

...thing I've done was when I cloned Google documents -- it was a complex javascript app with collaborative editing support.

Employment

  • Software Architect

    2015 - PRESENT
    Dataloft
    • Prototyped an online teleconferencing solution, and also constructed both the server and the client side. Used Mongodb and Node,js on the server side, and jQuery, UI, and HTML/CSS on the client side.
    Technologies: Node.js
  • Software Architect

    2014 - PRESENT
    ILFIRON
    • Programmed the JavaScript kernel for www.collab-office.com. Collab-office is an online DOCX collaborative editor based on a HTML5 canvas.
    • Researched and chose the technology, created the prototype, and invented an approach for collaborative XML editing.
    • Reverse-engineered the DOCX format, implemented outer layer, and solved the cross-browser portability issues.
    • Implemented unit tests.
    Technologies: HTML, CSS, Node.js, JavaScript, Express, jQuery
  • Java and JavaScript Developer

    2013 - 2014
    TripTop Technologies
    • Aided in the development of online travel booking services (flights, charters, hotels, transfers, etc), on the website http://www.yestravel.co.il.
    • Integrated the GWT and AngularJS web component into the affiliates’ websites to allow direct booking via the main websites’ visitors. Tomcat was used as server, as it accumulates travel products from travel service providers.
    • Created the personal cabinet that allows the site to store user information, download documents. Migrated the payment wizard to AngularJS from JSP pages, improved integration with a Pelecard online-payment system.
    • Constructed the client part of the online transfer booking system, and also participated in fixing bugs in the legacy GWT code.
    Technologies: jQuery, GWT, Swing, Java, PostgreSQL, JavaScript, HTML, JSP, CSS, Less, Grunt, Git, Tomcat, Spring
  • Java and C++ Developer

    2011 - 2013
    Accusoft Pegasus
    • Worked with a team of ten international developers (all from India, America, and Russia) to create a product made with Image Gear Java Bean; the beta version was released.
    • Participated in development of Prizm ContentConnect in an international team of 10 people. Fixed bugs in a document conversion kernel; also fixed or ported web interfaces between platforms (PHP, C#. VB.NET, and JSP). Supported a legacy FLASH viewer for SWF documents.
    • Ported image compression algorithms (GIF, JPEG, PNG, TIFF and many others) from C#/C to Java and sometimes using JNI.
    • Proposed and promoted a sophisticated solution of a critical document-rendering fidelity issue that saved the product place in the market; the solution works in yahoo mailboxes.
    Technologies: С++, JNI, Java, Ant, PHP, Flash, C#, JSP
  • Java/JavaScript/C++ Developer

    2008 - 2010
    Development on the Edge
    • Worked on the Territorial Information System of Novosibirsk Oblast (a federal subject of Russia). The system stores data about people living in the region, their attributes (documents, addresses, marital status, social categories, and so on) and calculates the amount of social welfare that these people receive every month.
    • Participated in a short-term project for computer tomography; provided support (fixing bugs, improving interface) of the Java applet and C++ WIN32 executable.
    • Developed a JavaScript-based object web platform for displaying and editing detailed citizen's personal information.
    • Created the interface for editing KLADR (Russian State Address Database) that was also employed in another project (Federal Veteran Database) that is used in all regions of Russia.
    • Implemented the double-entry bookkeeping system which all of the payment transactions are recorded. The system is implemented as a Java web application for Apache Tomcat and the database is made with Oracle 11g.
    • Created the DatABEL project almost from scratch, improved the speed, implemented caches, filed the handle pool, and compared its speed with other similar projects. DatABEL is a data analyzing facilitator package of large (giga- to tera-bytes) matrices; matrix storage is organized in either columns or rows so that they are quickly accessible. It’s primary aim is to support genome-wide association analysises. The package is a C++ plugin for R (a language and environment for statistical computing and graphics). The plugin allows processing, loading, saving, and transposing large amounts of data even if they don't fit into memory. It is implemented in GNU C++, designed in mind for four operating systems (Windows, Sun OS, Mac OS, Linux) with some parts implemented in R.
    Technologies: Tomcat, Java, JSP, GCC, Valgrind, R, Oracle SQL, M4, JavaScript, HTML, CSS
  • C++ Developer

    2008 - 2008
    BCS-IT
    • Developed extensions for Microsoft Remote Desktop with Microsoft Visual Studio.
    • Created a prototype of the final system that was designed to speedup OpenGL 3D graphics that was transferred over an RDP connection.
    • Replaced the OpenGL system DLL by a version that sends OpenGL commands over RDP and executes them directly on the client screen instead of sending uncompressed images that slow down data exchange.
    • Developed the code-generation algorithm for serialization of the OpenGL commands for the final version.
    Technologies: Microsoft Visual Studio, RDP Extensions, OpenGL
  • Java and JavaScript developer

    2007 - 2007
    Softmotions Ltd.
    • Participated in the development of a university information system. This system stores and manages data that refers to all aspects of the educational process: academic curriculums, student data, exam results, faculty finances, and so on. The system is deployed in Novosibirsk State University.
    • Developed Hibernate and SQL queries, XUL pages, WEB applications, and UJAC reports.
    • Maintained, and created new JavaScript and Java code.
    Technologies: HTML, CSS, XUL, DB2, Hibernate, Java, JavaScript
  • Win32 C++ Developer

    2006 - 2006
    DataDynamics
    • Developed projects at the DataDynamics (www.datadynamics.com): the DynamiCube OLAP product, ActiveBar, SharpGrid, and ActiveReports.
    • Created the automated build system for ActiveReports and DynamiCube.
    Technologies: COM, Win32, Microsoft Visual Studio
  • C++ Developer

    2005 - 2006
    LEDAS
    • C++ developer of LGS3D solver at LEDAS. LGS3D is a computational component used in heavyweight CAD systems. During my work I have implemented support for spheres, created quick test platform. I've also inspired massive code refactor, that allowed to redouble solver speed using delicate tuning.
    Technologies: C++, Microsoft Visual Studio, numerical methods

Experience

  • Prizm Content Connect (Development)
    https://www.accusoft.com/demos/advanced-search/

    Created essential pieces in this online document viewer (mostly server-side), which allowed a net gain of high document fidelity and high perfomance.

  • An Informal Introduction to DOCX (Publication)
    With approximately one billion people using Microsoft Office, the DOCX format is the most popular de facto standard for exchanging document files between offices. While DOCX is a complex format, you may want to parse it manually for simpler tasks such as indexing, converting to TXT and making other small modifications. I’d like to give you enough information on DOCX internals so you don’t have to reference the ECMA specifications, a massive 5,000 page manual.

Skills

  • Languages

    HTML5, CSS, Java, JavaScript, C++, Less, XPath, PHP, R, XSLT, XUL
  • Frameworks

    GWT, JUnit, Hibernate, AngularJS, JavaServer Pages (JSP), Spring, JNI, Selenium, ASP.NET, Apache Velocity
  • Libraries/APIs

    HTML5 Canvas, Digester, JAXB, Java Servlets, Node.js, Jackson, JDBC, Standard Template Library (STL), FFTW, ODBC, OpenGL, XStream
  • Tools

    Subversion (SVN), Apache Ant, Mime4J, YourKit, IntelliJ IDEA, Apache Tomcat, Git, GCC, Cygwin, Maven, Eclipse IDE, UJAC, Flash, Mathematica, Perforce, CVS, GDB, Grunt, JDeveloper
  • Platforms

    Debian Linux, Windows, Linux, NetBeans
  • Storage

    MySQL, Morphia, MongoDB, Oracle SQL, PostgreSQL, IBM DB2
  • Other

    Ajax, COM

Education

  • Master's degree in Physics and Physical Informatics
    1998 - 2005
    Novosibirsk State University - Novosibirsk, Russia

To view more profiles

Join Toptal
I really like this profile
Share it with others