|   | 
2006-presentSungard Consulting Services, former Finetix LLC
 Senior Managing Consultant
 Provided consulting services to major investment banks in New York City 
2004-2006Acted as an advisor and hands-on contributor for a Prime Brokerage financial application
(C#, WPF, WCF).Acted as a hands on tech lead for a team responsible for a front-end and part
of a back-end of a trade clearing platform (C#, WPF, WCF, Java, CXF).Led a team that implemented a CDO pricing solution for a hedge fund
(C#, WPF, SQL Server 2005).Worked on a C#/WPF risk management application. Learnt WPF tips and tricks from some 
of the best experts in the industry.Implemented trade routing solution (C#) that connected a number of commodity trading
platforms (GL, TT). Worked with a team as a tech lead.Implemented a price assessment and marketing application for a major utility company
(C#, Windows Forms).Supervised architecture of a CAB-based GUI framework (C#) used by several financial applications.
Implemented a number of improvements to the Java back-end that communicates with the framework. 
                        Developed a credit event notification system (C#, Java) based on the 
                            aforementioned framework. Implemented the C# front-end and served as a technical 
                            lead for a team of Java developers that implemented the back-end.
Analyzed, planned and developed Manual Confirmations processing for foreign exchange trades
(C#/Windows, Java/Linux, Sybase) in close cooperation with business users. Followed agile development practices.
Investigated and developed prototype for securing SOAP/HTTP communication
between Windows client and Apache AXIS server with Kerberos conforming to the 
WS-SECURITY 
Kerberos token profile.
Worked in both C#/Windows and Java/Linux environments.Re-architected GUI front-end of a foreign exchange straight-through processing system 
(Windows desktop application, C#). Split monolithic system into several parts (shell+plugins) 
that are now developed independently by several teams. Introduced automated build and unit 
tests, greatly improving system stability in the process. Trained a team of software developers
that continues to support this project.Contributed to the Rhino Mocks open source
project. Greatly extended the set of types that can be mocked by adding mocks that use .NET remoting 
real proxy mechanism. Bloomberg L.P. New York, NY
 Architect/Technical Lead
 
Hands-on architect and technical leader of Smart Client project. 
Smart Client is a distributed n-tier application that allows publishing, 
deployment, execution and automatic update of .NET plug-ins for Bloomberg 
Terminal. 
 
Smart Client uses C#, C++, Web Services, SSL, load-balanced web farm (IIS),
and SQL Server 2005 database cluster. It is highly available scalable
system that serves over 300,000 users worldwide. Multi-threading is 
used heavily in several parts of the system.
 
Developed initial prototype of the system. Produced architecture and 
high-level design of Smart Client, using Visio and "Enterprise Architect"
tool. Wrote functional specifications for the majority of system 
components. Provided technical leadership to the team. Personally 
developed most of the business logic and data access tier, and 
portions of presentation tier. 
 
Smart Client is developed by a team of 10 software engineers using 
agile-style development process. The project extensively uses 
unit testing (nUnit), and continuous integration. 
Led the effort for the integration of Smart Client with homegrown 
UNIX-based GUI environment called "Launchpad". Windows part of the
integration package is written in C# and C++, UNIX part is written 
in plain C. UNIX part is portable code running on AIX, Solaris and 
HPUX. Provided design and implementation of the key components, 
and coordinated contributions of 3 other people to the project. 
 
Created C API for UNIX developers, that allows invocation and 
control over Smart Client applications from Laucnhpad. Created 
messaging framework that allows Smart Client application authors 
to communicate easily with Launchpad infrastructure. 
Developed "Report control" for Bloomberg Terminal. Report control 
is a Windows-based control remotely controlled by UNIX server. 
Used C++, MFC (Windows side), portable C code on UNIX side
(worked on AIX, Solaris, HPUX and DG/Intel). Used XML for 
communication between UNIX and Windows 
(libxml library).
 
1999-2004OptiMed Technologies, Inc. Fairfield, NJ.
 Senior Software Engineer
 
Pioneered with .NET technology in the company. Performed extensive research on web services, .NET remoting, XML, Windows Forms and other .NET technologies.Designed and developed an MSMQ component in C# for deferred storage of patient demographic reports.Produced functional specification, architecture, design and implementation of new generation multi-modality medical imaging application (ReviewX). The application displays single-frame and multi-frame medical images stored in variety of formats (DICOM, AVI, proprietary), and provides a rich set of diagnostics and analysis functions to the doctor. 
ReviewX is an n-tier distributed application that uses Visual C++, MFC, ATL, ADO, COM/DCOM, SQL Server, and Windows Services. Applied a number of design patterns: Model-View-Controller, Decorator, Composite, et al., in order to improve quality of the design. 
Designed and developed 2-tier Web-based medical imaging system (Optibrowse) using ISAPI extensions, Visual C++.Designed and developed DICOM print package for medical imaging application with print preview and annotation features. Connectivity to conventional printers, laser imagers, DICOM printers. Using Visual C++, MFC, Merge library. 1995-1999CMT Medical Technologies, Ltd.
Haifa, Israel.
 Software Engineer, then Team Leader
 
Led a team of 4 software developers.Developed advanced image acquisition protocols for real-time medical imaging application; the protocols involved real-time control of third-party and in-house hardware. Multithreaded real-time programming in C++, inter-process communication, Windows NT device drivers for PCI and ISA boards, interrupt handling, scatter-gather DMA using PLX 9060/9080 chipset, etc.Performed maintenance of complex medical imaging application. Cooperated with service department, managing database of bugs and features, version control, work plans, ISO-9000 documentation, etc.Developed real-time simulator of X-ray generator (GUI, multithreaded programming).Developed a program that launches child process and "spies" on its Win32 API calls using Win32 debugging API.Participated in design and implemented core components of real-time medical imaging application. Sophisticated user interface development using MFC and Win32 API, multithreaded real-time programming, inter-process communication, control of custom hardware using Windows NT device drivers. Used ODBC, DAO, Microsoft Access.Implemented from scratch Windows NT device driver for custom frame grabber and image processing board. Real-time programming, using Windows NT DDK and WinDK library; Interrupt handling, scatter-gather DMA using PLX 9060/PLX 9080 chipset, system threads, DPCs, etc.Developed DICOM Print and DICOM Store solution for medical imaging application using Merge Library.Developed image processing algorithms using MMX and assembly language.Developed embedded program for custom keyboard with Intel 8051 processor using PL/M languageImplemented diagnostics software for custom keyboards using Borland C++ and OWL library.Implemented major improvements to embedded medical application based on PDP-11 compatible processor, using Pascal and PDP-11 assembly language. RSX operating system.Participated in administration of e-mail and DNS systems on Sun OS machine. 1993-1994Product Computers, Ltd. Haifa, Israel.
 Software Engineer
 
Developed handwriting recognition system for Hebrew language. 
Using Borland C++, OWL, Windows 3.1.
 
1992-1993Interface, Inc. Tomsk, Russia
 Software Engineer
 
Developed scientific applications (simulation of physical processes)
using Turbo Pascal, Borland C++ under DOS operating system.
 |