Ali-Akber Saifee
Turn up the signal. Wipe out the noise. Send out the signals, deep and loud." - Peter Gabriel
Professional Experience
-
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.
-
Open Source Projects
-
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
Conferences
-
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)
Training
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
-
Created the speech interface of an automated door attendant using open source technologies ( Sphinx ) developed at CMU.
-
Designed and fabricated an autonomous obstacle avoiding vehicle using PIC microcontrollers .
-
Augmented a table tennis game into a virtually immersive environment - playable solely through gestural interactions with the system.
-
Toolkit
- 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, Github Actions, Jenkins/Hudson, TeamCity, Tilt & Travis.
- Deployment
-
Spinnaker, Fabric, Chef, Puppet, Salt & Ansible.
- Containerization
-
Docker & Kubernetes.