![]()
Senior Software Engineer
Roblox · Full-time
Dec 2020 - Present
• 3 yrs 10 mos![]()
Staff Software Engineer
Xcalar, Inc. · Full-time
Aug 2020 - Nov 2020
• 4 mos![]()
Artificial Intelligence Sr Software Engineer at IBM Research
Dogwood Management Partners LLC · Contract
Jun 2020 - Aug 2020
• 3 mos![]()
Technical Lead, Team Lead, Senior Software Engineer
Intertrust Technologies Corporation · Full-time
Jan 2015 - Apr 2020
• 5 yrs 4 mosAs part of Whitecryption team, developing SCP tool for protection of customer applications against unauthorized reverse engineering and hacking. Participate and lead many projects, including, but not limited: architected, provided research, lead development of application protection based on LLVM IR (bitcode protection). It allows the SCP tool to protect customer application during build process without making any difference in source language: C/C++, Objective C or Swift. The task requires reverse engineering of current product to replicate its functionality. Developed an algorithm of basic block graph analysis to find proper places for protection insertion. The algorithm is an extension of Kosaraju–Sharir algorithm to construct single chain super-graph from function execution graph. Architect, lead and supervised project for unification of source and bitcode protection. Idea was to use C-like language to describe checks and protections, integrate it with protection procedure. Initiate project and started research to use Neural Network for code protection. Develop proposition for code refactoring, including written description of proposed code structure.
![]()
Staff Software Engineer
Mentor Graphics
Nov 2007 - Jan 2015
• 7 yrs 3 mosAs part of the Calibre team, developed OPCV (Optical Proximity Correction Verification) tools, like lithographical DOF, gate statistic, dynamic output and HTML report tools (Linux, GNU C++) and many more. One of most interesting work is functionality for calculation of lithographical depth of focus. The work requires deep knowledge in mathematics, algorithms (including dynamic programming), vector image processing, distributed processing, scalable architecture and surfing in huge existed code.
![]()
Sr. Software Engineer
Horizon Navigation
Aug 2006 - Oct 2007
• 1 yr 3 mosDeveloped a map processing application, including algorithms for analyzing, splitting and storing geometrical data for optimal use by navigational applications. (Solaris, MS VC++).
Selected and integrated a text-to-speech (TTS) engine into navigational applications. (MS VC++, Embedded VC++)
Developed a data-uploader to mobile device and a host-manager. (MS VC++)
Developed an interface layer between embedded applications and Direct Draw.
![]()
Team leader
Zultys Technologies
Apr 2002 - Jul 2006
• 4 yrs 4 mosLead project. Manage outsourcing team abroad.
As a Team Leader I led the development of the call routing subsystem of Zultys IP PBX (ca. 100,000 lines of C++ code, GNU C++, MontaVista Linux). The team working on this project grew over time from one to five SWE.
Worked as the main architect and developer of the internal Zultys language, which generated C++ server, C++ and Pascal clients from the description of system configuration. The system supported transactions, journaling, and subscriber notification. Clients cached their data for optimal access speed (GNU C++ on Linux, MS VC++ and Delphi on Windows).
Developed an inter-application communication protocol based on broadcasted UDP notifications. This subsystem included subscription mechanism and broadcasting between applications and inside application (GNU C++).
Developed a logging subsystem, which allowed real-time storing of debug messages in packed binary format. The binary log files were later converted to human-readable texts (GNU C++).
Worked closely with Marketing, QA and Customer Support.
![]()
Software Engineer
Guzik Technical Enterprises
Jun 2001 - Mar 2002
• 10 mosDeveloped software for linear motor based on TMS320C6711. PID and IIR (Notch and LPF) are used for controlling of a movement. Calculation of PID and filer coefficients and optimization.
Developed multithread system for DSP with cooperative multitasking. The project was developed with using C++, what was innovative at the time and attracted attention of IBM engineers, who has developed BSP for TMS.
As part of team, developed software for a Spinstand. The Spinstand is intended for testing hard drive heads and media. I worked on all parts of software: UI (Visual Basic), middle layer (MS VC++), Controller (Motorola Cold Fire, C++ Single Step 7.x, Diab v4.0) to DSP (TMS320C6711, C++ TI Code Composer v2.0) programming. MS Access Database is used for storing of system configuration.
Developed of a standardized protocol for peripheral device interface. Using of this protocol allowed to cut development and debugging time for peripheral devices.
![]()
Consultant
Technological Design Institute of Science Instrument Engineering
1998 - May 2001
• 3 yrs 5 mosI worked for this employer as a contractor. I was a software developer, team leader and consultant. My duty included:
Developed software for a measurement system of a nuclear fuel element distance lattice in team of 2. (MS VC++). My duty includes also development of algorithm and mathematical support for measurement calculation and calibration.
Developed an image-processing algorithm for this system. This algorithm intended for reliable reconstructing of a surface profile. MS Access Database used for storing of measurement results and system parameters. (MS VC++).
Developed an algorithm for detection of diamonds quality using image processing. (MS VC++).
Developed software for a measurement system of nuclear fuel element geometry. Developed a motion control system for a stepper motor. During this project, an original multithread operation system was developed. This operation system works on Intel 80C188. Measurement element is based on ADSP 2180 (MS VC++, Borland C++ v3.1, ADI ADSP Assembler v5.1).
![]()
Project leader
MegionNefteGazGeophisika
I was Project Chief of well-logging station software. Next, I occupied position Vice Director and Director of department. The well-logging station is based on PC104 MicroPC. My duty included also:
Managing team of 4-6 members and contractors. Managing several independent projects simultaneously.
Developed software for a well-logging power supply. Software controls a stabilization of current (AC and DC) (ADSP 2180, ADI ADSP Assembler v5.1).
Developed software for a control panel of well-logging truck. Developed a data compressing system for this software using of ZIP algorithm. The compression system loads the program from ROM to ADSP RAM and decompresses it in place. (ADSP 2180, C, ADI ADSP Assembler v5.1)
Developed of programs for telemetry signals decoding. Standard (FIR, IIR, LSM) and original algorithms are used for programming (ADSP 2115, ADI ADSP Assembler v5.1).
Developed software for well-logging acoustic television system. This software uses image processing for improvement of images. The program allows the company to win a tender for well service in Krasnoyarsk region.
Developed a project of software for well-logging station. I was a leader of 4 for this project. This software was developed for OS/2.
![]()
Research fellow
Institute of Automation and Electrometry
Developed a real-time image processing system in team of 5. I developed software for embedded software for controller based on ADSP21062 and for modeling system based on DCOM technology. FIR is used for image processing (MS Visual C++ v5.0, COM/COM+/DCOM, ADSP 21062).
Mentoring several young members of the laboratory team and university students. Had position of teacher of “Diploma tutoring” course. Had position of teacher of Physics and class mentor at Summer school of Physics and Mathematics.
Developed many image processing algorithms and software for science, military, and industrial applications. I published more than 20 science articles with co-authors. My duty included also:
Developed a draft algorithm for finger print recognition.
Developed software system for recording, visualization and processing X-ray images for medical and industrial applications.
Developed of an algorithm and software for stroke code detection for industrial application.