15 years
  • Developing and designing Python applications & libraries

  • Developing test automation solutions.

  • Working in culturally & geographically diverse environments and teams.

10 years
  • Designing and maintaining software configuration management systems.

  • Leading development and quality assurance teams to build, deploy and release backend, web & mobile applications.

  • Maintaining and contributing to open source projects.

4 years
  • Developing C++ applications & libraries.

  • Building Ruby/Ruby on Rails applications.

  • Developing and maintaining Java server applications.

  • Reddit , Burnaby, Canada
    Senior Software Engineer November 2020 - March 2022
    Backend application development in the Anti-Evil (Safety) team

    • Extraction of reporting functionality into an isolated service exposed to the clients through GraphQL

    • Built i18n support for the reporting service which was then adopted by various other services.

    • Worked on automated classification of spam content

    • Worked on solutions for detection & filtering of harassment and toxic messaging

    • Optimization of test suites to improve code coverage

    • Optimized API performance of comment listing

    • Migrated services from a puppet/vagrant based development environment to a production-parallel kubernetes managed workspace

  • Toptal , Remote
    Team Lead / Backend Software Engineer September 2017 - May 2019
    Participated and led the development of internal tools and APIs for community & talent acquisition features.

    • Implemented GraphQL API for mobile & web clients

    • Implemented bot functionality to interact with customers over Slack.

    • Optimized unit & integration tests to reduce time spent in continuous integration.

  • Honestbee , Singapore
    Director, Engineering January 2016 - April 2017
    Led the Devops, QA & Backend engineering teams in building an online grocery, food, home services delivery & concierge platform.

    • Managed & provided technical guidance to Devops & QA Engineering.

    • Led backend projects in Ruby on Rails, Golang & Elixir

    • Mentored junior engineers

    • Hiring and onboarding of the engineering team

  • Zopim (acquired by Zendesk) , Singapore
    Director of Engineering, Quality & Operations / Software Engineer October 2013 - January 2015
    Integrated development best practices in to the SDLC & contributed to server application development.

    • Implemented automated testing and continuous integration for Python & javascript applications.

    • Implemented the public REST API for the Chat Service.

    • Built a secure, segregated application & environment for credit card related payments.

    • Performed maintenance and feature development for a heterogeneous group of Python applications built on Flask, Django, Celery & Twisted.

  • mig33 , Singapore
    Director of Sustainability Engineering January 2012 - April 2013
    Director of Quality Assurance July 2010 - December 2011
    Built development operations capabilities within the engineering team. Led and developed the Quality Assurance and Release Management team for the mobile client applications and the services it relies on.

    • Transitioned & grew the engineering team after its move from San Francisco to Singapore.

    • Refined the development & release processes used by the server engineering teams.

    • Integrated & developed an automated & continuous build system complimented by automated testing.

    • Implemented a Python interface to the mig33 service with the primary motivation to provide a client independent interface for integration testing of the mig33 service.

  • Linden Lab , Singapore
    Senior Quality Assurance Engineer December 2009 - June 2010
    Senior member of a distributed core Quality Assurance team, responsible for qualifying the simulator & server applications supporting the Virtual World services provided by the Secondlife platform.

    • Conducted white box qualification of simulator server for major server releases.

    • Created automated load & performance tests for validating web services for both front and back end applications.

    • Built a framework around funkload to perform functional and load testing for web services. The framework was adopted rapidly into the development cycle and ensures early integration testing.

  • muvee Technologies , Singapore
    Senior Software Engineer (Quality Assurance) January 2008 - November 2009
    Software Engineer (Quality Assurance) May 2005 - December 2007
    Engineering lead for test automation, build & setup engineering for automated video editing applications and services.

    • Designed and implemented a scalable testing framework that exposes a unified model for testing from the unit to system level. Subsequently took the framework from a proof-of-concept into the production cycle and successfully incorporated an automation driven build acceptance process for the company’s flagship product.

    • Migrated the desktop application setup and deployment system to a customized solution that integrated into the development cycle. This resulted in a modular, source controlled manifest of deployment that allowed for automated continuous builds of all product variants.

    • Created a one-click build system and served as build-master for core product line and auxiliary applications and services.

coredis : Async redis client with support for redis server, cluster & sentinel.

Flask-Limiter : Rate-limiting extension for Flask

limits : Rate-limiting utilities for python

jira-cli : Yet another jira command line interface.

holmium.core : Page objects & Utilities for writing selenium test cases.

hiro : Time manipulation utilities for Python

sifr : Eefficient windowed counters for python.

flutter : Intelligent test selection based on code changes

  • Invited to speak at the Google Test Automation Conference (GTAC), 2007 in New York, USA.
    Presentation: muvee Framework for Autonomous Testing (muFAT)

  • Invited to speak at the Research in Motion Test Automation Conference (RimTAC), 2008 in Waterloo, Canada.
    Presentation: muvee Framework for Auto[nomous/mated] Testing (muFAT)

Bachelor of Engineering, McGill University, Montréal, Canada Fall 2004

Major: Computer Engineering
Concentrations in Human Computer Interaction & Software Engineering Practice.

Minor: Management Studies

Highlights

Software Engineering & Quality Assurance
Programming Languages

C, C++, Java, Python, Go, Perl, PHP, Ruby, Elixir & JavaScript.

Test Automation

Funkload, Locust, Tsung, Selenium.

Application Development
J2EE

JBoss & Spring Application Framework

Web Development

Python web frameworks (Django, bottle, Flask, Pyramid, Falcon, Twisted & Tornado), PHP & Ruby on Rails.

Databases
Relational

MySQL, Postgres & SQLite

noSQL

Redis, Cassandra, Couchbase, MongoDB & Riak.

Caching

Redis, Memcached & Mcrouter

Search

Elasticsearch, Fusion & Solr

Message Brokers

RabbitMQ, Kafka & ZeroMQ.

Software Configuration
Version Control

Git, Mercurial & Subversion (I’m old enough to have used CVS and SourceSafe)

Continuous Integration

Drone, Jenkins/Hudson, TeamCity, Travis.

Deployment

Spinnaker, Fabric, Chef, Puppet, Salt & Ansible.

Containerization

Docker, Tilt & Kubernetes.