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 , Remote
    Senior Software Engineer November 2020 - Current
    Backend application development for the Consumer Safety team

    • Optimized API performance of comment listing

    • Participated in extraction of reporting functionality to GraphQL backed microservice

    • Implemented circuit breakers to protect highly visible users from abusive 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

  • Carousell , Singapore
    Senior Software Engineer February 2015 - August 2015
    Developed data warehousing and analytics processes & applications.

    • Implemented a messaging workflow around Apache Kafka.

    • Introduced a process for batch processing and performing data analysis using Google BigQuery.

    • Implemented a product recommendation engine.

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

    • Authored the public REST API for the Chat Service.

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

  • Viki , Singapore
    Director of Test Engineering May 2013 - September 2013
    Acted as a hybrid Test Engineering & DevOps lead to assist with the migration and transitioning of the legacy monolothic Viki application to a self hosted, distributed and decoupled group of services.

    • Built an infrastructure management system to manage core services.

    • Transitioned core services from cloud providers to dedicated hosting.

    • Migrated video encoding services from SaaS providers to a hosted environment.

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

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

Test Automation

Funkload, Locust, Tsung, Robot Framework, Selenium, Multimechanize, IBM Rational Rose & Robot, Compuware TestPartner & QARun.

Software Analysis

Code profiling and coverage WinDbg, Compuware DevPartner, Istanbul, Coverage.py & Sonar in C++, Python, PHP, Javascript & Java.

Application Development
Microsoft Windows

MFC, Visual C# , VB & .NET 3.0 WPF 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

Still looking for a good title

Redis, Mem[cache/base], Hadoop, ElasticSearch, BigQuery & Riak.

Message Brokers

RabbitMQ, Apache Kafka & ZeroMQ.

Software Configuration
Version Control

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

Continuous Integration

Jenkins/Hudson, TeamCity, TravisCI, Kinook Visual Build & MSBuild.

Packaging

Maven, Ant, Nexus, Windows Installer SDK & Windows Installer XML (WiX), Macrovision InstallShield, NullSoft Scriptable Install System, Debian & RPM packaging.

Deployment

Fabric, Chef, Puppet, Salt & Ansible.

Documentation

Doxygen, Sphinx & T e X.

Miscellaneous

Tinkering with Linux variants. Programming for fun.

Authored

Flask-Limiter : Rate-limiting extension for Flask

pyutrack : Python SDK / CLI for youtrack.

djlimiter : Rate-limiting middleware for Django

limits : Rate-limiting utilities for python

sifr : Eefficient windowed counters for python.

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

hiro : Time manipulation utilities for Python

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

jira-cli : Yet another jira command line interface.

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.