Senior software developer / team lead 100% remote working position.
I am a seasoned software engineer with more than 17 years of software design and development as well as team management experience
- Programming and tools: .NET (C#), C/C++, Java, Scala, Python, Perl, shell, OCaml/F#, Haskell
- Operating systems: Windows, UNIX (Linux & Solaris)
- Databases: MS SQL, Sybase, Oracle, other popular RDBMS, KDB
- Networking: TCP/IP, UDP, HTTP, FTP, SMTP, SSH, SmartSockets, Tibco RV, Solace, security
- Finance: algorithmic trading, HFT (high frequency trading), equity, futures, FX, FIX, Market Data (Reuters, Wombat); Interactive Brokers API; cTrader/cAlgo/cBot; MQL4
04/2011 - present: 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
- 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
- Automated backtesting
- Various scripting activities for testing, deployment and support purposes
- 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
- Risk scheduling
- Automated performance and functionality testing
- Framework feature development and bug fixing
- 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 (Java/Perl/PHP), with multi-lingual interface and heavy usage of XML/XSLT. Handling of very large database of processed log data (more than 50G per year) in Oracle and then in MS SQL.
- 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)
- Technology evaluation and general design. Development of the new system using Java servlets on Tomcat, XML/XSLT, ArcIMS 4.x and ArcSDE, with emphasis on security, functionality, extensibility, multi-lingual support.
- Development of the PhotoGIS site (Apache/PHP/MS SQL/ArcIMS 4.x/ArcSDE) - web access to the HUJI photo archive with GIS functionality, with a back-end application for data entry.
- System and database setups, including Windows 2000, Apache HTTP server, Tomcat servlet engine, MS SQL server.
04/2000 - 08/2000: EZFace Ltd. [Israel] - Senior unix administrator and software consultant [contractor]
- Creation of the first version of the company's web site, company's IT infrastructure locally and remotely, system design and setup tasks.
- Design, development and setup of company's IT infrastructure and internal protocols
- Linux servers administration, including Apache installations, configurations and tuning, QMail, SSH, PHP, MySQL - configuration, administration etc. Development of necessary Perl/shell system scripts and mail filters.
- Resolving hosting issues with US-based providers - troubleshooting, remote installations, configuration and administration of web servers.
- 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.
- Development of the site in PHP, utilizing HTML/DHTML/CSS, MS SQL server as the database back-end.
- Customization of the GIS viewer, implemented as a Java applet.
- Development and modification of Avenue scripts for the ArcView IMS server.
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.
- 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 (basic)
Hobbies and interests: History and general reading, philosophy, social science, fitness, bicycles, swimming
Recommendations: provided upon request