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.

4 years
  • Developing C++ applications & libraries.

3 years
  • Developing and maintaining Java server applications.

  • Building Ruby/Ruby on Rails applications.

  • Reddit , Burnaby, Canada
    Senior Software Engineer November 2020 - Current
    Backend application development for the Trust & Safety

    • Performance optimization of comments API

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

    • Built i18n support for the reporting sub-system

    • Worked on automated classification of spam content

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

  • 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 reference Python client library to the mig33 service to provide a client independent interface for integration testing.

  • 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.

  • 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, PHP, Ruby, Elixir & JavaScript.

Test Automation

Funkload, Locust, Tsung, Robot Framework, Selenium.

Application Development
J2EE

JBoss Application Server (4.x, 7.x) & 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, Couchbase, MongoDB & Riak.

Caching

Redis, Memcached

Search

Elasticsearh & Solr

Message Brokers

RabbitMQ, Kafka & ZeroMQ.

Software Configuration
Version Control

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

Continuous Integration

Drone, Jenkins/Hudson, TeamCity, Travis.

Deployment

Fabric, Chef, Puppet, Salt & Ansible.

Containerization

Docker & Kubernetes

Authored

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

pyutrack : Python SDK / CLI for youtrack.

djlimiter : Rate-limiting middleware for Django

sifr : Eefficient windowed counters for python.

nosedbreport : Nose plugin for recording test results to a database.

rieapie : Generic REST api wrapper for Python.

Contributed

Funkload : a Python library for performing functional and load testing of web services.

multi-mechanize : Performance and load testing framework.

Fabric : an ssh enabled Python tool for performing application deployment and distributed systems management.

PyOGP : a set of Python modules for interacting with OGP enabled virtual worlds.

  • Helped my father develop a free school for financially impoverished children living in the rural slums of Karachi, Pakistan.

  • Performed community service at various non-profit organizations in Pakistan including a mental health hospital, a rural development program, a urology hospital and a school for aurally & visually impaired children.

  • Worked, lived & played in various cultures and environments spanning Africa, North America & Asia.

  • Inappropriately good sense of humor.

  • Co-caretaker of one human, and three feline infants.