Rob Hunter

Rob Hunter

Work History

Work History
Nov 2010 - Present

Commercialization Engineering Process Lead

Schlumberger Canada Limited

In this new role I am attempting to improve our software quality in all aspects of the Agile quadrants, while enforcing stricter commercialization deadlines.  Emphasis has been on introducing Agile processes and tools, empowering co-workers, strengthening our internship program, and shipping software on time.  This role includes the responsibilities of the QA/QC Coordinator that are still relevant after additional business reorganization.

Agile Project Tester - Project Galaxy "Project Galaxy" is a commercial application development project, that along with creating a new product is also a demonstration of Agile tools and techniques for the rest of the Waterloo software development team for new projects.  Two additional Scrum teams have been formed based on the early successes of Project Galaxy.
  • Joined the "Project Galaxy" Scrum team as a 1/2 time Agile tester after I observed the need for such a resource for a successful project
  • Test role focuses on quality assurance and control infrastructure, implementation, and usage
    • unit test monitoring and reporting (MSTest, run with TeamCity, coverage with dotCover)
    • functional test scripting (TestComplete)
    • design and moderate usability testing sessions (Morae)
  • Commercialization role involves product branding, licensing, installation, and scheduling
    • installation development (WiX, with Votive, and C# managed custom actions)
    • licensing component integration and testing (RLM)
  • Work with project managers to schedule formal testing into the project plans
  • Other QA/QC roles as needed (primarily smoke tests and auditing)

Software Development Life Cycle:

  • Was involved in rolling out the Scrum development process for first Project Galaxy, and an additional two projects since; working closely with the newly named Scrum Masters and Product Owners to train the Scrum teams on the new processes
  • In the process of migrating all development team and projects in Waterloo to Team Foundation Server for integrated software life cycle management
  • Maintain and administrate the Waterloo Software division's internal SharePoint site for project collaboration
  • Designated "Global Software Métier" representative for Waterloo office, keeping the Waterloo development team informed of training opportunities within the international Schlumberger organization

Builds:

  • Monitor and maintain the build farm (currently seven machines, plus two virtual machines), including continuous integration and nightly build configurations and build scripts for all software development projects
Testing:
  • Maintain the testing network (currently three machines, plus two servers, and a much larger number of virtual machines and clonezilla images)
  • Recruit occasional testers from within the company for specific testing activities as required
  • Manage the test role for technical support staff

Commercialization:

  • Product branding, licensing, and release scheduling
  • Installation authoring
    • Wise for Windows Installer (C++ custom actions)
    • WiX (using Votive and C# managed custom actions)
    • InstallShield (occasional use)
    • NSIS (for Windows Mobile installations)
    • Inno Setup as a bootstrapper/chainer
  • licensing component integration and testing (Reprise License Manager, HASP dongles)
  • Work with project managers to schedule formal testing into the project plans
  • Other QA/QC roles as needed (primarily smoke tests and auditing)
  • Supporting Technical Support staff with installation and configuration issues
Apr 2008 - Nov 2010

QA/QC Coordinator for Water Services Software

Schlumberger Canada Limited

In this role, in addition to my previous responsibilities of Build and Deployment Specialist, I was given the additional responsibility of managing the QA/QC team, which included a tester, a technical writer, and a co-op student.  Through 2009 and 2010, I also co-managed the technical support team of three with the software sales manager.  I additionally took on the management of two development projects.

QA/QC Team Lead

  • Keep the QA/QC team informed to the current state of the multiple projects that are going on at any given time and assign tasks accordingly
  • Work with project managers to schedule formal testing into the project plans
  • Other QA/QC roles as needed (primarily smoke tests and auditing)
  • Began hiring co-op students to assist in the build and installation roles
  • Reorganize testing activities after the sudden downsizing of the only full-time tester in March 2009

Technical Support Functional Manager

  • Work closely with the software sales manager on all managerial decisions regarding technical support team, including human resource management
  • Handle escalated client issues, interfacing with the software development team, and directly handled advanced client installation, deployment, and licensing issues

Licensing Component Project Manager

  • Investigated a variety of alternative licensing components
  • Worked with the development team to develop original design, proof of concept, and initial prototypes of a license component for all our commercial software to use the chosen vendor API in a consistent manner

Software Deployment Project Manager

  • Gathered project requirements from stakeholders
  • Worked remotely with an out-sourcing company based in Calgary to have them develop a chained installation to deploy multiple software applications in a streamlined manner
Sep 2003 - Mar 2009

Science and Math Tutor

Self Employed (part time - evenings)
  • Individualized tutoring sessions for Grade 7 through 12 science and mathematics students
  • Have taught arithmetic, algebra, geometry, trigonometry, functions, problem solving, chemistry, physics, accounting, and programming
May 2006 - Apr 2008

Build and Deployment Specialist

Schlumberger Canada Limited

I was hired out of university by Schlumberger for the new build and deployment specialist role.  This role was originally charged with manually integrating software build components into installation packages, and acting as a collaboration point of contact between the software development, marketing, and sales departments for all commercialization activities.  I broadened the role to include source control management, automation of component integration, automated build scheduling, and contributing to the in-house SDLC processes.

Source Control:

  • Restructure the current source control configuration to allow better scaling and improve branching

Builds:

  • Perform all independent builds of water services software products
  • Automate the build process of software products and automate API documentation generation, Unit test running and coverage, and static code analysis
  • Improve build times and increase frequency of integration builds
  • Deploy binaries to development and testing teams

Releases:

  • Author and create installation packages
  • Build the master media for releases and deploy
  • Responsible for the release of software, including the update of release process to include:
    • trade compliance procedures
    • license auditing
    • improved definition of types of external release
Jan 2005 - Dec 2005

Control Systems Software Developer (Co-op)

ATS Automation Tooling Systems Inc.

  September 2005 - December 2005

  • Redesigned and implemented XML logging tool for computer vision system
  • Created French and German .NET localizations for VB.NET interfaces
  • Integrated barcode reader system for customer job

January 2005 - April 2005

  • Ported and tested a C++ matrix library into C based scripting language, ICI
  • Used matrix library to design and implement a rigid transformations algorithm set
  • Designed and implemented NGC search tool in C++ for vision software
May 2004 - Aug 2004

Payload Assistant (Co-op)

http://www.space.gc.ca
  • Analyzed proposed design of telescience system for Canadian payloads on international space station
  • Incorporated Telescience Resource Kit software into operations support center
  • Trained operations engineers in use of Telescience Resource Kit software and developed user manual for creating user interfaces with C++/Visual Basic .NET
Sep 2003 - Dec 2003

Assistant Building Systems Engineer (Co-op)

Dufferin-Peel Catholic District School Board
  • Designed, wrote, and distributed security and backup systems in C++ with WIN32 API for on-site Building Automation Systems computers
  • Completed and launched School Board Archiving Program using File Maker Pro, and trained archiving staff
  • Performed troubleshooting of HVAC systems and General Control Language programs
May 2002 - Apr 2003

Software Developer (Co-op)

Synexus Global Inc.

January 2003 - April 2003

  • Designed and prototyped password encryption system for database access
  • Designed an installer package using Visual Studio Installer and Orca
  • Reorganized MS-Visual C++ project workspaces to reduce main server usage 

May 2002 - August 2002

  • Evaluated major GUI tools including Visual Studio.NET, MFC, Qt, RadVC
  • Located and documented necessary changes to Vista DSS to enable CORBA
  • Developed methods for proxy classes in CORBA project

Education

Education

Tool Experience

Development Environments

  • Visual Studio
  • C++ Builder
  • Delphi
  • Eclipse

Installation Authoring

  • WIX
  • Wise Installation Studio
  • Inno Setup
  • InstallShield
  • NSIS

Source Control and Change Management

  • StarTeam
  • TFS

Build Tools

  • TeamCity
  • TeamBuild
  • CruiseControl.NET
  • MSBuild
  • NAnt
  • FinalBuilder
Quality Tools
  • TestComplete
  • MSTest
  • NUnit
  • dotCover
  • NCover
  • SandCastle
  • FxCop

Other

  • Morae
  • DemoShield
  • Reprise License Manager
  • Aladdin HASP
  • VMWare Workstation

Objective

My objective is to make great software with great people that solves real problems.

Programming Languages

  • C
  • C++
  • C#
  • VB6
  • VB.NET
  • Python
  • Java
  • Pascal
  • Batch scripting
  • Javascript
  • FileMaker
  • Various proprietary control system languages
  • XML, XSLT, HTML

Interest

I inline skate on a semi-regular basis during lunch breaks, and try to bike to work frequently.

I read a lot of interesting business, marketing, and software books - and the guilty pleasure of sci-fi novels.I would like to get more involved with my community, and am investigating volunteer opportunities. I taught a course with Junior Achievement and am considering getting more involved with this program and other local educational programs

Technologies

  • Source Control and Change Management
  • Windows Installer
  • Build Automation
  • Continuous Integration
  • License Protection
  • Deployment
    • Licensing
    • Trade control

Processes

  • Scrum
  • Various informal agile processes (iterative and incremental)
  • Virtualization
  • Theoretical knowledge of Extreme Programming, Test Driven Development

Summary

  • Adaptable problem solver; skilled in identifying areas for improvement and delivering solutions
  • Solid background in software design, development, testing, and troubleshooting
  • Quick to learn new concepts, applications, and programming languages
  • Advocate for use of software engineering principles and processes to create high quality solutions
  • Computer Engineering studies focused on control theory and software engineering