Badges
Certifications
Work Experience
Senior Software Engineer
Bank of America• March 2016 - Present
♦ Developed, enhanced and maintained object oriented b+tree based in-memory database (Sandra). Server was written in C/C++ using Boost ASIO / Thread libraries. For fast access database server used pinned 1MB memory pages mapped to the process via mmap API. NBIO was used for network and disk access. ∙ Added API for listing sub directories that comprise along with object name object path. ∙ Optimized index key(s) encoder moving functionality from python to cython and C. ∙ Implemented a set of performance metrics, some of them were used as feedback for self-tuning. ∙ Enhanced db compaction process by 1 - replacing heuristic based with cost based algorithm, 2 – replaced live copy-out algorithm with compaction in-place algorithm. ♦ Developed and supported grid scheduler. C++ scheduler accepted multiple simultaneous connections from execution nodes and grid clients, relayed metrics to monitor via AMPS, had configurable policies. ∙ Developed and implemented algorithm to detect/blacklist and later parole bad execution nodes via re-trying failed tasks on different nodes. ∙ Shared job RPC connection buffers between job’s subtasks to avoid deep copying pf common data. ∙ Changed communication API to ‘stream’ task input data / results to / from execution nodes / clients to avoid reserving copious amounts of RAM to submit large number of parallel tasks / receive their results simultaneously. ♦ Developed and supported tabular data structure (QzTable) which features strongly typed schema, excel-like data transformation and aggregation functions, table inheritance. It’s implemented in C++. Public APIs are C++ and Python interfaced via SWIG. ∙ Improved data de-serialization API performance by replacing multi-pass line and field tokenizers with single-pass stream processing parser.
Senior Software Engineer
Boinc, Inc• March 2013 - February 2016
DRM, Encryption, Security, Anti-Tampering Protection, WhiteCryption. Adaptive Multi-Rate Audio Codecs, Dynamic Range Enhancement, Spectral Band Replication. ♦ Designed, developed and maintained a set of shared libraries written in C/C++. Libraries were interfaced with Java client application via JNI on Android and linked to Objective-C on iOS. Libraries provided common application logic stored music and user related data in encrypted SQLite database, provided DRM / DCP functionality and white-box cryptography. Binaries were additionally hardened to avoid static or dynamic analysis or tampering. ∙ Designed and developed custom security protocol to confirm identity/eligibility of BYOD accounts ∙ Developed SSL/TLS openssl interface (with socket nbio support) to replace aging axTLS library. ∙ Interfaced Wasabi DRM SDK with Transformit SKB implementation for white box key storage. ∙ Enhanced scons/make build system, implemented automated release management viajenkins/github
Senior Software Engineer
Barclays• April 2009 - February 2013
♦ Implemented analytic provider (AP) to compute price and risk for Inflation ZC, YoY and Asset Swaps: ∙ Modular code was written in C++ used STL data structures and algorithms. It was interfaced with application framework by means of Boost Graph Library satisfying reentrancy and thread safety requirements. Market data and quote request messages were routed via Talarian/Solace middleware. ∙ AP generated inflation swap cash flows and used quantitative analytic library to compute inflation swap NPVs, flat and bucketed Deltas. In addition it computed diagonal cross and weighted Gammas, Vega surfaces for Asset Swap’s TIPS leg embedded floors (based on Shifted SABR sensitivities). ♦ Developed an algorithm for batch pricing prime brokerage agency bond positions in a way to detect ad-hoc duplications if instruments had been already scheduled for re-pricing as agency desk positions. ∙ Application was written in C# and integrated into ET framework via .NET CLR. ♦ Enhanced and supported standalone QGM pricer for Bermudan and European callable agency bonds. ∙ Application was written in C++ and interfaced with HPC farm via DataSynapse API to run computationally demanding QGM pricing kernels (quantitative analytics library tasks) in parallel fashion. ♦ Created calculator for intraday valuation of stand-alone and index-linked Total Return Swaps: ∙ Calculator’s code was written in Java and integrated into intraday price and risk Spring driven framework. ∙ Calculator provided cash flow generation, NPV, flat and bucketed linear risk for TRS trades with and without notional tracking feature. Trades were linked to weighted combination of stand-alone issues or to an index which performance was linearly regressed by an associated Libor+spread growth index. ♦ Enhanced existing Java trade capture back end for TRS products. Added Libor leg short/long front/back stubs auto enrichments and interpolation algorithm for front stub Libor rate fixings.
Senior Software Engineer
Bloomberg LP• November 2008 - February 2009
♦ Developed and maintained FX Analytics server side C++/C code run on Linux / NVIDIA CUDA platforms. ∙ Implemented exponential interpolation algorithm for BRL FX Forward rates (to match OAS swap rates). ∙ Added Spot+1 tenor to allow traders to track carry costs associated with long JPY FX positions.
Senior Software Engineer
Lehman Brothers• August 2004 - November 2008
• Developed pricing/risk/hedging applications for credit valuation adjustment (CVA) and exotic interest rate derivative business. Applications were written in C++ as stand alone Linux/Unix executables and interfaced by means of proprietary book analysis system (BAS) language. 3-factor HJM/FHJM/FHJM-FX models were used as pricing kernels. Monte-Carlo simulator was built on top of FHJM/FHJM-FX models for CVA pricing to account for rating transitions/collateral threshold changes, jumps in hazard rates/default probabilities. Executables were used for both intraday pricing requests from Windows front-end pricer and overnight risk/hedge batch process.
Senior Software Engineer
Fine Point Technologies• December 2002 - August 2004
Fine Point Technologies, Inc. is a leader for broadband and dial-up software solutions worldwide. ♦ Developed an embedded broadband management server (BMS). BMS is Linux based server application capable to simultaneously terminate and manage up to 4000 PPPoE DSL sessions. Application is tightly integrated with highly optimized Linux OS kernel. To suffice real-time requirements low-level parts of protocol stacks were run in kernel space and implemented as loadable kernel modules, while configuration and control interfaces are written as user space applications. BMS had two user interfaces: 1) Web GUI, server side was built on top of embedded apache web server as a set of C++ CGI executables; 2) Character GUI forms were written in tcl/tk and run as a cwsh script. User space run components such as session management, user authentication, configuration and licensing plugins were written in C++. STL components were extensively used to decrease development time. Part of Linux C PPP stack used by pppoe-server was also ported to C++ and integrated with pppoe-server. Process forking concurrent execution model was replaced with multithreading to decrease memory usage and to re-claim some performance loss resulted by C++ port.
Senior Software Engineer
Golden Source / Financial Technologies International• December 2000 - December 2002
Golden Source provides enterprise data management solutions to asset managers, investment banks, broker/dealers, and custodians. • Co-developed and supported rule-based Unix C++ real-time processing software (Message Mapper) that uses proprietary MSF rule language to convert fixed/variable/XML financial data vendor feeds into a company internal message format that, in its turn, is used as an input by back-end state-machine applications (Business Engine) to populate Global Financial Data Model (GFDM). • Participated in FIA library development. Implemented class of bootstrapping/fitting functions for corporate issue analytics module, developed class of calendar functions.
Software Engineer
PredictIt• June 1999 - December 2000
Predict It Inc. is a leading provider of interactive consensus-based outcome forecast applications targeting online sport and financial market events. ♦ Implemented server logic as collection of java bean services hosted by ATG Dynamo application server. ♦ Implemented “Sports Ticker” data feed client. Application listened to UDP socket, verified and parsed real-time sport event and betting line data stream updating game schedules and the corresponding moving odds stored in Oracle database. ♦ Designed and created cache eviction strategy that forced ATG Dynamo application servers to clear up particular parts of their db caches upon update/insert events for the corresponding database tables. Implemented external Oracle stored procedure using C API to communicate with web servers via TCP/IP. ♦ Participated in design and development of DDLs and stored procedures which used to apply user results, compute consensus of user majority and find top analysts in different sport domains.
Education
St. Petersburg State Polytechnical University
Applied Physics, M.S.• September 1992 - December 1997
Links
Skills
vtsozik has not updated skills details yet.