Matt McCormick

Matt McCormick

Nanaimo, Canada
Hire Matt
Scroll To View More
Matt McCormick

Matt McCormick

Nanaimo, Canada
Member since April 4, 2014
Matt is a top senior architect, web engineer, and overall good guy. Not only does he understand what it takes to build solid, reliable, and extendable web applications, but he also understands the underlying business behind the code. A talented engineer who develops solid solutions again and again.
Matt is now available for hire
Portfolio
Experience
  • PHP, 9 years
  • Web App Development, 15 years
  • JavaScript, 8 years
  • Python, 4 years
  • Java, 4 years
  • Zend Framework 2, 3 years
  • MySQL, 8 years
  • Ruby, 1 year
Nanaimo, Canada
Availability
Part-time
Preferred Environment
Ubuntu, Git, JetBrains IDE
The most amazing...
...thing about Matt is his ability to deliver fully tested solutions which continually exceed expectations and make it very easy to work with him.
Employment
  • Senior Software Engineer
    Fox Sports Pulse
    2014 - 2015
    • Developed a marketplace-like application from the ground up working as sole developer. This marketplace application would create a new revenue stream for them by allowing them or 3rd party applications to plug-in to their existing applications with minimal setup. I set up the application in a decoupled manner using Python and Flask to set up the back-end API and AngularJS for the front-end admin interface. Interacted with stakeholders to present progress and develop iteratively based on their feedback.
    • Completely refactored email sending for the main Fox Sports Pulse application. Email sending was previously being performed from dozens of different places in the application. When something went wrong with email, it was previously very difficult to figure out the reason and how to fix it. I worked with the CTO to identify what exactly the previous problems were. Based on that and the vision they would like to have for the email, I planned out a model for preventing the previous issues and researched best practices for working with Amazon's SES (their email provider at the time). After setting up the model and code, I slowly changed the existing email sending code to use the new library. The new email system now allowed them to: send email much faster, have a record of what email was sent, track bounces and complaints, prevent future sending to hard bounced emails (as per SES' guidelines) and send attachments.
    • Assisted a junior developer with help developing an HTML mobile app using AngularJS and Ionic framework. Identified areas in the code for improvement and came up with solutions for implementation based on loosely defined specifications. Worked with stakeholders to help get specific on details of what they were looking for for an MVP. Helped move the application towards launching by focusing on priorities. Mentored the junior developer and provided feedback on code structure and development practices.
    • Implemented various features in a legacy Perl application as needed. Understood very tricky parts of the system when making changes and wrote unit tests when possible. Helped move the application towards more modern development structure by incorporating ORM into codebase. Made presentations to the development team on the benefits of moving to Git and using the Perl debugger. Performed code profiling to identify the reasons for slow parts of the system and made improvements resulting in substantial speed up of loading particular pages.
    • Wrote thorough documentation on the main projects I worked on as well as the new email setup, code profiling in Perl, and debugging in Perl.
    Technologies: Perl, Python, AngularJS, Flask, SES, jQuery, MongoDB, Ionic Framework, Node.js
  • Senior Web Application Engineer
    DelfiNet Software Consultancy
    2013 - 2015
    • Set up system architecture and foundational classes, models, controllers, and views from scratch for leadmagnets.net using Yii Framework, Twig, jQuery, and Bootstrap, and integrating with Stripe and Aweber through their APIs. Created CORS-friendly JavaScript tracking file to report back to data events to back-end of site for tracking. Optimized queries for dealing with a high volume of requests.
    • Came into summitevergreen.com and helped get a disorganized project back on track and get it to launch by helping the project owner identify high priority issues. Identified and corrected bugs and illogical flows/code. Refactored long controller actions into well designed model classes. Simplified code to help with readability and understanding. Fixed issues with Stripe, 1ShoppingCart, Aweber, and InfusionSoft integration. Created library classes for 3rd party API connections for easy re-use.
    • Integrated custom CakePHP system for iwillteachyoutoberich.com/dreamjob with 1ShoppingCart. Tied Zendesk into the system whereby agents can interact with tickets directly from Dreamjob. Set up caching to eliminate bottlenecks and provide for a smooth launch to thousands of users. Integrated Cake's SoftDeleteBehavior and fixed bugs with it to work with the codebase. Extending Cake by writing special components to provide extra functionality (i.e., AJAX, file downloads) while being able to drop-in and re-use in future projects.
    • Testimonial: "Matt possesses one of those qualities that is critical in a talented system engineer: the ability to think through a problem on his own. Many recommendations for programmers say 'great to work with' or 'gets things done on time,' but very few talk about initiative and the ability to work through a solution on their own. Matt is a talented engineer who I trust to develop a solid and extensible solution with only broad strokes as guidance. His talent at not only at programming, but also problem solving, has saved me countless hours of micro-management because I can trust him to take an idea and run with it, accomplishing a complete and tested solution that continually exceeds my expectations. I would hire Matt again in a heartbeat." —Keith Perhac, Director.
    Technologies: PHP, CakePHP, Zend Framework, Twitter Bootstrap, MySQL, Twig, jQuery
  • Senior Web Application Engineer
    Sprongo.com
    2012 - 2013
    • Worked as technical lead and sole developer responsible for all back-end development and server maintenance. The site was used by over 10,000 and had several terabytes of uploaded video files.
    • Helped guide a major site redesign spanning 9 months with very few issues on launch. The redesign affected every area of the site and resulted in the site being more social, ability for users to open up their videos to the public (from a previously closed system), allowed for better loading and quicker access of related videos.
    • Identified and fixed bottlenecks, dramatically improving the site response time. Upon the redesign launch, large teams were experiencing non-loading pages. I single-handedly identified the SQL and data performance issues and rewrote queries to improve the load time from minutes to just over 1 second. Caching further reduced this time later on.
    • Streamlined systems to reduce unnecessary steps, saving time and money. After coming on board, I identified systems that were not needed anymore. This saved the company $600/month.
    • Testimonial: "In his position, Matt oversaw a major rewrite of the site and the introduction of a number of new features. He single handedly completed the required back-end tasks and successfully coordinated integration with the front-end. Thanks to his efforts our user base grew 2.5x while Matt was working at Sprongo. Matt’s disciplined and systematic approach, attention to detail and willingness to go the extra mile, made him an efficient and effective developer. Matt’s effective oral and written communication skills contributed to effective communication and coordination across our team, which at the time was distributed across three different continents. Any development team would be lucky to have Matt on board." —Can Babaoglu, Founder.
    Technologies: PHP, Yii Framework, MySQL, Rackspace Cloud, Zencoder API
  • Senior Developer Consultant
    Escort Design
    2011 - 2012
    • Worked with the site owners and junior developers to improve the development process.
    • Put processes in place to fix bugs.
    • Fixed loading issues.
    • Identified and improved areas of the development process.
    • Set up a testing framework and continuous deployment integration systems.
    • Testimonial: "Matt’s a self-motivated programmer whose knowledge of web app development best practices has been invaluable to our team. Breaking down problems into achievable goals is a great asset." —Zak, Director.
    Technologies: PHP, MySQL
  • Senior Developer
    Bulldog Marketing Technologies
    2010 - 2011
    • Served as lead developer contributing to most of the codebase.
    • Designed and implemented complex functionality such as a Dynamic Access Control List (ACL) system based on Joomla 1.6.
    • Developed code to easily support future feature requests, thereby saving time and money down the road.
    • Refactored original code to improve readability and maintainability.
    • Implemented PHPUnit testing.
    • Set up a Hudson Continuous Integration server for immediate developer feedback on builds after commits.
    • Pulled data from third-party systems such as Autodata and HomeNet.
    • Built an app from the ground up in use by 50-60 dealerships.
    • Testimonial: "Matt has a passion for technology and for learning. He uses his abundant skills and experience to conceive creative solutions for all types of projects. Matt looks at problems as opportunities to be solved and enjoys seeing his solutions help others. Matt is extremely intelligent while remaining humble and easy to work with. He mentors junior members in a kind but authoritative way. Any team would be fortunate to have Matt!" —Jamey Davis, Technical Lead.
    Technologies: PHP, Zend Framework, Yui, PHPUnit, MySQL, FileMaker, Sphinx, Phing, Hudson
  • Intermediate Developer
    Vivid Solutions
    2008 - 2011
    • Developed an application using J2EE, Struts, and JSP. Contained the app within an existing app and included a check during user login to forward specific users to this new application. Worked with the project manager and senior developer responsible for the data model. Created screen mockups, developed the codebase, and wrote documentation.
    • Entered the project when it was running behind schedule and got it up to speed quickly. Built sections including a multi-step Add Project wizard, multiple sub-screens, and setup form validation for the project using Struts Validator.
    • Performed bug fixes and implemented new features as required.
    • Created and updated Crystal Reports.
    • Refactored and improved code as needed.
    • Testimonial: "Matt is punctual and hard-working, self-motivated individual, personable and easy to work with. During his stay Matt demonstrated a high level of commitment to learn whatever was required to complete the assignments required of him and managed his time as appropriate." —Todd Warnes, Director.
    Technologies: Java, J2EE, JDBC, JSP, JSTL, Struts, Tiles, Oracle 10g, PL/SQL, Crystal Reports, YUI
  • Web Application Developer
    Elevated Ventures
    2009 - 2010
    • Created various web applications from scratch according to specifications using PHP, Smarty, CodeIgniter, Django, Python, and MySQL. Worked as a team of one solely responsible for the projects and worked directly with the partner.
    Technologies: PHP, MySQL, Django, Python, Apache, Smarty, CodeIgniter, jQuery
  • Junior Web Developer
    Pensions Corporation of British Columbia
    2007 - 2008
    • Solved bugs and upgraded web applications, resulting in improved performance.
    • Developed sections of a new workshop registration system.
    • Maintained and performed updates to corporate intranet.
    Technologies: J2EE, Java, JDBC, JSP, JSTL, Struts, Tiles, Oracle Portal, Eclipse
