My Experiences & Projects

Download Resume
“The more man mediates upon good thoughts, the better will be his world and the world at large.” Confucius

Technologies

Comfortable with

  • JavaScript/TypeScript
  • Python
  • Bash
  • Kubernetes
  • Docker
  • GIT Version Control
  • Windows & Linux

Experience with

  • C
  • Java
  • SQL
  • HTML5 & CSS3/SASS
  • Full Stack Development: AngularJS - Flask - Jinja2, ReactJS - NodeJS
  • Native Android Development
  • CI/CD: GitLab, Jenkins, TravisCI
  • Infrastructure as Code: Ansible, Terraform
  • Cloud Platform: Ormuco IaaS, AWS
  • OpenStack

Work Experiences

Backend Developer

Mercantile Financial Technologies Inc. , Montreal, CA, July 2021 – Present

Successfully delivered the MVP and implemented an identity decisioning service. Integrated the system with third-party SDKs for check issuing, credit reporting, and accounting services. Actively participated in design meetings and develop new features.

Full Stack Developer

Ormuco Inc. , Montreal, CA, January 2020 – July 2021

Designed and built backend microservices in NodeJS with TypeScript for a virtual operating system and integrated them with Cloud services. Developed frontend features in ReactJS and managed production-ready Kubernetes clusters. Created CI/CD pipelines in GitLab for all microservices.

Full Stack Developer Intern

Ormuco Inc. , Montreal, CA, February 2019 – December 2019

Worked in a fast-paced environment with passionate developers to develop and maintain Ormuco's IaaS (Infrastructure as a Service) platform. Enhanced my JavaScript skills and learned AngularJS, Flask, Jinja2 and SASS through this experience. Worked to improve the Ormuco IaaS platform UI, to improve existing features and to add new features to the platform such as Workflow as a Service (OpenStack Mistral). Worked largely with OpenStack products and performed QA/UAT testing.

System Administrator DevOps Intern

Broadsign International Inc. , Montreal, CA, September 2018 – April 2019

Investigated different logs aggregation/processing tools and created a proof of concept for centralized logging management solution using AWS CloudWatch. Implemented functionality to dynamically create CloudWatch agent configuration files per environment and projects using ERB templates and Chef. Wrote Terraform and Cloudformation scripts to provision AWS resources.

Software Developer DevOps Intern

Ericsson Canada Inc. , Montreal, CA, January 2018 – April 2018

Provisioned virtual machines in staging environment with Ansible. Created and set up Docker containers for functional tests. Wrote Jenkins 2 declarative pipeline scripts (groovy) to automate builds and deployments. Wrote bash scripts to automate the generation of daily reports for the overnight load test results and publish them on Discousrse via their API.

Software Engineering Intern

Bombardier Transportation Canada Inc. , Montreal, CA, May 2017 – August 2017

Worked with a group of interns using Scrum methodology to develop a CLI tool in Python to automate the deployment of train softwares and operating systems in AZUR metros. Created a Grafana dashboard to show metrics for team productivity. The data was obtained from JIRA via REST API and stored in MariaDB.

Personal Projects

Komeet (On-Hold)

Komeet is Web app that allows you to organize events with friends. In other words, a modern version of when2meet.


Tools used: ReactJS, Ant Design, NodeJS, ExpressJS, TypeScript, MongoDB
View Frontend Project on GitHub, View Backend Project on GitHub

WebsiteWatcher

WebsiteWatcher is a Python Command line tool that watches a website and notifies the user via email or sms when the watcher condition is met. It's useful for tracking lists or values on the internet, e.g. New items, Price changes, etc.

Tools used: Python3, Selenium WebDriver, Beautiful Soup 4, Twilio Email/SMS API, Tox
View Project on GitHub

YoutubeStopwatch

A chrome extension that is used to help users plan, monitor, control their YouTube usage. Essentially, it prompts the user for an estimated time they want to spend on Youtube and sends a notification when the time is up. The user can choose to leave or continue watching videos but there will be a gradual blur applied to all videos. This was done as part of a school project (Human-Computer Interaction).
The chrome extension is available here: Download Extension

Tools used: HTML5, CSS3, Javascript, JQuery, Chrome APIs, Chart.js
View Project on GitHub

MobSlayer

Native android mobile game where the player's only task is to eliminate monsters (shamelessly stolen) from MapleStory. As they level up, players will acquire new skills, unlock new maps and encounter new monsters. If the player is lucky, they will encounter a boss. This was initially made as a joke but it turned out to be quite fun and a good experience.

Tools used: Android Studio, Java, GSON
View Project on GitHub

Education

Bachelor of Software Engineering

McGill University, Montreal, CA, September 2015 – December 2019
Feel free to reach out and start a conversation!