I am a highly skilled software engineer with 10 years of commercial experience. My core skills are object oriented C/C++ programming on Unix/Linux platforms and Python. I am technically open-minded, pragmatic and analytical. I like facing challenging problems and I have also strong technical teaching abilities. I can adapt very quickly to new technologies and/or environments. I am also familiar and proficient with many other programming languages.
My past and recent studies and previous employments have further developed strong technical skills. I wish to improve them in various innovative and future oriented environments, whilst sharing them and my experience with other collaborators. I also have experience of technically leading very small groups of developers.
Technology is what drives me forward.
Specialties: Artificial Intelligence, Object Oriented Design/Programming, C/C++, Python, Linux/UNIX,
Software Developer @ From March 2015 to Present (9 months) London, United KingdomC++ Developer (Contract) @ From April 2013 to February 2015 (1 year 11 months) London, United KingdomC++ Developer (Contract) @ BARX FX Trade Capture
Hired as a C++ developer on the FX e-comerce team. The team provides an integrated suite of front-to-back technology for pricing, trade capture and risk management for external clients, sales, traders and risk managers. The firm has won numerous awards in FX, ranging from ecommerce to complex derivatives.
The main object of this mission is to specify, design and implement integrated solutions for the complete replacement of the trade booking management system, and adding amendment functionalities post-booking entry.
Advanced C++ on Linux, using STL and Boost
Multi-threaded server, high concurrency
Perl scripting
Python scripting
Version control using ClearCase From September 2012 to March 2013 (7 months) London, United KingdomAssociate - Software Engineer @ Hired as a C++ developer on the Autotrading platform within the Equities technology team. The technology team own and support the firm’s Autotrading framework and work alongside the Quant teams on the Equities trading floor to bring new strategies to market and to constantly evolve the portfolio of algorithmic offerings of the firm.
High-frequency trading requires a stable, scalable, low-latency, high-throughput framework. this implies a heavily multi-threaded environment and requires very strong technical skills. A minor optimisation sometimes has a big impact on the P&L of the team.
Software components written in C++ with heavy use of BOOST, C++0x and openMP standards. Running/maintenance scripts written in POSIX shell and/or Python languages.
Technical leadership (3 people) in the domain of historical back-testing data
Requirement extraction/specification in close relationship with the quantitative developers.
Market data connectivity (Wombat, Reuters) and centralisation
Static data reconciliation from several sources, persistence in IBM DB2 database
Tick data recording using custom format for space efficient storage and importing from several tick data suppliers (NYSE TAQ, Wombat data...)
Multi-threaded applications (exchange order gateways, high availability near and remote caches for static data) using pthread, synchronisation via mutexes, semaphores and condvars.
Event-driven application development using custom developed event generating data objects.
Development of simulation and back-testing tools
Low-level shared memory based IPC
High-frequency, high-throughput, low-latency messaging, compressed binary data over sockets.
Java / C++ components interfacing using JNI and/or binary data over sockets
C++ and C# code generator written in C++ using XML as input.
Implementation of a build/release system in Ruby/Rake
Process and job schedule for automated environment startup and shutdown.
3rd line support for the Autotrader From January 2010 to August 2012 (2 years 8 months) London, United KingdomC++ Developer @ Hired as a C++ developer, one of my key assignments was to be part of the Betfair poker platform refactoring team. The poker platform has been acquired by Betfair after buying a start-up company and had to be re-engineered in order to make it more secure, efficient and scalable.
I've also been involved in the design and development of a public API for the Betfair poker platform, involving technical management over external subcontractor collaborators.
Another key achievement was the design and development of a fully automated test framework in Python, introducing continuous integration for the poker platform and dramatically increasing QA throughput.
Later on, I was assigned as a Java developer in order to reinforce Betfair Sport Platform development team. My team's task was to improve efficiency and scalability of Betfair's core betting exchange product, in a high frequency, multi-threaded, secure environment, as well as developing internal libraries to improve developers productivity. From February 2008 to January 2010 (2 years) London, United KingdomSoftware Engineer @ Software developments for several customers in IT services provider specialized in aeronautics. Key member of several project teams. Numerous onboard real-time applications, with highly critical quality matters. Several fields of application, from submarines supervision to helicopter cockpits. Various managed tasks from design to integration testing. Responsible for software version control tools administration in most projects.
■Mission for THAV (THales AVionics): Research department - Cockpit demonstrator
◦Distant synchronization library development (Windows, C)
◦Linux portage of several libraries (C, C++, Autoconf, Automake)
■Mission for THAS (THales Airborne Systems): IFE (In Flight Entertainment) software test bench development
◦Linux kernel hacking (system calls spying)
◦Specific hardware emulation (Linux kernel modules)
◦Code generator development (C++, Flex/Bison)
◦C and Python languages interfacing
◦Organisational and timesheets software development (Php, MySQL, Perl)
■Mission for DCNS: Ship onboard supervision software – R&D department
◦Onboard data server/clients development (Delphi, OPC, Windows)
◦Onboard nuclear submarine (SNG4 « Le Terrible ») alarms manager (Delphi, Windows)
◦Real-time supervision kernel (C++, Windows)
◦Fluids spreading and electric current algorithm (Delphi, Windows) From July 2005 to January 2008 (2 years 7 months) Bordeaux Area, FranceTeaching assistant @ Teaching system programing (C/UNIX) and object oriented programing (C++, Java, OCaml) to software engineer students. From January 2004 to December 2004 (1 year) Paris Area, France
MSc, Space Technology & Planet Exploration, Merit @ University of Surrey From 2011 to 2013 MSc, Cognitive Sciences and Advanced Computer Science @ EPITA: Ingénierie Informatique From 2000 to 2005 Tristan Lanfrey is skilled in: Software Development, Python, Java, C++, Multithreading, Algorithms, C, STL, Databases, Shell Scripting, Agile Methodologies, Ruby, Technical Leadership, Artificial Intelligence, Continuous Integration