An enthusiastic software developer keen on fullstack web design. Also a coffee gourmet.
- PHP – PHP7, PSR, WordPress, Yii
- Web – XML, HTML5, CSS3, Semantic UI, Bootstrap
- Environment – Visual Studio Code, Git, Composer, Npm, Babel, Webpack, Docker, Linux
- Platforms – Nginx, Apache, Node, PHPReact
- Databases – Relational and NoSQL database experience
I maintain a personal website at Planetjon.ca, active for almost 20 years, which serves as a blog and as a test-ground for trying new things.
I run a home server towards exploring new technologies, with a recent focus on containerized deployments.
I have been part of a peer review process, collaborating with Packt Publishing on the review of the clarity of material and technical validity of Yii Project Blueprints.
I have authored several open-source WordPress plugins and themes, available in the WordPress theme and plugin repos.
- Bachelor of Computer Science, Minor in Mathematics, Magna Cum Laude
Carleton University, 2004 – 2009
- Masters of Computer Science
Carleton University, 2009 – 2010
Native English fluency, moderate French fluency
Nokia – Front-End / React contractor
December 2020 – February 2021Nokia Corporation is a Finnish multinational telecommunications, information technology, and consumer electronics company.
Portal structured as a multitude of single-page React app, and containerized microservices
Implementing design specs into dynamic React views.
Extraction of core scaffolding, components, and behaviours into a micro-framework.
Refactoring existing proof-of-concept to improve efficiency and use as the golden standard.
Ford Motor Company – Front-End / React contractor
February 2019 – May 2020Ford Motor Company is an American multinational automaker.
Ford Sync4 infotainment System
Implemented UX views to spec with React, React-Redux, and Redux-Saga.
Middleware communication through MQTT topics.
Built an SDK generator which consumes protofiles and MQTT topics map, and generates a documented JS library.
App state optional persistence with Redux-Persist.
Performance tuning with React Dynamic Modules and React-Loadable for lazy loading components on demand.
Assessment and measurement of performance through code profiling with Chrome devtools.
Rerender optimization with shallow comparison and Reselect props caching.
Project build managed with Webpack and Rollup.
ShowWiz – Co-Founder and CTO
September 2018 – presentShowWiz is a craft and vendor show aggregation service made for shoppers and vendors.
Architected ShowWiz as a platform.
Leveraged WordPress as the platform backbone for its wide offerings of capabilities.
Implemented project requirements by refinement of third-party software through integration of proprietary PHP code.
Implemented modular featuresets through bundling of code in WordPress plugins.
Built out backend and service layer with a traditional LAMP stack behind an Nginx reverse proxy.
Configured and deployed project infrastructure on a cloud environment.
Integrated third-party services including Google Cloud Platform and Mailgun.
Fleshed out technical roadmap and assembled product requirements into user stories. Groomed backlog into release sprints.
Pythian – Fullstack Cloud Software Developer
November 2017 – August 2018
Technologies: React, Mobx, Node/Express, Semantic UI, HTML5, CSS3PythOS is Pythian’s provider/client portal. I worked on building out UX views and middleware API development.
Fullstack cloud developer on the PythOS platform.
Route endpointing and API implementation with Node.js/Express middleware.
Backend interfaced through custom portal as well as Jira API.
Client UX implemented with React.js/MobX and styled with SemanticUI components.
Data visualization widgets rendered with D3.
Product developed and delivered through Agile methodology, coordinated with Jira.
Team collaboration coordinated with Git and Bitbucket.
Use of NPM and Webpack to manage and package dependencies.
Use of ES Lint and TS Lint to help test the integrity of code quality and type checking prior to runtime.
Use of Jest and Enzyme to write and perform Unit Tests.
Use of Docker containers for local and production deployment.
Use of Jenkins for continuous integration and build orchestration.
Use of OutSystems to rapidly prototype a proof of concept prior to project green light.
Pointstreak – Senior Software Developer
May 2014 – November 2017
Core and lead developer on the Performance platform, an encompassing web-based solution for managing organized sports. My role has been integral in bringing Performance from beta to maturity, serving a customer base in the tens of thousands.
Backend leverages MySQL database and PHP middle tier hosted on Amazon AWS services, served through Nginx. description logic is handled through a custom PHP framework which I have been responsible for writing or enhancing the majority of components.
Frontend leverages Bootstrap for streamlining the look and feel, and a synergy of Bootstrap and jQueryUI widgets. D3.js library is used for presenting charts and graphs of player performance data. Dynamic views are achieved with AJAX and EJS templates.
Made significant contributions to a multi-dimensional hierarchical data metric aggregator, used for calculating and caching season averages and totals on player statistics.
Project management utilizes agile methodologies and JIRA software to plan releases and manage the work log. As team lead, I work tightly with product management to maintain transparency on progress and projections, as well as keep expectations in check with what is viable within time constraints.
Lixar – Software Developer
August 2013 – May 2014
Developer and WordPress expert on the APBA Baseball Fantasy League project, a modernized web-based app from the original email-based game.
Technologies leveraged include Tomcat Java enterprise backend responsible for description logic, PHP and WordPress/BuddyPress middle-tier served through Nginx responsible for serving client requests and working as a proxy to the Java backend.
My expertise was called upon in advising project management with regards to best separation of concerns between the middle-tier and the BI backend, as well as advising on best practices for customizing WordPress/BuddyPress.
BuddyPress and WordPress were heavily customized through custom hooks to inject and modify behaviours as specified by the project requirements.
Made significant contributions toward a site-wide chat integration, and the realtime Team Draftroom through which all customers participated in preparing their fantasy team during the drafting event.
Project management utilizes agile methodologies and JIRA software to plan releases and manage the work log.