.NET/Java developer2015 - PRESENTHFT Ltd (Chronicle Software)
Technologies: TCP/IP, Windows, Linux, GitHub, Git, TeamCity, C#, .NET, JNI, Java
- Developed a .NET API for an existing Java server.
- Fixed bugs and developed new features for the Chronicle software components.
Quantitative Analytics Developer2014 - PRESENTBarclays Capital
Technologies: Windows, Standard Template Library (STL), Boost, C++
- Developed and supported new features in BC's massive rewrite of the quantitative libraries (QA) responsible for pricing, risk, modeling, etc., across all asset groups.
Algo Trading Developer2011 - 2014Morgan Stanley
Technologies: Kdb+, Automated Tests, Perl, Python, Boost, Standard Template Library (STL), C++
- Developed and supported the algorithmic trading platform at 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.
- Built the system to handle special market conditions (auctions, restriction/compliance rules, limited trading duration, and special trading days) and special data (tick sizes, lot sizes, and market data conditions).
- Ensured that the system could handle user-specific requirements for special engine behavior.
- Implemented automated regression testing (C++, Perl, Python) and backtesting (Python).
- Conducted various scripting activities for testing, deployment and support purposes (Python, Perl).
FX Trading Developer2010 - 2010Standard Chartered
Technologies: Solace, Python, C++
- Developed the FX trading platform (green field development). Utilized complex code generation, message serialization, message exchange via Solace, and centralized caching and persistence. Featured FX spot, forwards, and swaps.
Smart Order Routing Developer2009 - 2010Credit Suisse
Technologies: Windows Communication Framework (WCF), .NET, Visual Studio 2008, C#, Solaris, C++
- Deeply involved in developing the SOR for equity world. Main focus on European markets.
Algorithmic Trading Team Lead2006 - 2009Barclays Capital
Technologies: XML, Financial Information Exchange (FIX) Protocol, Oracle, Microsoft SQL Server, C#, Memory Management, Boost, C++
- Provided technical and administrative leadership.
- Managed the ex-Lehman integration project (LMX/BARX algos merge).
- Led the SOR (Smart Order Router) development and deployment in Europe.
- Oversaw the ex-Lehman market data component integration and in-house MD development.
- Created functionality, stability, and performance improvements in algorithmic trading and exchange connectivity components of the proprietary trading platform (XTP). Provided front office support, including solving live trading issues.
- Developed core algorithmic components (C++), including a multi-threaded application for order processing. It works on very high throughput, low latency, and safe recovery in case of a crash. Overall performance increased at least tenfold, with some critical paths gaining even higher improvements. Introduced better scaling and robustness via load-balancing.
- Worked on improving different aspects of basket trading (FTSE, S&P500 and other indices), including some GUI work and server-side performance analysis and fixes.
- Developed specific trading algorithms (C#), trading GUIs (C#), and other applications. Worked on VWAP, Pairs trader, and other algorithms.
- Liaised 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). Worked on mapping for different exchanges, detection of trading status (Auction, Continuous etc.), detection of block trades (OTC) where not available directly from the feed. Worked on performance of the component and detection of suspicious/bad data.
- Gained valuable exposure to different aspects of trading beyond immediate duties, including FIX, static data management, and exchange connectivity issues.
- Actively participated in hiring/training of new employees, including CV screening, interviews, and participation in the decision-making process.
- Gained business exposure in equities, FX, futures, algorithmic trading, Reuters, Wombat, and FIX.
Developer2005 - 2006Rule Financial Ltd.
Technologies: Excel Add-ins, Excel VBA, Multithreading, Boost, C++, Visual Studio .NET
- Contributed to the Deutsche Bank Autobahn project, including design and development of an interface between a derivatives/FI trading platform and Excel.
- Created a solution based on a multithreaded data loader module implemented in VC++ using Boost libraries, XLL API and Excel COM+ automation for call-back infrastructure.
- Involved in Beauchamp Financial Technology Ltd. (software house for hedge funds) FIX tools design and development.
- Built a prototype for .NET OO API to TDP (Trading Platform System) using UML and initial implementation.
Senior Software Developer2004 - 2005FIS Software Ltd.
Technologies: COM+, Microsoft SQL Server, Oracle, MQSeries, Perl, Solaris, GCC, Microsoft Visual C++
- Developed the pensions and investments administration version of ALIS for Fidelity, individual risk and investment version for Capital Alliance (SA). 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.
- Designed and implemented new business processes, bug fixing, and support for existing modules.
- Introduced new technologies and approaches into the project as well as fixing some long outstanding major problems in crucial places in the code.
- Developed the existing MQ infrastructure. Introduced configurable log4j-like logging into the system.
- Dealt with a Unix build environment, porting code between Unix and Windows platforms, stability, and quality of the Unix port.
- Delivered lectures, training, and help documents in the fields of my expertise to colleagues.
Senior Software Developer2000 - 2004Ministry of Finance [Israel]
Technologies: TCP/IP, SSH, Windows, Linux, Java, Perl, C++
- Conducted software development in the e-Government Internet security team (TEHILA project).
- Involved in the full development life cycle, supervising a team of 1-2 junior developers.
- Designed and developed a highly secure web site for the US government loan guarantees on-line auction.
- Developed a framework for incident tracking and intrusion detection, with data mining abilities and abuse mail system (Java/Perl/PHP), multi-lingual interface, and heavy usage of XML/XSLT. Handled a very large database of processed log data (more than 50G per year) in Oracle and then in MS SQL.
- Oversaw specifications 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.
- Reviewed and hardened websites from a security point of view.
- Developed a highly scalable website for the municipal elections results (C# and Office/OWC API).
- Developed an internal web interface to a local paging services provider.
- Conducted complex administration tasks, including installation of databases (Unix/Windows), Apache and IIS HTTP servers, Tomcat servlets engine, mail servers, and more. Adminstrated MS SQL, MySQL, and PostgreSQL.
- Developed mail filters and system scripts in Perl.
- Designed and implemented an application for prevention of mail bombing in C++ for Sendmail (MILTER API). The filter handles hundreds of thousands of e-mails per day.
- Implemented 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.
Software Engineer2001 - 2003The Hebrew University [Israel]
Technologies: Microsoft SQL Server, Apache HTTP Server, Java
- Contributed to Phase 2 of the BioGIS project (see below).
- Evaluated technology and general design. Developed the new system using Java servlets on Tomcat, XML/XSLT, ArcIMS 4.x, and ArcSDE, with emphasis on security, functionality, extensibility, and multi-lingual support.
- Developed the PhotoGIS site (Apache/PHP/MS SQL/ArcIMS 4.x/ArcSDE) with web access to the HUJI photo archive with GIS functionality, with a back-end application for data entry.
- Set up the system and database, including Windows 2000, Apache HTTP server, Tomcat servlet engine, and MS SQL server.
Senior Unix Administrator and Software Consultant2000 - 2000EZFace, Ltd.
- Created the first version of the company's website, local and remote IT infrastructure, system design, and setup tasks.
- Designed, developed, and set up the company's IT infrastructure and internal protocols.
- Administrated Linux servers, including Apache installations, configurations, and tuning, QMail, SSH, PHP, and MySQL, including configuration, administration, etc. Developed necessary Perl/shell system scripts and mail filters.
- Resolved hosting issues with US-based providers, including troubleshooting, remote installations, configuration, and administration of web servers.
- Recruited new employees for the company, including interviews and practical tests.
Senior Software Developer1998 - 2000The Hebrew University [Israel]
- Developed BioGIS, a GIS-based web project. The project's goal was to provide an easy access to numerous bio-diversity data sets, assembled by the university and external research.
- Developed the site in PHP, utilizing HTML/DHTML/CSS, and MS SQL server as the database back-end.
- Customized the GIS viewer, implemented as a Java applet.
- Developed and modified Avenue scripts for the ArcView IMS server.
Software Developer1998 - 1998Prudence Software Ltd.
Technologies: Windows, CVS, Microsoft Foundation Class Library (MFC), C++
- Developed and supported a large software project written in Visual C++ in the field of electro-simulation tools (electron gun calculations, laser scattering, etc.) Improved performance and memory utilization of the central mesh building algorithm by applying a more suitable numerical method for LU decomposition. Developed the existing end-user interface (MS VC++, MFC) and its interconnections with other parts of the software.