Python Developer in Melbourne, Victoria, Australia
Vice President Software Engineering2017 - 2019CitiBank
Technologies: C#, Python, Java, Spark, Elasticsearch, Spark, Linux
- Designed and developed a big data-driven solution for a trading desk using an existing Python, Java, and Hadoop-based system.
- Coded predictive analytics based on high-speed user data for better trade management.
- Created a new API for downstream systems for analytics.
- Enhanced the existing platform, fixing bugs and integrating test-driven development into the system for better uptime.
- Built a Django-based website.
Freelance Python Developer2018 - 2018Futura.ai (via Toptal)
- Designed and developed a Python-based back-end.
- Deployed on AWS.
Software Engineer2016 - 2018Alphadyne Asset Management
- Designed mathematical trading algorithms.
- Developed and maintained visualization layers for easier decision-making on the trading floor.
- Designed solutions for cross-communication between various systems written in C, Erlang, Python, R, and C#.
- Supported a C# WPF-based desktop application.
- Evaluated technologies such as AWS, Kubernetes, etc.
Risk Analyst and Developer2014 - 2016GIC Private, Ltd.
Technologies: Python, C#, SQL, VBA
- Created a fully automated batch reporting and analytic engine for weekly and monthly reports. The analytical layer is written in Python with Pandas, NumPy, and SciPy API. The analytical engine is linked with various front-ends like Excel (using some VBA) and TIBCO Spotfire. The VBA front-end was written by me.
- Built an internal website using a Python Django-based web framework to enable users to view the reports.
- Wrote utility apps using C# to provide the operations team with the ability to encrypt and decrypt their credentials and read the configuration file from Excel to run on-demand jobs.
- Developed Fix-Engine in Erlang.
- Built a market data framework using RabbitMQ.
- Supported a C#-based GUI.
Front-office Developer2012 - 2014Standard Chartered Bank
Technologies: C++, Haskell, Erlang
- Worked on a web framework to display reports and market data.
- Understood the procedures followed daily by the energy traders sheets (contract rolling, vol-marking, etc.) used by various traders to provide a better automation process using VBA, C++, and Haskell scripts and faster response time.
- Developed a framework to be used on top of the Excel development SDK for creating an easy-to-use Excel add-in with C/C++. The add-in uses market data APIs from Reuters and Bloomberg. The whole package uses various design patterns for creating efficient and reliable code.
- Did end-to-end development involving the creation of an installer using NSIS and an open source Haskell library (NSIS). Wrote automated scripts to fully automate the deployment process.
Front-office Quantitative Developer2011 - 2013ANZ Bank
- Created bond pricing and inflation-linked instruments and developed an interest rates library.
- Developed software written mainly in C++ and MS SQL (interface with Excel and C#) for ANZ, which runs across four geographical areas (London, Sydney, HK and Singapore). Handled all the new development and supported the project alone.
- Developed a graphical browser application in C#. Wrote scripts in Python that are callable by C.
- Built robust regression tests for implementation of the quant library across various asset classes.
Software Engineer2008 - 2010IBM India
Technologies: SQL, Python, C++
- Wrote Python and C++ scripts for building small utility programs.
- Prepared technical and functional specification for business objects for an oil company.
- Developed a business application in SQL and VBA.
- High-Speed Database (Development)
The project, for a hedge fund, involved creating a fault-tolerant database for a live currency feed. The challenging part of the project was that it needed to be both fast and fault tolerant. That's where Erlang played a pivotal role for us (two developers). We used Erlang's built-in Mnesia with some clever optimizations and linked them with PG-SQL. The result was a brilliant piece of proprietary code with stability, scalability, and speed.
- Risk Reporting and Analytical Framework (Development)
This project, for a famous wealth fund, involved creating a reporting framework with Oracle in the back-end, Python (Pandas, NumPy) for analytic functions and data cleaning layer, and Tableau, TIBCO Spotfire, Excel, and a web service (Python-Django) for the front-end. The framework is entirely designed and maintained by me.
- Monte-Carlo Simulations (Development)
Designed a Monte-Carlo method to price various kinds of exotic and plain vanilla options using variance reduction techniques such as antithetic variables, control variables, and Brownian-Bridge to get more accurate results.
- Physics Exam Preparation Site (Ruby on Rails) (Development)
- Singapore Rental Analytics (DC.js and Flask) (Development)
Server --> Python-flask
- Personal Website (Development)
My personal website, built with python-flask, DC.js, Vue.js, and RxJS, which runs on my local desktop.
FrameworksDjango, AngularJS, Windows Presentation Foundation (WPF), Ruby on Rails (RoR)
ToolsEmacs, Git, Vim Text Editor, Grunt, Microsoft Visual Studio, Subversion (SVN), MATLAB
ParadigmsConcurrent Programming, Functional Programming, Object-oriented Programming (OOP), Agile Software Development
StorageJSON, PostgreSQL, Mnesia, NoSQL
Libraries/APIsReact, jQuery, Pandas, wxWidgets
- Microsoft Certified Professional in C#2017 - 2025Microsoft - Online
- Master of Science degree in Financial Engineering2011 - 2012Nanyang Business School - Singapore
- Master's degree in Computational Finance2011 - 2012Carnegi Mellon Tepper school of business - Pittsburg
- Microsoft Certified DeveloperMAY 2017 - PRESENTMicrosoft