RESUME
Ted Kapustin
Phone: +1-425-***-****
Location: Bellevue, WA, USA
E-mail: ***.********@*****.***
EDUCATION:
M.S. (Master of Science, Applied Mathematics & Physics), Moscow Institute of Physics & Technology, Aerodynamics & Flight Research dept., 1991 Research practice at Central Institute of Aerohydrodynamics DESIRED POSITION:
Senior software development engineer & architect EXPERIENCE SUMMARY:
30+ years of experience in the development of banking, financial, accounting, engineering, scientific, multimedia, networking, and machine learning software
Database design and programming
2D and 3D graphics
Real-time and embedded programming
Digital image, video & signal processing
Object-oriented analysis and design
Excellent debugging skills (in both user and kernel modes)
Very good knowledge of mathematics and physics
STATUS:
Canadian citizen
Eligible to work for any employer in Canada and the USA by a TN visa TECHNICAL SUMMARY:
Hardware: PC, Mac, mobile devices, proprietary
Operating systems: Microsoft Windows, MacOS, iOS, Android, Linux, proprietary
Languages: C/C++, CUDA, OpenCL, OpenGL, Metal, OneAPI, Ruby, Python, ObjectPascal/Delphi, C#, Objective-C, Go, SQL,
JavaScript, TypeScript, HTML5, XML, UML, XSL, Bash Development tools: Visual Studio, PlatformBuilder, Delphi, C++ Builder, Xcode, Qt, Git, Perforce, SVN, Bugzilla
Ted Kapustin, page 1
EMPLOYMENT HISTORY:
1/22 to
5/25
1st1 Technologies LLP
Bellevue, WA, USA
CHIEF TECHNOLOGY OFFICER
Improving DejaVuAI® reverse image search technology
Developing and maintaining the whole line of products based on DejaVuAI®: Photon, Photon ES, etc.
Supervising the development of the company’s websites Environment: Linux (Ubuntu), Windows, MacOS; Qt, MS Visual Studio, MS Visual Studio Code, vim, git
Technologies: C++, Bash, CUDA, OpenCL, Vulkan, Metal, OneAPI 1/20 to
11/21
Microsoft Corp
Redmond, WA, USA
www.microsoft.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Taking part in the development of a tented project (the client is a major US retail store network) that uses Microsoft’s RTCV (Real-Time Computer Vision) and LVA (Live Video Analytics) technologies and Azure IoT Edge. Environment: Linux (Ubuntu), Windows 10; MS Visual Studio, MS Visual Studio Code, vim, git
Technologies: C++, C#, Python, Bash, HTML5, Azure Cognitive Services, Azure IoT Edge, Docker, Kubernetes, RTCV, LVA, FFMpeg, OpenCV, CUDA, TensorFlow, TensorRT, ONNX, NVIDIA NSight, gRPC
10/18 to
09/19
Facebook Reality Labs / Oculus VR
Redmond, WA, USA
www.oculus.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Improved and refactored machine learning startup and training scripts written in Bash and Python used on clusters of high-performance DGX servers managed by Slurm resource manager.
Helped system administrators troubleshoot networking issues in the new cluster of DGX-1 and DGX-2 servers.
Administered two clusters of DGX servers, and GitHub Enterprise portal; Installed experimental NVIDIA drivers and other software on DGX servers.
Developed custom plugins for Google TensorBoard: 1) for integration with Slurm cluster resource manager (supported job cancellation, log viewing, etc. directly from TensorBoard UI); 2) for displaying H264 videos in TensorBoard (this also required supporting the creation of TensorFlow video summaries in training scripts). Prior to this researches had to encode animated GIFs in their training scripts for displaying those GIFs as “videos” in TensorBoard.
Helped researches with the creation of Docker images, and with porting their training and rendering scripts and programs to a distributed multi- node and multi-GPU environment.
Ted Kapustin, page 2
Modified and refactored an existing C++ & OpenGL application used for perceptual user studies.
Improved multi-GPU and multinode neural network training, and solved several issues by getting rid of using Docker Swarm, and by switching from the unreliable Docker overlay IPv4 network to the IPv6 macvlan bridged network.
Invented and Implemented several high-performance algorithms for image, video and surface reconstruction
Environment: Linux (Ubuntu, Fedora, CentOS), Windows 10; DGX stations and DGX servers; Microsoft Code, MS Visual Studio, vim Technologies: Python, Bash, C++, OpenGL, JavaScript/TypeScript, HTML5, SSL, Polymer, Web Components, FFMpeg, Git, TensorFlow, TensorBoard, Horovod, CUDA, CuDNN, Docker, VirtualBox, Slurm, Kubernetes, Open MPI, networking; NVIDIA OptiX, Blender, PBRT, Mitsuba 01/18 to
10/18
Self-employed/Independent
SOFTWARE DEVELOPMENT ENGINEER
Invented a number of image search algorithms for partial image search in a distributed database of indexed images. The algorithms allow the finding and registration of a sample image, independent on the image’s scale, orientation, quality, color balance, contrast, etc. Implemented a high-performance and extremely efficient (in terms of cost) state-of-the art distributed image search engine that runs on a cluster of search servers.
Environment: Linux, Windows; Docker; C++; OpenCL, OpenGL, CUDA, ZeroMQ; Open MPI
07/17 to
01/18
Micronics Inc.
Redmond, WA, USA
www.micronics.net
SENIOR EMBEDDED SOFTWARE DESIGN ENGINEER
Took part in the development of a Qt GUI application running on a medical device based on a customized embedded Linux platform. Discovered and fixed many bugs and memory leaks introduced by previous developers. Reduced the application’s memory footprint from 100 to 50 MB, and boot time from over 1 minute to 15 seconds. Suggested several ways to radically improve the architecture of the application and the device.
Environment: Windows; Linux; Texas Instruments SDK for ARM Technologies: C++, Qt, SQLite, Python, GDB, Valgrind, BuildRoot, Git, JIRA, Bitbucket, Confluence
11/16 to
06/17
Amazon.com
Seattle, WA, USA
www. amazon .com
SENIOR SOFTWARE DESIGN ENGINEER
As a member of FEDS/NASA (Fulfillment Execution Data Science/North America Software Analytics) team, taking part in the development of Web & Data services, Web sites, and databases used by Amazon’s Network Operations Center and other internal customers.
Ted Kapustin, page 3
Environment: Windows; Linux (RHEL/Amazon Bare Metal Linux); NoMachine Technologies: Ruby, Ruby on Rails; HTML5; HAML; CSS; JavaScript, JQuery, Angular JS, Bootstrap; Python; Java; Oracle; Amazon Redshift, DynamoDB, Aurora, S3; MySQL; Brazil (build system); Apollo(deployment system); Coral (Web services)
08/14 to
10/16
JDL Digital Systems / Airship
Industries
Redmond, WA, USA
www.airshipvms.com
SOFTWARE ARCHITECT, SENIOR SOFTWARE DEVELOPMENT ENGINEER Lead a small (3 people + myself) team of C++ programmers developing from scratch a new generation a highly scalable distributed video surveillance system consisting of several types of server and client applications. 90% of development was done on Linux.
Designed the architecture of the system and personally prototyped most of its parts, including servers running on Linux and Windows, and mobile clients for Linux, Windows, Mac OS X, iOS, and Android. Implemented several interfaces to various brands of network cameras, and to USB 3.0 video devices. Invented and implemented an efficient motion detection algorithm and engine, and an efficient partial license plate matching algorithm. Implemented a high-performance dewarper (based on OpenGL and shaders) for fisheye cameras, and a 3D vision system. Also implemented a semi-automated video redactor. Also implemented several image processing algorithms using OpenCL.
Responsibilities: Entire system architecture and object-oriented design; Prototyping; Development in C and C++; Debugging; Fixing bugs; Training and supervising junior programmers; Communicating with project managers, QA and sales.
Environment: Linux; Windows; MacOS X; iOS; Android; Win32 API; C/C++, Python; Linux Shell; Linux video and audio architectures; Android SDK; XCode, Qt Creator, Code::Blocks, Subversion, git, etc.
Applications &
Technologies:
Qt, OpenGL, EGL, GLSL, X11, xlib, glx, Wayland, Alsa, gstreamer, OpenCL, OpenCV, CUDA; ZeroMQ, live555, libCURL, FFMPEG, libOpenh264, libSodium, libWebSockets, tinyXML2, Boost, glm, LMDB, etc.
12/13 to
07/14
RGen Solutions / Microsoft
Open Technologies Inc.
Redmond, WA / Los Angeles, CA,
USA
www.rgensolutions.com
www.msopentech.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Worked as a consultant at Microsoft Open Technologies via RGen Solutions Inc. Supported a new advanced image standard (JPEG-XR) in the line of Mozilla Foundation products on several platforms (Windows, Linux, MacOS and Android). See Bugzilla issue #500500
Implemented several test applications and modified the original reference implementation of the JPEG-XR image API for use in Web clients (browsers, Ted Kapustin, page 4
etc.). Fixed many bugs in the API. Implemented a native decoder for images in new format for Firefox browser and Thunderbird mail client. Responsibilities: Development in C and C++; Debugging; Testing; Fixing bugs; Communicating with Microsoft Open Technologies and Microsoft Research.
Environment: Windows; Linux; MacOS X; Android; Win32 API; C/C++; Linux toos; Android SDK
Applications &
Technologies:
MS Visual Studio 2012/2013, GIT, Mercurial
01/13 to
12/13
De Novo Software
Los Angeles, CA, USA
www.denovosoftware.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took part in the development of the next version (v.5) of FCS Express clinical and research medical software for flow and image cytometry and DNA analysis.
Responsibilities: Writing project plans; Development in Delphi and C++ for Windows, Android, iOS and MacOS X; Debugging; Implementing test cases. Environment: Windows; Win32 API; Delphi XE-XE5, MS Visual Studio 2012, ObjectPascal, C++
Applications &
Technologies:
Delphi XE-XE5, MS Visual Studio 2012, VMWare, Tortoise SVN, IssueView, ConFluence, Intel Performance Primitives 07/08 to
12/12
Self-employed/Independent
SOFTWARE DEVELOPER
Implemented a search engine core for finding images that look similar to a provided sample image. Also implemented a Web-based search engine that uses the above core. The engine is based on a scalable distributed server architecture with 5 types of servers interacting over HTTP. Also implemented a desktop application for Windows that finds similarly looking images.
Responsibilities included: algorithm invention, implementing and testing, entire development cycle, writing documentation.
Environment: Windows XP/Vista/7/8/Server 2008; Linux; Mac OS X; iOS; C++, Win32 API; Objective-C, Cocoa framework
Applications &
Technologies:
Visual C++ 2010, CodeLite, XCode, Berkeley DB, ESE, MS Thread Pool API, WinHTTP API, HTTP Server API, Windows Imaging Component, libPNG, libPGF, libJPEG, libHTTP
1/08 to
6/08
Microsoft Corp. (via Excell Data)
Redmond, USA
www.microsoft.com
www.excell.com
SENIOR SOFTWARE DESIGN ENGINEER
Working physically in Windows Wireless Group and organizationally in Microsoft Unlimited Potential, took part in implementing a support for Wireless Mesh Networking in Windows as part of Low-cost PCs program for schools and developing countries.
Ted Kapustin, page 5
Implemented a Layer 2 infrastructure (supported in kernel-mode network drivers) and a user-mode API for diagnostics of a wireless mesh network and a number of utilities (MPING, MTRACERT, etc.) using that infrastructure.
Added a support for network bridge operations to netsh/bridge shell and removed bridge support from UI in Windows 7. Ported several network utilities from Windows Vista to Windows 7. Found and fixed several serious bugs in networking and security in Vista and Windows 7.
Responsibilities included: modification and debugging of NDIS drivers
(bus, miniport and intermediate), testing, and writing documentation. Environment: Windows XP, Vista, Windows 7; C/C++, x86 assembly, Windows DDK, WDM, KMDF, NDIS
Applications &
Tools:
Visual Studio 2008, WinDbg (user & kernel modes), WireShark, NetMon, Source Depot
Protocols &
technologies:
IPv4, IPv6, TCP, UDP, ICMP, NAT, DHCP, ARP, RDP, LLTD, UPnP, WinSock2, 802.11s, Ethernet, multithreading
10/07 to
12/07
Microsoft Corp. (via Excell Data)
Redmond, USA
www.microsoft.com
www.excell.com
SENIOR SOFTWARE DESIGN ENGINEER IN TEST
Took part in development of a new version of Windows Live OneCare software suite.
Modified test scripts to support test categories.
Modified the internal testing framework called ZUnit (it is used to test unmanaged applications and DLLs) to support test and fixture categories in the same way as NUnit does.
Responsibilities included: modification of existing and writing new code, debugging, testing, writing test scripts, writing documentation. Environment: Windows XP and Vista, C++, C#, Win32 API, .Net, COM, DOS command scripts
Applications: Visual Studio 2005 & 2008, SQL Server 2005 & 2008, WinDbg, Source Depot, Product Studio, NUnit, ZUnit
03/07 to
10/07
JDL Digital Systems Inc.
Bellevue, USA
www.jdlds.com
SOFTWARE ARCHITECT, SENIOR SOFTWARE DEVELOPMENT ENGINEER Took major role in designing and implementing a new generation of distributed digital video surveillance and recording system and Command & Control system. Designed and implemented a distributed computing framework that enabled high flexibility and scalability of the system. Designed and implemented a number of servers and clients for video capture, preview, encoding, decoding, recording and playback. Supported a number of video sources such as analog/digital video compression boards, IP cameras by various vendors, Web cameras, HTTP servers, etc. Implemented a Web update tool used for automatic updates of the company’s software products Ted Kapustin, page 6
over the Internet. Implemented a number of controls and GUI components. Implemented the Color Alarm algorithm and subsystem. Responsibilities include: software architecture, object-oriented design, modification of existing and writing new code; taking part in determining the company’s objectives; communicating with marketing department; project planning; debugging, testing, and writing documentation. Environment &
technologies:
Win32, .Net, MinGW/MSys, CygWin, COM, DirectX, DirectShow, Axis and Arecont SDKs, MPEG-1/2/4, H.264, AAC, OGG, RTP, RTSP, HTTP
Languages &
libs:
C/C++, C#, Object Pascal, WinInet, Sockets, FFMpeg, Intel Integrated Performance Primitives
Hardware: HIKVision DS & MD series boards; IP cameras by Axis and Arecont; USB cameras; Analog cameras and hardware
Tools: MS Visual Studio 6/2003/2005, Intel C++ compiler, Dev-C++, GCC, Delphi, SVN, Bugzilla, StarUML, WireShark
02/06 to
2/07
Microsoft Corp. (via Excell Data)
Redmond, USA
www.microsoft.com
www.excell.com
SENIOR EMBEDDED SOFTWARE DEVELOPMENT ENGINEER
As a member of Windows Mobile Multimedia team, took part in development of device drivers, protocols and embedded multimedia software for SmartPhone, Pocket PC and Portable Media Center/Zune. Took part in implementing PTP/MTP protocols for Windows CE based devices.
Responsibilities included: modification of existing and writing new code, debugging, testing, and writing documentation.
Environment: C++, C#, x86 assembly, Win32, .Net, COM, DirectX, Windows CE/Mobile, Pocket PC, SmartPhone, Portable Media Center, ARM, USB
Applications: PlatformBuilder for Windows CE 5.0, Embedded Visual Tools for C++, Visual Studio 2005, Source Depot, Product Studio 10/05 to
1/06
Memotec
Montreal, Canada
www.memotec.com
SENIOR EMBEDDED SOFTWARE DESIGN ENGINEER
Took part in modification, debugging and testing of embedded real-time software designed for Memotec’s CX series of telecommunications platforms. Implemented Low-Jitter DSP/CPU interface (the new implementation has less than 0.1 ms average packet jitter while the previous one had about 7 ms), reduced end-to-end delay by about 10 ms
(from 100 to 90 ms) and reduced average CPU load by about 10%. Responsibilities included: writing specifications and documentation, modification of existing code, designing and implementing new algorithms, debugging, testing.
Environment: Win32, CXxxxx, C, CXxxxx assebly, Memotec’s proprietary operating systems (for motherboards and various expansion boards)
Applications: Compilers for Motorola PowerPC CPU and Texas Instruments C54xx Ted Kapustin, page 7
digital signal processors
Araxis Merge Pro, MKS Source Integrity
Protocols &
codecs
GSM, GPRS, ABIS, HDLC, G729, G729AWB, G711
5/05 to
6/05
ADP Benefit Services (division of
Automatic Data Processing, Inc.)
Salt Lake City, Utah, USA
www.adp.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took part in modification, development, debugging and testing of custom libraries for ADP’s WinFlex financial platform designed for calculating employees’ benefits, coverages, compensations, etc. Responsibilities included: modification of existing code, development of new modules, debugging, communicating with requestors and testers. Environment: IBM PC, Win32
Applications: Delphi 6.0 & 7.0, SourceSafe 6.0, FoxPro, Citrix MetaFrame 7/03 to
04/05
Vetla Software Design Inc.
Montreal, Canada
SOFTWARE DEVELOPMENT ENGINEER (self-employed)
Took major part in development of a suite of personal GIS applications that can run on PC (all desktop Win32 platforms), Pocket PC and SmartPhone (Windows CE based). Worked extensively with 2D graphics, GPS devices, Win32 API. Responsibilities included: full development cycle. Environment: PC, Pocket PC, Windows 9x/ME/NT/2000/XP/CE/Mobile Applications:
Technologies:
Visual C++ 6.0 & MFC, Embedded Visual Tools & Visual C++ 3.0
& 4.0, Win32 API, Win CE API, STL, ATL, SourceSafe 6.0, ArcView, ArcObjects
2-D graphics (GDI, GDI+, AGG), numeric methods, digital image processing, data compression, printing
1/03 to
7/03
RBC Financial Group (Royal Bank of Canada)
Montreal, Canada
Http://www.rbc.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took part in development of Royal Bank’s “Enterprise General Ledger” project.
Responsibilities included: modifying existing UML models and C++ code, designing new classes in Rational Rose, coding, testing. Environment: IBM PC, Windows NT/2000/XP
Applications:
Technologies:
Visual C++ 6.0 & MFC, Win32 API, STL, Stingray components, ATL, SourceSafe 6.0, Rational Rose, IMB WebSphere (IMQ Series only), Microsoft Message Queuing Services (MSMQ)
12/00 to
12/02
Thought Technology
Montreal, Canada
www.thoughttechnology.com
Ted Kapustin, page 8
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took leading role in development of a biofeedback analysis & training system. Was responsible for object-oriented design of the system in Rational Rose, programming in C++, Delphi and Visual Basic, GUI design, database design, testing, etc.
Designed and implemented a real-time multithreaded data processing core, a number of APIs for data acquisition from medical devices via USB, RS232 and TCP/IP, digital signal processing algorithms, a number of ATL COM objects and controls (for processing and playback of MIDI and AVI media files, digital video capture, encoding and decoding, 2D and 3D graphs, sound, animation).
Also implemented data acquisition, processing and visualization on Pocket PCs used as wireless clients, and their real-time communication with a server computer via Wi-Fi and Bluetooth.
Environment: IBM PC, Windows XP/2000/98/ME, Windows CE, ISO 9001 quality standards
Applications:
Technologies:
Visual C++ 6.0 & MFC, SourceSafe 6.0, Rational Rose 2001, Delphi 6.0, Embedded Visual Tools 3.0 & 4.0 .NET
Win32 API, COM, ATL 3.0, DirectX Media SDK 8.x, DirectShow, DirectMusic, DirectSound, DirectDraw, TCP/IP, Sockets
(WinSock), x86 Assembler, real-time programming
6/00 to
11/00
Vetla Software Design Inc.
Montreal, Canada
Http://www.vetla.com
SOFTWARE DEVELOPMENT ENGINEER (self-employed)
Developed browser plug-ins, Java applets and servlets, ISAPI extensions and filters for Windows NT/2000, Linux, Internet Explorer and Netscape Navigator.
Technologies involved: image compression and processing, COM, ATL, HTML, Win32 API, WinInet API, DirectDraw, OpenGL, Java, JavaScript, SmartUpdate, security, Apache API, ISAPI.
Environment: IBM PC, Windows 2000/NT 4.0, Linux
Applications: Visual C++ 6.0 & MFC, SourceSafe, GNU C++, Visual InterDev, SUN JDK 1.2.2, Apple QuickTime, ISAPI, Apache API, TomCat API, DirectX Media SDK
3/00 to
6/00
Optimal Robotics Corp.
Montreal, Canada
http://www.optimal-robotics.com
http://www.opmr.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took part in implementing U-Scan self-checkout system (the system is now widely used in the US, Canada, Japan and other countries). Worked with Point of Sale (POS) devices and video capture devices. Implemented a support for security Web cameras (particularly, transmission of digital video via LAN using an existing messaging subsystem. Before that, analog TV cameras were used). Technologies included: multithreading, inter- process communication, sockets, real-time programming. Environment: IBM PC, Windows 2000/NT 4.0
Ted Kapustin, page 9
Applications: Rational Rose 2000, Visual C++ 6.0 & MFC, Win32 API, TCP/IP, Sockets (WinSock), SourceSafe
12/99 to
3/00
ICG Research Inc.
Toronto, Canada
http://www.icgresearch.com
SOFTWARE DEVELOPMENT ENGINEER
Took part in development of a Print & Fax Cost Recovery System. Developed GUI applications, middleware and services for Windows NT and Windows 2000. Used extensively multithreading, inter-process communication and real-time communication via serial and parallel ports with specialized hardware. Also did GUI and database design and programming.
Environment: IBM PC, Windows 95/98/NT 4.0/2000
Applications: Delphi 5.0, Visual C++ 6.0 & MFC, Borland C++ & OWL, Borland C++ Builder, SourceSafe, Win32 API, SDK
6/99 to
9/99
ProCim Consulting
Hamilton, Canada
SOFTWARE DEVELOPMENT ENGINEER
Developed from scratch a number of applications for 3D-visualization and for 3D- computations on tessellated models. This job required a very good knowledge of linear algebra and OpenGL. Related tasks included writing procedures for automatic repairing of tessellated models, for importing from and exporting to different CAD formats.
First version was written in Delphi, but later was rewritten in Visual C++. Responsibilities included: inventing algorithms (both mathematical and programming), programming (user interface, custom Delphi components, algorithms), user interface design, testing, writing documentation. Environment: IBM PC, Windows NT 4.0
Applications: Visual C++ & MFC 6.0, Delphi 4.3, OpenGL 3/99 to
6/99
Equifax Canada Inc.
Toronto, Canada
www.equifax.ca
SOFTWARE DEVELOPMENT ENGINEER
Took part in development and testing of software for remote access to Equifax’ credit history database and for generating reports. Personally developed a number of Delphi modules. Y2K and QA testing was performed on four different platforms.
Responsibilities included: programming, database design, writing test schedules, year 2000 testing, QA testing
Environment: IBM PC, Windows NT 4.0, Windows 3.x, 95, 98 Applications: Delphi 1.0/2.0/3.0, Apollo Database Engine, QuickReport 4/98 to
12/98
First National Development Corporation,
Moscow, Russia
Ted Kapustin, page 10
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took major part in implementing an online trading and analysis system and portfolio management, analysis and prognosis system for different types of financial instruments.
Environment: IBM PC, Windows NT 4.0
Applications: Visual C++ 6.0, Win32 API, SQL Server 7.0 Financial
instruments:
Fixed income shares, equities, options, futures, currencies, state obligations
9/97 to
4/98
Moscow Inter-bank Currency Exchange,
Russia Department of Finance
Moscow, Russia
Www.micex.com
SENIOR SOFTWARE DEVELOPMENT ENGINEER
Took major part in implementing a multi-user Client-Server system named
“Analysis of National Debt” ordered by Federal Securities & Financial Market Department of Russia’s Department of Finance. The system consisted of a database and two client applications: for data entry and for reporting. The reporting part was capable of preparing about 30 kinds of reports. The reports involved complex calculations, most of which were performed by stored procedures and the rest were performed by the client application.
Responsibilities included: project scheduling, interviewing experts, database design, writing stored procedures, migrating the existing database from Excel and Paradox to InterBase, user interface design, reports design & programming, coding, testing, writing programmer’s and user’s documentation. Environment: IBM PC, Windows NT 4.0
Applications: Borland Delphi 3.0 Client-Server, InterBase 4.2, S-Designor 5.1, QuickReport 2.0
Financial
instruments:
State obligations (short- and long-term, discount and fixed income, with or without coupons)
11/96 to
8/97
INEC (Information & Economics)
Moscow, Russia
Www.inec.ru
SENIOR SOFTWARE DEVELOPMENT ENGINEER, PROJECT MANAGER Managed “Enterprises Database” and “Financial Analysis” parts of the project of Information System of the Moscow Corporate Bankruptcy Committee (a project by INEC and Information & IT department of Moscow City Hall). Was in charge of 5 developers (programmers and database designers).
Responsibilities included project scheduling, interviewing experts, multi-tier architecture design, user interface design, writing specifications, version control, coding.
Personally developed application server and Client-to-Application Server communication interface (it worked via TCP/IP sockets and named pipes). Managed a project of a real-time system designed for stock exchange trading session analysis and for investment portfolio analysis and management. Responsibilities included interviewing experts, writing specifications, code quality control, version tracking.
Supervised two programmers responsible for implementing different parts of the system. Personally implemented a number of Delphi components and a technical analysis library. Designed and implemented Universal Data Interface for a number of providers of trading and stock data.
Environment: PC, Sun SPARC, Solaris 4.2, Windows 95, Windows NT, Win32 Ted Kapustin, page 11
API
Applications: Borland Delphi 2.0 Client-Server, BDE, IDEF/Design 3.5, ErWin 2.6
1/96 to
7/96
Parus Corporation
Moscow, Russia
Www.parus.ru
SOFTWARE DEVELOPMENT ENGINEER
Took major part in the designing and development of a personal accounting system called “Econom” (similar to Quicken and Microsoft Money). Responsibilities included: user interface and database design, coding, testing. Environment: IBM PC, Windows 95, Windows NT Workstation 3.51, Win16/32 API
Applications: MS Visual C++ & MFC 4.0, Borland Delphi 1.0 & 2.0, BDE, S-Designor, Crystal Reports, PVSC
11/93 to
1/96
International Academy of Business & Banking
Togliatti, Russia
http://www.risk.ru/k2/english/appendix/academy.html PROFESSOR
Developed and delivered a 3-semester course “C++ Language and Introduction in Object-Oriented Design” at Information Technologies of Banking department and supervised students’ semester projects (practical part of the course). Participated in development of a number of IT courses and tests and in development of internal software.
Environment: IBM PC, Apple Macintosh, Windows 3.11/95, Win16/32 API, Apple System 7.x
Applications: Borland C++ 4.5 & OWL, MS Visual C++ 1.5, Symantec C++ for Macintosh, Rational Rose, MS Office
9/91 to
11/93
InfoLada
Togliatti, Russia
www.infolada.com
SOFTWARE DEVELOPMENT ENGINEER
Participated in development of a Bank Automation System. Responsibilities included: development and support of applications integrated in the system, database design, coding, testing, installing and configuring software, technical writing. Personally developed applications: «Labor Time Calculation»,
«Personnel» and contributed in «Payroll Accounting» and «Online Banking» applications. Also was involved in system programming for Windows and DOS. Environment: IBM PC, MS DOS, Windows 3.1, API, NetWare 3.12 Applications: Clipper 5.0, Microsoft C 6.0, Borland C++ 3.1, Borland Assembler, MS Word
Ted Kapustin, page 12