Samuel Williams : Résumé


My name is Samuel and I'm a software engineer. I enjoy finding creative solutions to difficult problems.


Reference from Dr. Tadao Takaoka, Professor at the Department of Computer Science and Software Engineering, University of Canterbury (2013).

Reference from Dr. Mark Billinghurst, Director, HIT Lab NZ, University of Canterbury (2013).

Reference from Dr. Tim Bell, Associate Professor and Deputy HOD, Computer Science and Software Engineering, University of Canterbury (2011).

Reference from Geoff Ford, Managing Director, Attitude Group Ltd (2004).

Additional references can be found on my LinkedIn profile.


University of Canterbury — M.Sc., Computer Science with 1st class Honours (2013).
GPA: 8.95 out of 9.0 (University Transcript)
Thesis: Real-time Hybrid Tracking for Outdoor Augmented Reality.
University of Canterbury — B.Sc., Computer Science (2008)
Last year GPA: 8.34 out of 9.0 (University Transcript)
Trinity College of London — Classical Flute
(2002) Grade 8 with distinction (top in Christchurch).
Royal Schools of Music — Music Theory
(2002) Grade 5 with distinction (top in New Zealand).


Innovation in Tourism & Entertainment — GeoZone
(2017) Winner at the New Zealand Innovation Awards.
UK Trade & Investment Innovative Mobile Technology — GeoZone
(2015) Winner at the New Zealand Hi-Tech Awards.
Finalist in the pre-commercialisation category — GeoZone
(2014) New Zealand Hi-Tech awards.
Development Funding — Programming Dojo website
(2013) Received funding for website updates.
Most Entrepreneurial Team — Puteko Ltd
(2012) Awarded $6,000 NZD from Entré Ltd.
Tech Jumpstart Award — Puteko Ltd
(2012) Awarded $20,000NZD from Tech Jumpstart.
Academic Exchange — MIME Group, National University of Singapore
(2012) Awarded $10,000NZD to assist with outdoor augmented reality research and development in Singapore.
Best Master's Presentation — Computer Science and Software Engineering, University of Canterbury
(2012) Awarded an iPod Touch for a presentation on my Master's thesis research.
Master's Thesis Scholarship — HIT Lab NZ, University of Canterbury
(2011) Awarded $15,000NZD to study outdoor augmented reality sensor fusion and tracking.
Development Scholarship — HIT Lab NZ, University of Canterbury
(2011) Awarded $10,000NZD for the development of augmented reality applications for the iPhone.
Development Funding — Film and Theatre, University of Canterbury
(2011) Awarded $2,000NZD for the development of an online digital teaching tool.
Summer Scholarship — Compiler Design and Program Verification
(2010) Awarded $5,000NZD from the University of Canterbury, working with Dr. Tadao Takaoka.
Development Funding — Programming Language Posters
(2010) Awarded $1,500NZD for the development of the Programming Language Posters and their distribution to New Zealand Schools from the University of Canterbury.


A Robot System for Pruning Grape Vines
(Journal of Field Robotics 2016) A robot system for the automatic pruning of grape vines.
Transform Flow: A Mobile Augmented Reality Visualisation and Evaluation Toolkit
(Image and Vision Computing New Zealand 2013). An overview of the Transform Flow toolkit for mobile augmented reality research and application development.
Hybrid Tracking using Gravity Aligned Edges
(Awarded best paper at Computer-Human Interaction New Zealand 2013). Hybrid Tracking algorithm for mobile outdoor augmented reality.
Mr Painting Robot
(Image and Vision Computing New Zealand 2011). Investigated the identification of outlines, and how these can be used for input into a creative painting algorithm.


