Lead Developer2016 - 2016Clevertech
- Created a message-processing system that can scale to millions of messages per day.
- Migrated our message queue technology from Azure MQ to Amazon SQS.
- Mentored other developers on the team.
- Worked on a related front-end application based on React and Electron.
Senior Developer2013 - 2016Alberta Ministry of Education
- Developed a curriculum development application using Angular, C#/.NET, and SQL Server.
- Resolved various performance issues—primarily related to search and querying complex data.
- Participated in the Agile transformation of the team and the department.
Solution Consultant2010 - 2013DevFacto Technologies
- Delivered consistently successful software projects, sometimes under pressure.
- Provided technical advice to the clientc.
- Advocated engineering best practices like Agile to client teams.
Software Developer2008 - 2010Upside Software
- Developed new features and maintained the existing code base with a million lines of code.
- Provided technical support to implementation teams.
Programmer2007 - 2008Idea Market Design Inc.
Technologies: PHP/Joomla, Linux, SQL
- Developed new websites in the Joomla! Framework.
- Managed the Linux servers at the company and for some of our clients as well.
- Worked on a data gathering/processing initiative.
Programmer2005 - 2006Seneca College
Technologies: PHP, C, Linux, SQL
- Patched an open source network tool for a specific security problem that we faced.
- Developed a project management website.
- Managed server farms and wrote the corresponding documentation for them.
- Curriculum Development Application (Development)
I worked with a cross-functional team to develop an application digitizing curriculum development process. I was involved in all parts of the development process, and my main contributions included:
- Improving performance of a very complex search functionality.
- Creating a separate public-facing application to allow staged content publishing and a higher-performance consumer app.
- Modifying a TinyMCE editor to support math symbols.
Main technologies used: C#, AngularJS, SQL Server.
- Shipping Middleware (Development)
I led a team to develop a centralized back-end system for a shipping company. The system is made up of a collection of microservices written in Node.js and acts as a distribution center linking other applications and databases.
My primary contributions include:
- Scaling the system to handle millions of messages per day.
- Migrating our message queue technology from Azure MQ to Amazon SQS.
- Tune-logging to find the optimal point for debugging and performance.
- Diagnosing some product issues under pressure.
- Mentoring other developers on the team.
- Managed client inquiries and requirement changes.
Main technologies used: Node.js, Microservices, Azure Message Queue, AWS SQS.
- Google AI Challenge | Ants (Other amazing things)https://github.com/analyst74/aichallenge-ants
Developed a game bot to compete in an AI challenge sponsored by Google and ranked 57 out of 8,000+ participants.
Main technologies used: Python, Numpy, Cython, Algorithms Design.
- Soccer Field Search (Development)https://github.com/analyst74/rec-search
A simple tool to search for soccer fields in Toronto using a dataset from the Toronto government's open data website.
Main technologies used: Node.js, MongoDB.
- Construction Document Management System (Development)
Helped build a document management tool for PCL—a large construction firm to share documents between different branches and on-site workers.
Main technologies used: C#, SharePoint.
- Upside Contract (Development)
I worked on a large enterprise contract management system with a wide variety of functionalities resolving around contract creation and management.
Main technologies used: C#, SQL Server.
ParadigmsAgile Software Development, Concurrent Programming
StorageMicrosoft SQL Server, Elasticsearch, NoSQL, MongoDB
- Diploma degree in Computer Programming and Analysis2003 - 2006Seneca College - Toronto, Canada