Download PDF

Summary

Proven, experienced developer seeking to create and join new opportunities in Mobile App development.  Over a decade of experience delivering and integrating software for customers.  Keen interest in gaming and data analysis fields.

Work History

2016Present

iOS Developer

QuickMobile Inc., Vancouver, BC
  • Objective-C and Swift using Agile development process.
  • Design and implement features for an iOS app made for presenters, organizers, and attendees of corporate events.
  • Migrate existing Objective-C classes to Swift.  Guide the team in creating new View Controllers and Views in Swift using best practices and established standards.
  • Rewrite build scripts and processes to support a hybrid Swift/Objective-C  project. 
  • Implemented UI, data models, and network services for exchanging messages in a forum using  REST-based network calls.
  • Integrated iOS hardware features into the app: iBeacons, 3D Touch, and Touch ID.
  • Resolved bugs in threading, auto-layout constraints, UI logic, 3rd party CocoaPod integration, Video playback, and UIWebView behaviour.
  • Create and maintain unit test cases using OCMock to simulate hardware responses.

2015Present

iOS Mentor

Lighthouse Labs, Vancouver, BC
  • Provide instruction on Swift, Objective-C, Object-oriented Programming, and common Design Patterns.
  • Assist students with assignments and projects as needed.

Dec 2015Mar 2016

iOS Developer

Mimik Technology, Vancouver, BC
  • Objective-C in Xcode and AppCode using Agile development process.
  • Developed a video and music player that allows files from other Android and iOS devices to be played directly on an iPhone or iPad over WiFi via the Mimik App.
  • Handled latency, buffering, and trans-coding issues to generate smooth playback.
  • Developed a video streaming player to play internet webcam streams.
  • Implemented the build process for creating and delivering the final product to the App Store.  Helped condense the process into a single step using JIRA/Bamboo.
  • Created an iOS project structure to integrate code translated from Java.  Made it easy to synchronize changes to both iOS and Android platforms.
  • Analyzed and resolved memory, UI, and media playback bugs.  Reduced the app's reported memory leaks to zero.

Work History (continued)

20012011

Software Developer

THE PEER Group Inc., Kitchener, ON
  • C#, .NET Framework and Visual Studio with some use of C/C++ and SQL.
  • Designed and developed systems for electronics, automotive, and semiconductor manufacturing.
  • Wrote asynchronous controllers for robots and specialized machinery, and developed interfaces for communicating with factory software to automate production.
  • Worked with and led independent teams on a project basis.
  • Responsible for end-to-end project lifetime from specification and development to testing and delivery.
  • Coordinated multiple teams to diagnose and resolve problems. Made critical decisions to keep schedules on track at client sites.
  • Generated new business through technical presentations to potential customers.
  • Built a strong company reputation amongst customers for on-time delivery of quality systems and excellent work partnerships.

Project Highlights

Multi-stage Adventure Game (Swift / iOS)

2D game with multiple stages where each stage is a different mini-game.

  • Uses SpriteBuilder for scene layout and asset management
  • Game logic and user interaction written in Swift and Cocos2D

Geofencing (Objective-C / iOS)

Generate alerts when the user is within a certain distance of an attraction within a city.

  • Uses MapKit and Google Map APIs
  • Uses Core Data for local caching and to generate the data model

 

Education

2001

University of Waterloo

Bachelor of Mathematics, Mathematical Sciences

Curriculum composed of Computer Science, Pure Mathematics, and Applied Mathematics

2015

Lighthouse Labs

iOS Development Bootcamp

Learned iOS development in Swift, Objective-C, and Xcode.

On-line Courses

  • Functional Programming in Scala
  • Android Mobile Development using Java
  • Data Analysis using R and Matlab
  • Natural Language Processing using Python
  • Game Theory