Experience
  • Soapbox Guru (Development)

    Soapbox Guru helps people improve their public speaking. It is a video site for people to receive feedback on their speeches and presentations.
    * Developed concept and idea with a friend
    * Hired and worked with an external designer
    * Developed all code

  • 1widget - Twitter and RSS Website Widget (Development)
    https://github.com/mattmccormick/1widget

    1widget is a Twitter/RSS feed aggregator that allows people to easily combine multiple Twitter and RSS feeds into one digest that can be inserted on their website. It gives users an easy way to provide their website visitors with dynamic content about the website topic.

    * Conceived idea and developed concept with a partner
    * Hired and worked with external designer and SEO consultant
    * Developed all code

  • TouchingBase.io - Automated Personalized Follow Ups (Development)
    https://touchingbase.io

    TouchingBase.io helps you win more business by making sure you touch base with potential and previous customers.

    A quick SaaS app I built using Django, Python, the Gmail API, PostgreSQL, Nginx and Gunicorn.

    Developed idea and programmed the whole site.

Skills
  • Languages
    SQL-99, SQL, PHP, Java, JavaScript, Perl, Python, Ruby, PL/SQL
  • Frameworks
    Yii Framework, CakePHP, PHPUnit, Zend Framework 2, Django, Bootstrap 3.0, AngularJS 2.0, AngularJS, Yii Framework 2.0, CodeIgniter, Ruby on Rails, YUI App Framework, Ionic, Laravel
  • Libraries/APIs
    Gmail API, SQLite, jQuery, Stripe API, Underscore.js, MailChimp API, Infusionsoft API, Youtube API, Google Maps, Node.js, Twilio, PayPal API, Twitter API, API, Facebook API
  • Tools
    Eclipse, PyCharm, Netbeans, Zend debugger, PhpStorm, Beanstalk, Firebug, Hudson, MailChimp, Apache, Nginx, Vagrant, Access, FileMaker, Geany
  • Paradigms
    Object-oriented Design (OOD), MVC, Web App Development, AJAX, Object-oriented Programming (OOP), Agile Software Development, Minimum Viable Product, REST, Unit Testing, Design Patterns, Rapid application development, Test Automation, Continuous Integration
  • Platforms
    Ubuntu, Linux
  • Storage
    MySQL, PostgreSQL, MongoDB
  • Misc
    BitBucket, Unix Shell Scripts
Education
  • Bachelor of Science degree in Computer Science
    University of Victoria - Victoria, BC, Canada
    1999 - 2005
I really like this profile
Share it with others