Mike Gibson

Software Engineer

3452 Medford Dr.
Bountiful, UT 84010
M: 801-554-3942


StorageCraft Technology Corporation

Software Engineer
August 2015 - Present

    Sling TV

    Senior Staff Software Engineer
    November 2013 - August 2015
    • Over-the-Air television DVR and streaming device (C++/Linux/MIPS)
    • Roku UI Lead (C++/Linux/Qt/ARM/MIPS)
    • XBOX One streaming video client in JavaScript


    Senior Software Engineer
    June 2013 - November 2013

      • Developed core libraries used by forensic and security products in C++
      • Responsible for product licensing code
      • Quickly came up to speed and was able to contribute to several different products

    Vantis Solutions

    Director of Engineering
    August 2012 - June 2013

      • Developed pipeline inspection data analysis tool
      • All work was multiplatform (Linux and Windows) using Qt
      • Large data sets were the norm

    StorageCraft Technology Corporation

    Senior Software Engineer - Linux Kernel
    December 2011 - August 2012

      • Kernel drivers related to disk image backup projects

    Senior Software Engineer - Linux
    October 2010 - December 2011

      • ShadowStream high speed network backup image replication technology
      • Team lead for Linux based Live Recovery Environment
      • General Linux Development

    T. D. Williamson, Inc.

    Software Engineering Supervisor
    May 2007 - October 2010

      • Built up and hired an 11 member software development team.
      • Oversaw all aspects of development group including performance reviews, raises, hiring, etc.
      • Implemented best practices for software engineering including code reviews, testing, release cycles and issue tracking.
      • Worked closely with Electrical Engineering team responsible for data collection platform.

    Senior Software Engineer
    December 2005 - May 2007

    Software Engineer
    March 2004 - December 2005

      • Team leader of Pigtrap project, the flagship data analysis and reporting software for the company.  Maintained and refactored software to improve development turnaround. All work done in C++.  Responsible for team of five developers.
      • Worked with large data sets and developed compression schemes for data that could be run on an low-power embedded platform.
      • Developed format neutral data interface framework to the various large data formats produced by the data collection tool.
      • Developed tool calibration program that communicated directly with the tool.
      • Implemented and enforced a development process, including a build system, source code control, revisions, and controlled release process.
      • Interacted with users on a daily basis to collect and interpret requirements.
    University of Utah Genetics Department

    Bioinformaticist / Software Developer
    May 2002 - April 2004

      • Administrated and processed corn mitochondrial genetics data. Created system with GNU make, to automate data processing done with PERL scripts and C++ programs.  Build system worked on Linux and Mac OS X.
      • Used Linux for all development and data processing work.
      • Developed specialized figure generation program in C++ for small circular genomes. Embedded JavaScript as a configuration language to provide a wide range of formatting options to figure creators.
      • Developed fast accurate dotplot tool in C++ for comparison of two genomes.
      • Discovered interesting distribution of open reading frames in semi-random genetic sequences using Monte Carlo analysis.
    Solin Corporation & Montgomery Watson Harza

    Software Engineer
    1998 - May 2002

      • Responsible for all major software development work in Salt Lake City office.
      • Moved from poor in-house SCM to Perforce.  Builds done with nmake.
      • Interfaced with the client on a daily basis.
      • Developed multiple engineering related software tools in C++, from data and image processing tools, to visualization tools. Many of these tools interfaced to Oracle or Access databases.  Oracle databases were very large.
      • Developed and designed in C++ major portions of Active Web GIS. A GPS enabled ActiveX control for doing Maps on the web. Responsible for updating the design from the prototype stage to beta. Key portion of a GIS in use at MWH today.
      • Developed the Envision Viewer, a browser-based interface in JavaScript and C++ (via ActiveX) to a million record Oracle environmental sampling database. Requirements included ability to transfer and run from CD without modification and ability to interface to any ODBC compliant database.
    Sarcos Inc.

    October 2001

      • Developed low-level software for A/D conversion card to interface to medical CCD in C++ and Visual Basic.
    University of Utah Computer Science Department

    Teaching Assistant
    August - December 2001

      • Taught two lab sections for Introductory Course in Computer Science for Computer Science Majors.
    University of Utah CADE Lab

    UNIX Systems Administrator
    1994 - 1995, 1997 - 1998

      • Supported about 300 UNIX machines running various UNIX operating systems.

    B.S. Computer Science

    University of Utah
    Salt Lake City, Utah

    Computer Science Courses: Machine Vision, Computational Geometry, Linear Algebra, Digital Circuit Design, Machine Learning, Natural Language Processing, Operating Systems, Compilers, Programming Languages

    Other Courses: Mathematics, Numerical Analysis, Genetics, Probability, Parallel Programming, Business Concepts, Geography


    Languages: Advanced C++ (including templates and template meta-programming), JavaScript, PERL, Scheme, SQL
    Development Platforms: Windows, Linux, Mac OS X
    Areas: Object Oriented Design, Engineering Software, Large Databases and Data Sets, Modern C++ Design, Data Analysis
    Technologies: Qt, STL, Boost Libraries, GNU make, Emacs, Visual Studio, MATLAB, PHP, Windows API/MFC, Subversion, LaTeX
    sqlite, MySQL, Oracle, MS Access
    Linux Distributions: Ubuntu, CentOS, Gentoo, SuSE


    S.W. Clifton, P. Minx, C.M. Fauron, M. Gibson, J.O. Allen, H. Sun, M. Thompson, W.B. Barbazuk, S. Kanuganti, C. Tayloe, L. Meyer, R.K. Wilson, K.J. Newton
    Sequence and comparative analysis of the maize NB mitochondrial genome.
    Plant Physiology, November 2004


    • Linux driver for USBAT CompactFlash Reader [link]
    • Median algorithm for Boost Accumulators library
    • DirectFB driver for Qt/Embedded 3 [link]