Principle Architect
2017 - PRESENTHomelyfe- Built several RESTful C# ASP.NET Web API services to allow quoting, purchase, management of insurance policies for consumers. Deployed to Azure, using EntityFramework to query and update Azure SQL Server.
- Designed and built a pricing engine web API in C# ASP.NET accepting customer attributes and returning an insurance premium. Large static tables of data retrieved from Azure Blob and Table storage and cached in memory efficient data structures to provide ~3ms response time. The completion of the project allowed a home insurance product to launch on time following the failure of a third-party API. The Pricing Engine web API involved complex calculations that needed to be correct and very reliable. This was achieved by decomposing the calculation into components and unit testing each possibility separately, then writing code that combined these individual tests into a full regression test that could be run against the service.
- Designed and built an inference engine web API in C# ASP.NET Core to pre-fill answers to questions based on previous answers. This enabled the technical delivery of the Homelyfe mission, "insurance made easy." Dramatically reduced the cost of quoting and marketing by replacing third-party APIs while improving accuracy.
- Mentored junior developers.
Technologies: REST, Entity Framework, F#, Microsoft SQL Server, Web API, ASP.NET, Azure, .NET Core, C#Team Lead
2016 - 2016Silverbear- Developed Dynamics CRM plug-ins and interfaces via the API for extending the functionality of the core product.
- Built REST- and SOAP-based APIs for external systems to interface with our custom Dynamics CRM data model.
- Wrote C# integrations between Dynamics CRM and external third-party systems including Sage, Open Accounts, Exchequer, and Access Dimensions.
- Identified technical debt and formulated an incremental plan to re-factor.
- Sat on a company-wide technical architecture board to decide on best development tools and processes.
Technologies: SOAP, REST, Visual Studio Team Services (VSTS), Microsoft SQL Server, Microsoft Dynamics CRM, C#Founder
2015 - 2015Malbec Trading- Drove the business to provide investment advisory and management services for a specific client.
- Developed the full life-cycle of all systems, implemented primarily in C# .NET.
- Developed high reliability real-time signal generation, portfolio optimization, and trade execution systems.
- Built custom data compression algorithms to allow fast random access to large quantities of historical trade data (~10 billion ticks) from exchanges for back-testing tools.
- Created GPGPU machine learning optimization algorithms written in CUDA exploiting SIMD architecture to allow massively parallel evaluation of millions of trading strategies per second.
- Developed rich WinForm GUIs for data analysis and visualizations using a model-view-controller framework.
- Utilized custom statistical and cross-validation methods to address over fitting in machine learning algorithms.
- Built all systems on top of a functional reactive data flow programming library designed and implemented over the course of four years. Key features are the lazy and partial re-evaluation of nodes in the function composition graph and higher order functions allowing self-modification of the graph.
Technologies: CUDA, C#Developer, Research Analyst, and Portfolio Manager
2011 - 2015Callisto Asset Management/Solo Capital- Built a custom back-testing platform with emphasis on cross-validation to prevent over-fitting.
- Created tools to view, clean, aggregate, and update 18+ years of historical tick data.
- Built real-time automated trade generation and routing for the FIX engine for execution.
- Made and documented a scientific discovery of novel trading strategies using machine learning and statistical inference methods to maximize robustness.
- Produced many human understandable models diversified across time and market.
Technologies: Excel VBA, CUDA, C#Equity Derivatives Trader
2009 - 2011JP Morgan- Priced and hedged financial derivatives.
- Coded an Excel VBA system to construct and maintain a relative value arbitrage portfolio for single stocks vs. index options correlation positions.
- Implemented a correlation relative value arbitrage book.
- Built tools and conducted research projects to identify market inefficiencies.
Technologies: Tools, SQL, Excel VBASenior Developer
2007 - 2008Lehman Brothers- Enhanced features, extended functionality, fixed bugs, and maintained an extensive existing code base for systems providing risk and PnL numbers to traders and risk managers.
- Successfully improved speed and reliability of live data for a trading desk.
- Provided overnight support for extensive batch processing systems integrating with numerous internal and external counter-parties.
Technologies: Oracle, Sybase, SQL, Java 6, C#Co-Founder
2003 - 2007Magio- Designed and implemented bookings management software for hotels, conference centers, and activity centers.
- Led the development team working with a business partner.
- Created a C# ASP .NET web interface with SQL Server back-end allowing staff to make bookings, create invoices, print confirmations, and generate customizable management reports.
- Provided dynamic generation of HTML, CSS, and JavaScript to provide an early example of a rich web-based GUI.
Technologies: CSS, JavaScript, Microsoft SQL Server, C#, ASP.NETDeveloper
2002 - 2003Citigroup- Worked on systems providing risk and PnL numbers to traders and risk managers in equity derivatives.
- Provided overnight support duties for batch processing systems.
Technologies: Sybase, SQL, TIBCO, Perl, C++, Java, C#Developer and Researcher
1999 - 2002University of Bristol- Worked on an industrial sponsored research project as part of my final two years of a mechanical engineering degree.
- Modeled abstractions of the engineering design process that was used to organize and retrieve information about actual engineering projects.
- Implemented the project in Java using POET (an object-relational database mapping) with Oracle back-end.
- Continued to work on the project as a contractor for two years after graduation.
Technologies: Java