Table of content
To find new interesting and challenging consulting roles in the area of algo/electronic trading and general software development. 100% remoting strongly preferred. Alternatively, I'll consider positions in South East Asia: Singapore, Hong Kong, Kuala Lumpur (Malaysia), Jakarta (Indonesia)
I am a seasoned software engineer with two decades of software design and development as well as team management experience
- Programming and tools: .NET (C#), C/C++, Java, Scala, Python, Rust, shell, OCaml/F#, Haskell, QT
- Operating systems: Windows, UNIX (Linux & Solaris), OSX
- Databases: MS SQL, Sybase, Oracle, other popular RDBMS, KDB
- Finance: algorithmic trading, HFT (high frequency trading), equity, futures, FX, FIX, Market Data (Reuters/RFA, Wombat), Interactive Brokers, cAlgo/cTrader
- Networking: TCP/IP, UDP, HTTP, FTP, SMTP, SSH, SmartSockets, Tibco RV, Solace, ZeroMQ, security
- Web: Play!, django, AngularJS, CoffeeScript, RESTful
- Other: Git, SVN, ClearCase, cmake, AWS, heroku, general devops
04/2015 --present Software Consultant [freelancer]
Working as a freelancer for various clients remotely
Chronicle Software -- .NET/Java consultant
- Development of .NET API for an existing Java server
- Bug fixes and new features to the Chronicle software components
- Technologies: Java 7/8, .NET 4.5, C#, C/C++, RFA, TeamCity, Git, Github
A fintech startup -- principal algorithmic trading consultant
- Design and development of a brand new trading platform from scratch
- Selection and presentation to the senior management the merits of different technologies
- Server components:
- Market data feeds (server + client)
- Historical data
- Order Management System (OMS)
- Exchange simulator
- Trading algos
- Exchange links
- Automated regression testing
- Trading GUI
- Development of various helper tools and interfaces
- Technologies: C++/C++11, Python3, Apache Thrift, Google probuf, ZeroMQ(0MQ), MySQL, SOCI, CMake, .NET/C#, IQFeed, Interactive Brokers API, AWS, django
A German startup -- C/C++ consultant
- Development of various tools for handling the Eurex market data
- Technologies: C/C++, RedHat Linux, pcap
09/2014 -- 09/2015: Barclay Capital [UK] -- quantitative analytics library developer [contractor]
- Development and support of new features in BC's massive rewrite of the quantitative libraries (QA), responsible for pricing, risk, modelling etc. across all asset groups
- Technologies: C++ Windows/Unix, boost, STL, MPL
04/2011 -- 09/2014: Morgan Stanley [UK] -- algorithmic trading developer [contractor]
- Development and support of algorithmic trading platform in Morgan Stanley. Standard benchmark algorithms (VWAP, ArrivalPrice, PercentageOfVolume, TargetClose etc.), crossing engines, dark pools/dark liquidity. All engines are written in C++, running on 64-bit Linux
- Handling of special market conditions: auctions, restriction/compliance rules, limited trading duration, special trading days
- Special data handling: tick sizes, lot sizes, market data conditions
- Handling of user-specific requirement for special engine behavior
- Automated regression testing -- C++, Perl, Python
- Automated backtesting -- Python
- Various scripting activities for testing, deployment and support purposes -- Python, Perl
- Technologies: C++ Linux 64 bit, STL, boost, Python, Perl, automated backtesting, KDB
- Business: equities and futures in EU markets, automated testing of algo trading applications
05/2010 -- 11/2010: Standard Chartered [UK] -- FX trading Developer [contractor]
Development of FX trading platform -- green field development. Usage of complex code generation, message serialization, message exchange via Solace, centralized caching and persistence. FX spot, forwards, swaps. Participation in the following streams of work:
- FX Trade server -- trade validation, augmentation, population -- C++
- Risk scheduling -- C++
- Automated performance and functionality testing -- Python
- Framework feature development and bug fixing -- C++
- Technologies: C++ on 64 bit Linux, Python, Solace
12/2009 -- 05/2010: Credit Suisse [UK] -- Smart order routing developer [contractor]
Hands on involvement in developing the SOR for equity world. Main focus on European markets. Technologies -- C++ on Unix (Solaris), C# (VS2008) -- .NET 3.5, WCF, WTF. Participation in the following streams of work:
- Static data management -- .NET WPF GUI
- Market Data for static data management -- Reuters RFA 6 C++/.NET
- SOR bug fixing -- C++ 64 bit Solaris
03/2006 -- 12/2009: Barclays Capital [UK] -- Algorithmic trading team lead
Barclays Capital is a leader in E-commerce solutions with a balance sheet of almost £1,000 billion
- Technical and administrative leadership
- Management of ex-Lehman integration project (LMX/BARX algos merge)
- Management of SOR (Smart Order Router) development and deployment in Europe
- Management of ex-Lehman market data component integration and in-house MD development
- Functionality, stability and performance improvements in algorithmic trading and exchange connectivity components of the proprietary trading platform (XTP). Front office support, including solving live trading issues
- Development of core algorithmic components (C++) -- multi-threaded application for order processing. Work on very high throughput, low latency, safe recovery in case of a crash. Overall performance increased at least tenfold, with some critical paths gaining even higher improvements. Introduction of better scaling and robustness via load-balancing
- Work on improving different aspects of basket trading (FTSE, S&P500 and other indices) -- included some GUI work and server-side performance analysis and fixes
- Development of specific trading algorithms (C#), trading GUIs (C#) and other applications. Work on VWAP, Pairs trader and other algorithms
- Liaising with traders and other business-side colleagues for requirements gathering, definition, implementation and live trading support
- Supported and extended a shared in-process Market Data component (Reuters, Wombat, internal feeds) with COM+ and .NET interface (Interop). Work on mapping for different exchanges, detection of trading status (Auction, Continuous etc.), detection of block trades (OTC) where not available directly from the feed. Work on performance of the component and detection of suspicious/bad data
- Exposure to different aspects of trading, beyond immediate duties -- FIX, static data management, exchange connectivity issues
- Active participation in hiring/training of new employees -- CV screening, interviews and participation in decision making
- Business exposure: equities, FX, futures, algorithmic trading, Reuters, Wombat, FIX
- Technologies: C++ (STL/STLPort, boost, custom memory management), C#, MS SQL, Oracle, FIX, XML
- Awards: the work of the team received the CIO Technology Award for 2007
03/2005 -- 03/2006: Rule Financial Ltd. [UK] -- Technical consultant
Rule Financial provides project management and development services to financial organizations.
Deutsche Bank -- Autobahn project -- design and development of an interface between a derivatives/FI trading platform and Excel
Solution based on a multi-threaded data loader module, implemented in VC++ using Boost libraries, XLL API and Excel COM+ automation for call-back infrastructure
Technologies: VS.NET 2003 (C++), Boost, multi-threading, Excel VBA, Excel add-ins
Beauchamp Financial Technology Ltd. (software house for hedge funds) -- FIX tools design and development
Design and development of a prototype for .NET OO API to TDP (Trading Platform System) using UML and initial implementation
Technologies: C++, .NET C#, FIX 4.0-4.4, XML, Oracle, PL/SQL, Borland C++ Builder
03/2004 -- 03/2005: FIS Software Ltd. [UK] -- Senior software developer
FIS is a leading financial software development company. ALIS is FIS' all-in-one solution which manages the entire policy administration lifecycle of all life insurance, pensions and investment products.
- Development of the pensions and investments administration version of ALIS for Fidelity, individual risk and investment version for Capital Alliance (SA).
- Design and implementation of new business processes, bug fixing and support for existing modules.
- Introduction of new technologies and approaches into the project, as well as fixing some long outstanding major problems in crucial places in the code.
- Development of the existing MQ infrastructure. Introduction of configurable log4j-like logging into the system.
- Dealing with Unix build environment, porting code between Unix and Windows platforms, stability and quality of the Unix port.
- Delivery of lectures, training and help documents in the fields of my expertise to the colleagues.
Technologies: Visual C++, GCC, Unix (Solaris), Perl, IBM MQSeries, Oracle, MS SQL, COM+.
09/2000 -- 02/2004: Ministry of Finance [Israel] -- Senior software developer [contractor]
- Conducting software development in the e-Government Internet security team (TEHILA project)
- Full development life cycle involvement, supervising a team of 1-2 junior developers.
- Design and development of a highly secure web site for the US government loan guarantees on-line auction
- Development of a framework for incident tracking and intrusion detection, with data mining abilities and abuse mail system
- Specification and design of the e-Government project for on-line forms server, which should give the citizens an opportunity to fill various official forms via Internet.
- Review and hardening of web sites from the security point of view
- Development of a highly scalable web site for the municipal elections results (C# and Office/OWC API).
- Development of an internal web interface to a local paging services provider
- Complex administration tasks -- installation of databases (Unix/Windows), Apache and IIS HTTP servers, Tomcat servlets engine, mail servers etc. Administeration of MS SQL, MySQL, PostreSQL.
- Development of mail filters and system scripts in Perl.
- Design and implementation an application for prevention of mail bombing in C++ for Sendmail (MILTER API). The filter handles hundreds of thousands e-mails per day.
- Implementation of other applications for internal usage: data parsing and analysis (Java/Perl/C++/SQL), management console for event logging and control of a large computer farm (Java/J2EE) with multi-lingual interface.
09/2001 -- 09/2003: The Hebrew University [Israel] -- Consultant and software developer [contractor]
Phase 2 of the BioGIS project (see below)
04/2000 -- 08/2000: EZFace Ltd. [Israel] -- Software consultant [contractor]
Creation of the first version of the company's web sites, company's IT infrastructure, system design and setup tasks, servers administration, configurations and tuning. Development of scripts and mail filters. Recruiting new employees for the company -- including interviews and practical tests.
09/1998 -- 09/2000: The Hebrew University [Israel] -- Software developer
Development of BioGIS -- GIS-based web project. Project's goal was to provide an easy access to numerous bio-diversity data sets, assembled by university's and external researches.
01/1998 -- 08/1998: Prudence Software Ltd. [Israel] -- Software developer
Development and support of a large software project written in Visual C++ in the field of electro-simulation tools (electron gun calculations, laser scattering etc.) Performance and memory utilization improvement of the central mesh building algorithm by applying a more suitable numerical method for LU decomposition. Development of the existing end-user interface (MS VC++, MFC) and its interconnections with other parts of the software.
10/2014 -- present: personal project -- Android Scala development
- Development of an Android application for language learning
- Technologies: Scala, Java, Android OS, SQLite
- 2000 -- 2003: The Hebrew University of Jerusalem -- M.Sc. in Computer Science
- 1997 -- 2000: The Hebrew University of Jerusalem -- B.Sc. in Computer Science (major) with Mathematics (minor)
- 2005: Rule Financial -- Calypso -- API and development
- 2004: FastPath -- IBM MQSeries users course, IBM MQSeries administrators course
- Fast learner, work well both in a team and independently
- Strong debugging skills, strong problem solving skills
- Languages: English, Russian, Hebrew, Spanish (intermediate), Chinese Mandarin (basic)
Hobbies and interests: History and general reading, linguistics, philosophy, social science, fitness, bicycles, swimming
Recommendations: provided upon request