Java Developer in Novosibirsk, Novosibirsk Oblast, Russia
Member since November 29, 2015
Software Architect2015 - PRESENTDataloft
- 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 Architect2014 - PRESENTILFIRON
- 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.
- 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++ Developer2011 - 2013Accusoft Pegasus
Technologies: С++, JNI, Java, Ant, PHP, Flash, C#, JSP
- 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.
- 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.
- 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++ Developer2008 - 2008BCS-IT
Technologies: Microsoft Visual Studio, RDP Extensions, OpenGL
- 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.
- 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.
Win32 C++ Developer2006 - 2006DataDynamics
Technologies: COM, Win32, Microsoft Visual Studio
- 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++ Developer2005 - 2006LEDAS
Technologies: C++, Microsoft Visual Studio, numerical methods
- 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.
- 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.
FrameworksGWT, JUnit, Hibernate, AngularJS, JavaServer Pages (JSP), Spring, JNI, Selenium, ASP.NET, Apache Velocity
Libraries/APIsHTML5 Canvas, Digester, JAXB, Java Servlets, Node.js, Jackson, JDBC, Standard Template Library (STL), FFTW, ODBC, OpenGL, XStream
ToolsSubversion (SVN), Apache Ant, Mime4J, YourKit, IntelliJ IDEA, Apache Tomcat, Git, GCC, Cygwin, Maven, Eclipse IDE, UJAC, Flash, Mathematica, Perforce, CVS, GDB, Grunt, JDeveloper
PlatformsDebian Linux, Windows, Linux, NetBeans
StorageMySQL, Morphia, MongoDB, Oracle SQL, PostgreSQL, IBM DB2
- Master's degree in Physics and Physical Informatics1998 - 2005Novosibirsk State University - Novosibirsk, Russia