Software Design and Development
10+ years of experience as a software engineer.
Fluent in a variety of different programming languages including: C++, Objective-C, Swift, Ruby (favourite language), Python (mainly teaching), JavaScript.
Experienced with different programming APIs including: UNIX, POSIX, Cocoa, CoreFoundation, iOS, Vulkan, OpenGL, OpenAL.
Proficient with source code management systems, continuous deployment and unit testing.
Proud open source software contributor; experienced at collaborating with other developers.
Networking and Systems Administration
10+ years of experience as a network and systems administrator.
Experienced with the deployment of a wide variety of network services, including hardware, software and related infrastructure.
Good at problem solving and dealing with legacy systems and installations.
Familiar with most major operating systems and virtualisation environments.
Capable of dealing with end user problems professionally, compassionately and in a timely manner.
Fluent at scripting and able to automate a wide variety of tasks.
Programming Language Design and Implementation
Fascinated by language design, syntax, semantics and program analysis/verification.
Implemented several experimental programming languages.
Experienced with byte-code interpreters, garbage collection, parsing and code generation.
Designed a variety of programming language tools specifically for teaching purposes.
Computer Vision and Rendering
Familiar with a variety of feature point detection and tracking algorithms.
Implemented several high level tracking algorithms with OpenCV.
Interested in painterly rendering algorithms and systems that produce 'creative' output.
Experienced with the implementation of augmented reality applications and their practical use.
Developed tools for visualising large datasets and algorithmic behaviour.
Computer Science Education and Teaching
2+ years experience as a teacher and a tutor.
Enjoys teaching and helping people understand new concepts.
Experienced with a variety of age groups from primary school through to university level.
Game Design and Implementation
Enjoys the creative challenges associated with creating fun and engaging games.
Passionate about developing interesting game mechanics and artificial intelligence.
Familiar with content generation and working in a diverse team environment.
Efficient Algorithms and Problem Solving
Interested in searching and sorting algorithms and their implementation on parallel hardware.
Passionate about solving challenging problems and developing new algorithms.
Familiar with using a profiler to analyse performance and optimise code.


RedBubble Ltd
(2016-2017) Developed scalable Vulkan-based rendering technology for rendering product images deployed on AWS.
GeoZone Ltd
(2013-) Lead server-side developer in a startup developing popular mobile apps for tourists. Specialized in web application development, deployment, and scaling.
Puteko Ltd
(2012-2013) Lead developer in a startup focusing on enhancing children's colouring books with augmented reality. Children can enjoy colouring in pages and seeing the results animated in 3D. I developed the iPad prototype which uses modern computer vision tracking algorithms and provided entrepreneurial guidance.
Game Mechanics Society
(2012-) A society of local programmers and artists who collaborate on the design and development of games. I am the founding member and assist with the organisation of events.
(2012) We created TileShift, a game that uses genetic algorithms to evolve levels in real-time for Ludum Dare 24. We ranked in the top 10% overall, and in the top 5% for innovation.
Computer Science and Software Engineering, University of Canterbury
(2012-2015) Participated in the start up of the Computer Science Club, a weekly event for middle school aged students to learn about computer science concepts. I helped develop the initial course structure, including the badge system and week-to-week social initiatives. I mentored students and provided support to other tutors.
Takashi Ikegami Laboratory, University of Tokyo
(2012) Gave a seminar on Mr Painting Robot, with a specific focus on how it relates to artificial life.
MIME Group, National University of Singapore
(2012) Developed an augmented reality navigation system which guides users through a series of waypoints as part of an interactive game. I implemented several visualisations and assisted with the associated evaluation and research.
Computer Science and Software Engineering, University of Canterbury
(2012) Teaching COSC121 and COSC122 Introduction to Computer Science as part of the STAR course specifically for talented high school students. I designed and marked all COSC122 assignments on algorithms using a modern unit test-based approach. I was the main tutor for COSC261 Fundamentals of Computer Science, implementing a variety of algorithms for teaching.
(2013-) Continuing teaching COSC121 and COSC122.
University of Canterbury Student Chapter, Association for Computing Machinery
(2011) President of the local chapter. I am helping to recover the chapter after it was suspended during the Christchurch Earthquakes.
HIT Lab NZ, University of Canterbury
(2011) Primary iPhone developer, building augmented reality applications and middleware. I designed and developed a high level outdoor augmented reality framework which has since been used in several projects including DiscovAR and CityViewAR.
Computer Science and Software Engineering, University of Canterbury
(2011) Computer science tutor, taught and developed teaching material covering a wide variety of topics in COSC261: Foundations of Computer Science and COSC329: Algorithms and Artificial Intelligence. I proposed and managed the COSC329 Sudoku Competition which challenged students to write efficient algorithms.
Orion Transfer Ltd
(2009-) Website programming and development, including online advertising, sales, competitions and content management.
St Margaret's College
(2008-2009) Technician, improving network infrastructure and day to day operations. I implemented real-time load monitoring for all desktop computers and used this information to assist with software and hardware deployment. I designed and implemented policies to reduce stress in a busy office, including a ticketing system to keep track of important jobs. I assisted with the development and management of the school website as well as a system for tracking potential enrolments during open-day.
Unlimited Paenga Tawhiti
(2006-2008) Technician, responsible for all computers and related infrastructure. I improved utilisation of computer resources by centralising administrative tasks. I developed and implemented policy for the student laptop program, from advertising through to deployment. I provided professional support to all students and staff covering existing technology and advising/deploying new technology where appropriate.
ISB Global
(2004-2006) Working as a programmer designing and developing a consultant placement system using Ruby on Rails.