Software Architect
2015 - 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.
Technologies: Node.jsSoftware Architect
2014 - PRESENTILFIRON- 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: jQuery, Express.js, JavaScript, Node.js, CSS, HTMLJava and JavaScript Developer
2013 - 2014TripTop 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: Spring, Apache Tomcat, Git, Grunt, Less, CSS, JSP, HTML, JavaScript, PostgreSQL, Java, Swing, GWT, jQueryJava and C++ Developer
2011 - 2013Accusoft 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: JSP, C#, Flash, PHP, Ant, Java, JNI, С++Java/JavaScript/C++ Developer
2008 - 2010Development 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: CSS, HTML, JavaScript, M4, Oracle SQL, R, Valgrind, GCC, JSP, Java, Apache TomcatC++ Developer
2008 - 2008BCS-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: Remote Desktop Protocol (RDP), Extensions, OpenGL, Microsoft Visual StudioJava and JavaScript developer
2007 - 2007Softmotions 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: JavaScript, Java, Hibernate, IBM Db2, XUL, CSS, HTMLWin32 C++ Developer
2006 - 2006DataDynamics- 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: Microsoft Visual Studio, Win32, COMC++ Developer
2005 - 2006LEDAS- 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: Numerical Methods, Microsoft Visual Studio, C++