My CV

Jonathan Weatherhead

An enthusiastic software developer keen on fullstack web design. Also a coffee gourmet.

Twitter: @JonWeatherhead

Expertise

  • PHP – PHP7, PSR, WordPress, Yii
  • JavaScript – ES6/7, TypeScript, Flowtype, React, Redux, Saga, jQuery
  • 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

Highlights

Interests

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.

Public Contributions

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.

Education

  • Bachelor of Computer Science, Minor in Mathematics, Magna Cum Laude
    Carleton University, 2004 – 2009
  • Masters of Computer Science
    Carleton University, 2009 – 2010

Spoken languages

Native English fluency, moderate French fluency

Professional experience

Nokia – Front-End / React contractor

December 2020 – February 2021Nokia Corporation is a Finnish multinational telecommunications, information technology, and consumer electronics company.

Whitelabel

Technologies: Java Spring, JavaScript, React, HTML5, CSS, Docker, MicroservicesA portal tool for business-specific information and actions

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

Technologies: JavaScript, Flowtype, React, Redux, Saga, MQTT, HTML5, CSS3Sync4 is Ford’s next generation in-car communications and entertainment system. I worked with the dashboard team to build out interactive UX views and app state management as well as an SDK for communicating with the middleware.

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.

ES7 JavaScript through Babel transpiler.

Typesafe JavaScript through Flowtype.

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.

ShowWiz platform

Technologies: LAMP stack, WordPress, JavaScript, HTML5, CSS3

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 UX with HTML5, CSS3, JavaScript, and jQuery for a rich interactive experience.

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

PythOS

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 Babel to bring modern JavaScript to the browser.

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

Performance Platform

Technologies: LAMP stack, AWS, JavaScript, jQuery, HTML5, CSS3Performance is a comprehensive platform targeted towards management of organized sports. I worked on the full stack to bring it from beta to production.

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

APBA Baseball

Technologies: LAMP stack, WordPress, JavaScript, jQuery, HTML5, CSS3APBA Baseball is an online fantasy baseball game. I worked on building out UX views and refining a WordPress middleware.

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.