Download PDF


Dec 2015Present

Software Developer


My role includes working with version control and issue tracking applications to meet customer requirements by providing software solutions for the telecommunication industry. On a continuous basis, I perform the following:

  • Investigate collaborate with peers to find the best way to implement solutions.
  • Review code to learn from more experienced programmers and make suggestions to improve software.
  • Inspect execution flow, refactor, and write tests as part of our test-driven development process.
  • Document development procedures for ease of access by other members and teams.
  • Present demonstrate my work to other teams and managers.
  • Train & mentor new hires of different seniority, and present architecture overview and code walk-through.

During my time at CENX so far, I have worked on two large scale customer projects where I had the opportunity to make contributions to all major components and libraries in our codebase. I wrote functions and namespaces for existing and new micro-services. I evaluated and reworked legacy code into a better performant oneI updated UI code to reflect the back-end functionality. Consequently, I became a subject matter expert on two major system components where I continue to maintain ownership and responsibility over related code repositories. Throughout this experience, I have worked with tools and services from the Clojure family (Clojure, ClojureScript, Datomic) and the Apache family (Zookeeper, Kafka, Solr, Cassandra, Spark). I have also been exposed to orchestration tools such as Docker as well as solving frequent problems by leveraging the Unix CLI and writing Bash scripts.



Scrum Agile          Enterprise Software          Git          JIRA          Clojure          Java          C          C++         Android  MATLAB          Python          Unix CLI          Bash          Datomic          Apache


Robotics          Real-Time Embedded Systems          Computer Architecture         Telecommunication


Sep 2011Nov 2015

B. A. Sc. in Computer Engineering

University of Ottawa


JanDec 2015

Project management


Intelligent Shading Systems - A network of autonomous and self-sustaining blinds units intended for home automation and consumer-controlled convenience. Responsibilities included developing a RF transceiver controller using C++ for full duplex communication between central unit and controller, porting a real-time OS on the local controller using C, evaluating mobile app UI, and managing a team of three students, which involved producing proposals, WBS, gantt charts, BOM, and presentations.  

MATLAB Scripting

- Image processing and robot arm manipulation in order to solve an object classification problem.

- Signal processing to filter out noise and extract information from audio files.

Mobile App Development

Developed a Java app for the Android platform which reminds users to take their medicine on time.

Computer Architecture

Designed a multi-core CPU and a GPU heterogeneous system to speed up C programs using OpenCL. Designed and Implemented a MIPS processor in VHDL on a FPGA board.

Systems Development

Scrum approach for programming an Arduino powered robot in C using FreeRTOS library for real-time embedded systems in order to produce a robot that mimics the behaviour of a Chihuahua dog.