iToto's Blog

A Montreal based full-stack web developer who loves learning and trying out new things. This blog is my attempt to document my work as well as a place to discuss ideas or topics that I find interesting. Feel free to follow me on linked social networks.

Profile

Extensive knowledge in Computer Science obtained by a Bachelors in Computer Science from Concordia University along with a DEC in Computer Science from John Abbott College. I am a passionate developer who is always dedicated in everything that I work on. Most of my experience lies in web application development – specializing in API design and development – although I have done some mobile application development. I am eager to learn new languages and methodologies to broaden my knowledge and expertise.

Designing software is by far my favorite activity. I’m constantly drawing up diagrams – be it ERDs, DFDs, UMLs etc. If it were up to me, I’d have a whiteboard in every room. I find I’m way more effective explaining my ideas through diagrams then with just words - after all, a picture is worth a thousand of them.

Apart from my studies, I am actively involved with software startups as I have been apart of four – including two of my own. I enjoy being challenged when it comes to my work and can adapt to working with a team or individually.


Work Experience

InVIsion (Remote) – Sr. Software Engineer / Engineering Manager, July 2017 - Present

As a software engineer I work on the growth team which is focussed on user retention and acquisition. I worked on designing and implementing a back-end service to manage our new Onboarding flows.

As an engineering manager I work mange our four growth engineers and help give them the tools they need to be affective in their work and help level up their careers at InVision. I am also responsible for our team's operational readiness. This means I have the responsibility to ensure all of our teams' services are well monitored and build in our distributed system to ensure we run the minimal amount of downtime (as close to none as possible) whenever there are incidents.


Cloudflare (San Francisco) – Web Engineer / Systems Engineer, Nov 2015 - July 2017

As a web engineer, I work on our public API. This API is mostly written in PHP, coupled with stored procedures in a PSQL data store. My job is to maintain legacy code (improving it when possible) and to design and implement new features. We also use a custom framework which requires us to improve the core of the application to make it more flexible and less tightly coupled.

As a systems engineer I worked on the billing team, working on all aspects of the billing application that handled all of Cloudflare customer subscriptions. This included creating and updating customer subscription, issues credits for cancellations, asynchronous processes used to calculate usage based billing and report generations.


Sociable Labs (Montreal/San Francisco) – Sr. Backend Developer, Jan 2014 - Oct 2015

Responsible for designing, implementing and maintaining RESTful APIs for the Sociable Labs SaaS platform. Contributing developer on the Sociable Labs iOS SDK.


Party Stream (Montreal) – Founder, September 2012 - Present

Party Stream is a photo sharing application that allows friends and family to easily share media from an event. I designed and developed the REST API and manage the team that works on the mobile applications for different platforms.


Mira Geoscience Inc. (Montreal) – Software Developer, March 2013 - December 2013

Designed and developed web applications for data management and visualization for both Mira Geoscience and one of their high profile clients. Specialized in REST API design and development.


Lupo One Productions Inc. (Montreal) – IT Consultant, Sept. 2010 – Present

Worked as an I.T. consultant for a musical artist management company. Created and managed artist websites, social network pages etc. Worked closely with the manager to efficiently execute given tasks.


Mind Geek (Formally Manwin) (Montreal) – Software Developer, Sept. 2012 - March 2013

Work on the backend and content management system of a high traffic website. Specifically, developed, implemented and maintained object oriented backend applications with PHP and MySQL. Performed code verification to determine recommendations for adaptation in order to produce and launch specific parts of the site properly. Designed and developed new features for the site.


Made Media Inc. (Montreal) – Software Architect/Full-Stack Engineer, May 2011 - Sept. 2012

Lead developer and architect of Made Media’s SAS and MDM platform. Specialized in the design and implementation of: web service, web portal, communication protocol, payment processing integration and cross platform development for mobile devices. Managed tasks for multiple clients and delegated to subordinates. Designed software features based on clients‘ demands followed by the integration of those features into the Made platform and finally deployed and supported the product.


ToretoTech S.E.N.C. (Montreal) – Co-Founder, 2009 - 2012

Software Development, managing multiple development projects along with business administration for the company. Developed custom application that integrated a PHP front-end with a .NET application bridge coded in C# - running through a WCF service – that would handle requests with a third party accounting software. All systems developed usually tied to a MySQL relational database designed and implemented in house.


Tropotel Inc. (Montreal) – Research and Development, 2007-2009

Development of a web system that supplies message management to it’s customers. Was responsible with the research of new services for the system that handled custom faxing and emailing distributions for our customers, followed by the development and implementation of those services. This included designing and implementation of a relational database, designing and implementation of the communication protocol between our new system and our legacy system.


Dev XP

Golang (60%)
PHP 5.x (80%)
Objective-C (30%)
Swift (30%)
Node.js (60%)
HTML5/CSS3 (40%)
Java (30%)
C, C++, C# (30%)
Ruby/Rails (20%)
Python (20%)
Docker (60%)
Linux (60%)
Git/GitHub (80%)
PostgreSQL/MySQL/MS SQL Server 2008 (50%)
MongoDB (60%)
Laravel 4 (70%)
CodeIgniter 2.x (80%)
REDIS/Memcached (40%)
Apache (60%)
iOS (30%)
 

XP Guide:

  • 100% Wrote the book on it.
  • 90% Could have written the book, but I didn't.
  • 80% Deep understanding of corner cases and esoteric features.
  • 70% Understanding and (appropriate) usage of most lesser known features.
  • 60% Can develop large programs and deploy new systems from scratch.
  • 50% Can develop/deploy larger programs/systems using all basic (w/o book) and more esoteric features (some w/ book, some without)
  • 40% Can develop/deploy medium programs/systems using all basic (w/o book) and a few esoteric features (w/ book). Understands enough about internals to do nontrivial troubleshooting.
  • 30% Can utilize basic features without much help, manage a small installation competently.
  • 20% can write hello world without looking at a book, kind of figure out how a system works, if necessary.
  • 10% Can read programs, make small changes to existing programs, or make adjustments to already installed systems, w/book handy.
  • 0% No experience.