Michael Clark

Orem, Utah
(801)-810-4433
clark.michael.c@gmail.com

Qualifications

Notable Computer Languages

Professional Experience

Programmer

A listing of my work experience, from most recent to least recent:

  1. Company
    Garage Smart
    Duration
    November 2018–30 August 2019
    Decription

    Switched teams to the embedded development group. Wrote firmware to communicate between the motor controller microprocessor and the phone app for IoT smart home blinds. Conducted a security review and fixed design issues in the secure communications protocol, implemented those fixes in the embedded code, and assisted the Android and iOS developers to make the minimal needed changes on their side.

  2. Company
    New Vistas/Tesseract Group/Hall Labs
    Duration
    November 2015–November 2018
    Title
    Senior Software Engineer/Principal Software Engineer
    Decription

    Hired to rewrite PHP accounting and timesheet application in NodeJS without source or spec save some designs. Project changed after a year or so to use deepstream + rethinkdb, then about 8 months later to loopback, then was somewhat canceled/shelved. Worked next on a glue app to bind disparate services to replace the PHP code (using express), and also on a UWP (C#/XAML) kiosk display app. When the Kiosk project died, moved to server software for network communications between an app and embedded systems. Continued to maintain the glue app alongside embedded development and after.

  3. Company
    Self Employed
    Duration
    July 2013–November 2015
    Decription

    Find clients, implement code per requirements, tracking time used and minimizing client costs. Practice new languages, frameworks, and tools.

    Greatest Accomplishment
    Implemented control software for a custom USB controller on a Teensy LC.
  4. Company
    Intuiplan (now Jolt)
    Duration
    April 2013–July 2013
    Decription

    I worked mostly on the complicated syncing logic behind the Intuiplan system. I worked well with Yii, new to me at the time, and was able to make improvements to the site architecture. Additionally, I taught myself how and implemented many unit tests across the legacy codebase.

  5. Company
    InsideSales.com
    Duration
    January 2012–April 2013
    Title
    Software Engineer
    Decription

    In a team of 5, enhance and support the core product. Beta test new internal framework developing a new product for customers. In a team of 2, develop internal management software. Beta test another new internal framework. I worked on the main Lead Management Platform product for approximately 4 months, then filled a need supporting responseaudit.com for several months, beta testing our internal design framework. I significantly reduced the data entry workload of auditing a company using a bookmarklet, with a significant chunk of domain knowledge to fill in form fields. The bookmarklet was successful enough that the completely automatic web crawler and form filler was shelved, and I was moved over to work with another programmer to pick up our internal management site rewrite. Over 6 months or so we juggled with the code into a fairly readable state, while porting the bulk of the remaining features from the old site over. In the end I was placed in the new R&D department, to help iron out and alpha test the design of another new internal framework.

    Greatest Accomplishment
    Found a creative solution to bulk data entry in the ResponseAudit tool, using a bookmarklet to inject intelligent JS which would be verified by human intelligence.
  6. Company
    ZAGG, Inc
    Duration
    July 2011–December 2011
    Title
    Web Developer
    Decription

    As a member of the website team, maintain Zagg.com. Interface with external APIs. Write internal and external APIs. Maintain zagg.com, access various external APIs (memorably Best Buy's), introduce and maintain new APIs, all PHP work with some JS (Prototype, jQuery). Wrote and carefully tested a sed script to clean up inconsistent whitespace formatting across our software. Cut one significant file down from 4000 lines to just over 2000 lines of mixed HTML and PHP by careful analysis and understanding, and encapsulating some behavior into a pair of classes. I chose not to exercise the hire option in the contract to hire. I am most proud of the patch I wrote for the PHP interpreter (for bug 49853), which was released in PHP 5.3.11.

    Greatest Accomplishment
    Patch for PHP bug #49853 was released in PHP 5.3.11.
  7. Company
    Hit Web Design/Heritage Internet Technologies
    Duration
    September 2008–March 2011
    Title
    PHP Programmer III/Lead Programmer
    Decription

    Architect and implement custom database driven websites for clients. Complete/rescue projects abandoned by outsource programmers. Architect and build new framework for in house social networking product with extensive plugin support, working with a team. Build several new analytics products to sell to customers. I was hired as a PHP Programmer III to work on client sites, but was moved to a Lead Programmer role for a "do everything" site shortly after joining the company. Mostly PHP, some JS (Mootools, jQuery), XHTML (semantic). Aspect Oriented Programming (AOP) framework (CakePHP based) conception, implementation, and support, with a patent request filed for some of the implementation. Team fluctuated from 4-9 programmers typically. I additionally have partial responsibility in several products including Hit Convert (I think this was the A-B testing tool), Hit Essentials (web traffic analytics), and Hit AdSpace (self hosted ad manager). I was loyal to the company, and went without pay for the last 3 months before the company went out of business.

    Greatest Accomplishment
    Patent applied for CakePHP based AOP/plugin framework - my most difficult 300 lines of code.
  8. Company
    SkyLords.com
    Duration
    2008-current
    Title
    Primary Coder
    Decription

    Keep site online, fixing any bugs which develop due to deprecated code. Manage backups, redundancy, hosting costs, etc. Keep in contact with community, and implement new features.

  9. Company
    Hong Kong University of Science and Technology
    Title
    Research Assistant
    Duration
    2005–2006
    Decription

    Develop and support the SkyLords.com website. Convert a collection of similar flat file databases across 5 CDs into a single relational database.

    Greatest Accomplishment
    Wrote a program to handle arbitrarily nested zipped files, find and parse the various data file formats.