Architect, programmmer and sysadmin with a passion for technology and programming. Not to mention a couple decades of experience.
Zolo - Senior & Lead Developer - Updated an older infrastructure to support 4 million pageview a day. Mostly with AWS tools. Implemented new procedures and tools that increased developer productivity significantly. Found and implemented areas that gained significant performance improvements.
CATSA - Senior & Lead Developer - Created back-end architecture that supports the main website plus their mobile apps. Airport security lineup staff across Canada use my system to update wait times.
TWiT - Senior (and only) Developer - I didn't build their flagship site (although I helped) but I did build an intricate internal system that managed their audio and video files, converted them to proper formats and automatically uploaded them to proper cloud services. Then a subsequent system that automatically notified the public (and updated the website) when new shows were available for consumption.
[Insert link to your closest Jaguar / Land Rover dealer here] - Yep. I was one of three architects on a deployment and management system for the apps that go into the head units on newer Jaguar / Land Rovers. This meant some time in Coventry too! The vehicles all communicate with a complicated back-end system that manages their OS versions as well as individual apps and their versions. Super cool.
If you want to know a lot more about my experience, keep going.
Note: Some of these positions overlapped when freelancing.
These guys do a few things but, for the most part, they help to convert hard cover media into digital media. I helped them get a few features out the door in their ASP.NET platform and also to build out a few simpler sites for some of their clients who required something leaner. A lot of JS, CSS, HTML.
Provide feedback on updates to an internal system they had and then execute those updates.
Help to manually convert some hard cover media to HTML/JS/CSS by hand.
Provide additional conversion tools for specific cases that needed customized conversions. This included a node.js based tool.
Real estate website, one of the largest in Canada, where I was able to help them build out new features in PHP, JS, CSS and HTML and also act as a sysadmin and devops guy. I also introduced a number of new processes to help streamline development and QA processes.
Manage the AWS infrastructure (ec2 & rds) with deployment procedures and scaling.
Audit performance across the site and make updates to increase performance.
Write several vanilla JS custom libraries for specific needs.
Manage their entire PHP back-end infrastructure for a CRM and the website as a whole.
Ensure all the programming architecture was properly managed inside GIT.
Lead a small team of two other developers.
Update and maintain their ios & android app.
Refactor tech debt in their codebase (PHP, JS and mobile apps).
Help maintain an S3 based image server with an automated workflow behind the scenes.
Help to execute updates to the website related to SEO. Usually meant heavy interface work with CSS (lots of SASS here) and JS. Sometimes meant working with the PHP / servers to ensure proper data was being shipped to the header and we were using proper server response codes in some cases.
Used Jenkins for CI / CD with some custom extensions. Then switched to a simpler custom deployment solution.
I was involved in some of the best projects I've ever worked on. I spent a few months as a senior developer on some smaller teams and then I moved up to a technical lead role where I managed up to a dozen people and a couple of ongoing projects. We mostly focused on Java, Node and PHP. We also did a bunch of Drupal. Towards the end (like, a year) I was a solutions architect working directly under the CTO.
Lead several teams ranging from 2 other developers to 13. Also ranged skillset from jr to sr.
Work directly with the sysadmin/devops team to introduce new methods of managing infrastructure, deploying code and more. Also helped to beef up some practices. This also required cross interactions with the programming teams. Tonnes of AWS, EC2, ElasticSearch, RDS, Load Balacing, CDN, S3 and more.
Troubleshooting & on call devops working with Linux or Unix systems (mostly Redhat) and solving other infrastructure problems. Lots of late night calls to jump on a server and see why Apache was failing or ensure an Ansible playbook was working correctly.
Helped to create Jenkins projects / pipelines for use with Docker (sometimes Kubernetes was involved) and AWS. Some projects were internal facing and some were public facing.
Take client project scopes and convert them into technical architecture that could be executed by the programming teams & managed by devops over a long term period. Usually involved 99.99% uptime as part of the SLA agreements.
Helped to create some mobile apps for clients on ios and android.
Provide mentoring and leadership to individual programmers.
Interact with the board of executives to ensure teams had what they needed to accomplish high level goals at a business level.
They have several hospitality companies (and, therefore, websites) that I got to work. It ranged from doing front-end website adjustments to working on their back-end booking / scheduling system, connecting to their hotel machines and more.
Refactor PHP into an OOP based system. Mostly using Laravel.
Help deploy and maintain code on EC2 & RDS instances.
Help to make front-end specific upgrades.
For a short while I had the privilege of managing the premium PHP channel on Sitepoint. I would reach out to developers and help them to come up with lessons, videos and other material for the channel. My life changed and I had to make a shift so I stepped down from this role.
Reach out to potential contributors to build relationships.
Work with contributors to support their creative material from start to finish.
Ensure finished material was properly handled for release.
Come up with ideas on material to create and keep in touch with the community in general.
Help create an OOP based thin layer on top of Drupal 6 & 7.
Help with a large number of front-end components (CSS / JS / HTML) using Angular.
Create and maintain a Drupal REST API for use on dynamic front-end components.
Assist the team in deployment methods and maintenance.
In short, was an all-around computer engineer, as I helped them with everything from servers, networks and more to computers and advising them on any gadgets they needed or improvements to their computer systems that would help them become more efficient. However, my main focus was on web development with regards to their flagship site and a secondary site for their highest grossing show.
Create an internal system to take raw videos, automatically edit them and then ship them to multiple mediums for consumption.
Supervise a Drupal team on two websites they built to ensure the technical goals were met by the team.
I was the lead developer on many of their client websites, helping them create new coding standards and managing their servers from time to time.
I helped them upgrade their server and network infrastructure across three different offices so all their offices could communicate with each other more efficiently, which saved time and money. This role ended up being a good mix of both hardware and software work.
Provided a lot of CSS, HTML and PHP coding skills to build smaller websites or enhance existing ones. Also did some work with mobile friendly sites or converting sites to a mobile friendly platform.
Paintball Gear Canada is one of the largest Paintball retail companies in Canada. It has a large retail and web presence. It began as a platform PHP e-commerce system that was eventually re-done so much to suit increasing demands that it is now a beast to maintain. However, it holds itself together quite well and is able to maintain traffic that results in millions of dollars in revenue each year.
I have a lot more experience, going back at least ten years, so please feel free to ask.
Full list of languages, systems or other things I know in order from strongest to not as strong.
I have a decent list of websites I've worked on so go ahead and ask me for more!
Thank you for taking the time to review my portfolio. I hope to hear from you soon.