Senior Developer

Commercially experienced financial software development team leader, relying on both my existing skills and an ability to quickly adapt to new technologies as appropriate. Skilled in determining functional requirements for software development projects, designing appropriate software architectures, managing roadmaps and task backlogs, and implementing designs effectively with a team.

C/C++

Extensive experience with the C and C++ programming languages, particularly on Linux in low-latency and multi-threaded trading applications.

Java

Java software development, particularly integrating with web services and vendor APIs, using several JVM including Java, Scala, Clojure and Groovy, as well as monitoring, diagnosing and resolving Java runtime issues using jconsole, jvisualvm and jstack tools. Familiar with Maven and Gradle build tools, IntelliJ and Eclipse, and Spring, Reactor and Akka frameworks.

Python/Perl

Proficient in the use of Python and Perl for analytic, optimization, data and text processing applications in concert with Anaconda, pandas, NumPy / SciPy.

Over fifteen years of experience developing enterprise applications and scripting using Perl and Python, primarily with web-based projects and backend data feeds. Use of Perl in concert with DBI, mod_perl, Template Toolkit and Apache.

Database

Extensive use of Oracle, Sybase, MS SQL Server, SQLite RDBMS engines, via JDBC, ODBC and Perl DBI APIs, and sqlldr, bcp bulk-loading tools. Experienced writing robust ETL feeds that perform idempotent incremental, non-destructive updates to large datasets.

Linux

Proficiency with Red Hat, Ubuntu and Debian in enterprise environments, including configuration and scripting for hosting production services and development environments, and use of WSL and Cygwin for Windows integration and development purposes.

Source, Development & Monitoring Tools

Proficient in setup and troubleshooting of Azure DevOps projects and CI/CD pipeline configurations for automated builds, testing and deployment.

Experienced with Splunk, Grafana, AppDynamics tooling for metric collection, performance tuning and troubleshooting.

Experienced with Git, Perforce & Subversion for managing, branching and merging source code in large, global development teams.

Proficient with gdb, strace, ltrace, etc. for pinpointing runtime issues in software with or without source code.

Professional Experience

BlackRock

Vice PresidentAladdin DashboardAug 2023→New York, NY, US

Managed a team with one Vice President and one Associate direct report, developing enhancements to the Aladdin Dashboard trading blotter application, including technology stack upgrades to a web native Java 17, Spring 6.1 implementation.

Vice PresidentAladdin Order RoutingJun 2019→Aug 2023New York, NY, US

Development of Aladdin Order Routing product allowing Aladdin clients to self-service JavaScript automation rules for fixed income and foreign exchange trading workflows.

Managed and mentored team members incuding one Associate, several rotating Analysts, and three summer interns during their time on the team.

Morgan Stanley

Vice PresidentListed Sales & TradingApr 2014→Apr 2019New York, NY, US

Development of order management systems for the firm's equity sales and trading business, using C++14 for backend processes and Python for testing and analysis.

Handled development on distinct sales and trading applications covering the entire lifecycle from receiving client orders via FIX protocol, pre-trade order enrichment, routing to internal algorithmic trading engines, crossing facilities, and external exchanges. Implemented all relevant business and regulatory requirements for handling agency and principal orders, e.g. regulation SHO position keeping and order marking, regulation NMS checks for internal executions, and trade reporting.

Implemented a new compiler for configuration templating DSL using Java 1.8 Stream API, and ANTLR4 library, delivering a 10× speed increase over previous Perl implementation.

Bloomberg

Senior Research & Development EngineerSource Code GovernanceNov 2011→Mar 2014New York, NY, US

Managed and evangelized development tools including (Git, Subversion, Jenkins and Coverity) within the R&D organization, offering training classes and one-on-one consulting to front-line software development staff on recommended workflows. Wrote several Jenkins plugins in Java for automatic configuration of CI/CD pipelines.

Maintained custom build software for core terminal software, including developing new SCM checkin validation tests, and integration of diagnostic tools (GCC plugins, Coverity static analysis) into the build.

Multiply

Ecommerce DeveloperMay 2011→Oct 2011Boca Raton, FL, US

Implementation of payment methods for Multiply's new social commerce strategy with local banks, within large-scale OO Perl site using clustered MySQL persistence. Worked on internal developer tools and modernization of legacy codebase.

Barclays

Assistant Vice PresidentEquity Quantitative AnalyticsMay 2009→Aug 2010Orchard Road, SG

Implemented data feeds for ex-Lehman TAPAS (Trade and Portfolio Analytics Services) platform with NY-based team, focusing on stock and index/ETF composition data from Bloomberg, Sungard.

Wrote a general-purpose Bloomberg Back Office file parser/extractor for ETL re-write project which was adopted by the team, and wrote index composition feeds using Sungard FAME 4GL for S&P, MSCI index databases.

ManagerClient ResearchJan 2007→Apr 2009Orchard Road, SG

Enhanced customer-facing Client Research portal with an AJAX RSS consumer, and implemented syndication of research with Bloomerg & legacy Lehman Brothers research sites. Ported CGI pages to mod_perl, with custom Apache LDAP authentication module. Worked directly with the business to distribute research content to clients according to their regulatory requirements.

ManagerReference DataMay 2006→Dec 2006Orchard Road, SG

Lead development of BAU changes for Asset Control-based internal Reference Data platform components using Perl, Visual Basic and C++, on Sybase & SQL Server databases.

Worked with local Project Managers and technical staff to set up projects and work environments, participated in interviewing and onboarding new hires.

Corporate Express

Team LeaderSep 2003→Apr 2006Rosebery, NSW, AU

Extended NetXpress e-commerce site (through which the majority of 2004's $AUD1B revenues were generated) using mod_perl, Oracle 8i & 9i, XML, XSLT and Template Toolkit - using the ITIL framework for change management and service level assurance.

Ported legacy web-based stationery application to NetXpress, using PostScript templates & print-ready PDF output. Used & patched GhostPCL to provide customers with on-demand PDF invoice & return authority documents via NetXpress. Wrote PostScript fax templates for ERP system.

As Team Leader for four other developers, I mentored junior staff, and owned the relationship with business, providing reports of work progress and assisting with feature prioritisation.