Stepan Yakovenko
Verified Expert in Engineering
Software Developer
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.
Portfolio
Experience
Availability
Preferred Environment
Windows 7, Linux, Microsoft Visual C++, IntelliJ IDEA
The most amazing...
...thing I've done was when I cloned Google documents -- it was a complex javascript app with collaborative editing support.
Work Experience
Software Architect
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.
Software Architect
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.
Java and JavaScript Developer
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.
Java and C++ Developer
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.
Java/JavaScript/C++ Developer
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.
C++ Developer
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.
Java and JavaScript developer
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.
Win32 C++ Developer
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.
C++ Developer
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.
Experience
Prizm Content Connect
https://www.accusoft.com/demos/advanced-search/Skills
Languages
HTML5, CSS, Java, JavaScript, C++, Less, XPath, HTML, С++, C#, M4, PHP, R, XSLT, XUL
Frameworks
GWT, JUnit, Hibernate, AngularJS, Jakarta Server Pages (JSP), Spring, JNI, Selenium, Express.js, Swing, Ant Design, ASP.NET, Apache Velocity
Libraries/APIs
HTML5 Canvas, Digester, JAXB, Java Servlets, Node.js, Jackson, JDBC, Standard Template Library (STL), jQuery, FFTW, ODBC, OpenGL, XStream
Tools
Subversion (SVN), Apache Ant, Mime4J, YourKit, IntelliJ IDEA, Apache Tomcat, Git, GCC, Cygwin, Apache Maven, Microsoft Visual C++, Valgrind, Microsoft Visual Studio, Eclipse IDE, UJAC, Flash, Mathematica, Perforce, CVS, GDB, Grunt, JDeveloper
Platforms
Debian Linux, Windows, Linux, Windows 7, Win32, NetBeans
Storage
MySQL, Morphia, MongoDB, Oracle SQL, PostgreSQL, IBM Db2
Other
Extensions, Remote Desktop Protocol (RDP), Numerical Methods, Ajax, COM
Education
Master's Degree in Physics and Physical Informatics
Novosibirsk State University - Novosibirsk, Russia
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring