Issuu on Google+

Jason L. Hutchens Contact Information

16B Brian Avenue Mount Pleasant, W.A. AUSTRALIA 6153


Smart, Productive, Professional, Experienced, Organised, Pragmatic, Creative, Inspired, Fun!


Jason Hutchens is a web developer, a game designer and an expert in Artificial Intelligence with many years of experience as a team leader, project manager, business consultant, company director and lead developer.

+61 4 3323 1010

He is most fulfilled when helping a small team to realise its full potential, and when he is given the opportunity to lead project work, taking a product from inception through to launch and beyond. Jason has worked in a variety of high-tech industries, from Internet start-ups and big-budget game studios to defense department contractors and mining industry service providers. He most recently completed a brief stint at DownUnder GeoSolutions, where, as a senior developer, he worked with a large Java codebase, implementing new features for a cutting-edge seismic interpretation and visualisation package. In the second half of 2010, Jason took a six-month sabbatical, during which time he launched several personal projects, including FAQoverflow ( Prior to going on sabbatical, Jason consulted to Titan Interactive, a web development company, where he quadrupled their output without increasing their team size. Jason won the Loebner Prize in Artificial Intelligence in 1996, and his subsequent PhD research led to a role as Chief Scientist for a private research company in Israel, where he headed a team of specialists on a project to develop a baby computer capable of learning language from scratch. Jason has written several book chapters and published many papers, and is an active member of the AI research community, where he has been helping to bridge the gap between applied AI for games and research-level AI. He lives in Perth, Western Australia, and is married with two kids. Career Objectives

Throughout my work career, I have always sought to • continue to learn and improve my skills by working with smart people; • be proud of delivering quality software instead of a rushed hack-job; • solve difficult problems, and discover new ones to be investigated; • make work an enjoyable part of my lifestyle, not an alternative to it; and • ensure financial security for my family.

Skill Summary

I have advanced programming skills in Java, C#, C++, Python, Ruby, Javascript, PHP, AS3 and MySQL, among others, and have worked with a variety of frameworks, including jQuery, Zend, Rails, Flex, SWT and .NET. I have used VSS, CVS, SVN, Perforce, Mercurial and Git for software configuration management, and Bugzilla, Trac, Fogbugz and the Atlassian Suite for issue tracking and project management. I am comfortable working in Linux, Windows and Apple environments.


Copies of academic records are available upon request.

Bachelor of Engineering (IT), UWA, 1991-1994 • Developed a virtual reality system in second year. • Worked as a lab demonstrator for various Engineering units. • Set up one of the first online cameras. • Wrote “MegaHAL”, a conversation simulator, and made it available on the web. • Achieved straight A+ grades in final year.

PhD (ABD), UWA, 1995-1999 • Won the Loebner AI Prize in 1996. • Travelled overseas extensively, visiting universities and attending conferences. • Developed a sophisticated predictive language model in C. • Worked as a tutor for various Engineering units. • Wrote many research reports, and made many technical presentations. • Submitted thesis in 1999, before relocating to the UK. Employment History

Senior Geophysical Software Engineer, DownUnder GeoSolutions, January 2011—June 2011 DownUnder GeoSolutions, or DUG, is an innovative geosciences company offering a diverse range of products and services to the global oil and gas industry. • I started at DUG at the end of my sabbatical out of a desire to brush up on my Java skills and gain experience working in the oil and gas industry, which is almost a rite of passage for a Perth-based engineer. • After spending some time becoming familiar with a massive code base, and learning the ins-and-outs of seismic interpretation, I was tasked with modernising the most neglected part of the software—well bore visualisation—while implementing new features and fixing long-standing bugs. • I moved on to start the development of a well correlation view before being assigned with developing an automated seismic mistie correction package. • Much of my time at DUG was spent attempting to improve existing development practices and fixing numerous minor issues in the codebase, which I did after finding them to be the root cause of several bug reports. • A company restructuring saw a new development team start in Toronto. I was offered and accepted a redundancy package.

Founding Director, GeekPunk, July 2010—Current GeekPunk is a web application development company. • I established GeekPunk with one other person in July 2010 after I left Titan Interactive to start my six-month “sabbatical”. It is primarily a vehicle for me to experiment with various ideas, by researching and specifying them in detail, by building prototypes where practical, and by implementing them end-to-end where possible.

• I released three products during my short break from the workforce. d-Board is an innovative text entry technology that uses a sophisticated predictive model to replace unwieldy on-screen keyboards with a cursor-based interface, FAQoverflow is a web application that makes it easy to access and read great answers to questions about everything, touching topics from cooking to finance to home maintenance to games, and MegaHAL.10 is an updated version of MegaHAL, a populat chatterbot I wrote 15 years ago. I also prototyped half-a-dozen games, and pitched several business ideas to potential investors. • GeekPunk gave birth to GeekSalt, a small web development studio that specialises in creating websites for Perth restaurants. By focusing on a particular market segment, and by leveraging third-party technologies, we’ve been able to provide our clients with professional results at a low price. It was my intention to finance GeekPunk’s speculative product development work with revenue from GeekSalt, but this has proved unfeasible.

Consultant, Titan Interactive, February 2010—June 2010 Titan Interactive is a web development company. • I was invited to start consulting to Titan Interactive while working at Living Years. I spent my first couple of weeks identifying existing issues with the business, from fine-grained details of the development process to big-picture items including the focus of the company and its future directions. I introduced new tools, including JIRA for project management and issue tracking, and Confluence for documentation, and new processes, including daily stand-up team meetings and weekly project post-mortems. I then monitored the development pipeline, identifying blockages and working to optimise process to prevent them from recurring. In three months we improved our average from three sites launched per week to almost twelve. • Towards the end of my time at Titan I concentrated on improving processes outside of development, including HR (advertising, interviews, hiring, performance appraisals, minimising staff turnover and exit interviews), telemarketing, sales and corporate vision. • While at Titan I specified and designed an email campaign manager, and oversaw its development in Ruby on Rails. This has since become one of the core modules that they offer to their clients.

Project Manager, Living Years, March 2009—May 2010 Living Years ( is a website similar to Facebook that makes it easy for users to create memorials for friends and relatives that have passed away. • I joined Living Years knowing that the project only existed as an idea, and that the site needed to launch before September. With only six months I worked to specify the project requirements, identify risks, hire a development team and plan a series of six two-week sprints. Apart from project management, I was also a key member of the development team, and ensured that our progress was always visible to management. We reached our featurecomplete milestone on schedule, spent a month in beta, and launched on September 1 as required. • I introduced the concept of Scrum, holding daily stand-up meetings during development, coaching the development team, maintaining a backlog of user stories and updating the scrum board and burndown chart. • I wrote the deployment scripts that were used for continuous integration and to deploy the website from testing to live. Among other things, these scripts generated documentation, performed integrity tests, ran a suite of unit tests, migrated the database, minified Javascript and CSS (including inline code), and uploaded assets to a content distribution network. • After launch, I worked to support our growing userbase, and continued to develop new features as requested.

Founding Director, RocketHands, February 2009—Current RocketHands is an Independent Games Developer. • I founded RocketHands with six former employees of Interzone with the intention of raising capital to allow us to work on a project for the Xbox360. We pitched a game to Microsoft, but were unable to attract the level of investment we required to start up. • In mid-2009 we changed tack, and started to focus on developing projects for the iPhone, working after hours and on weekends. We have launched two titles on the iPhone and one title on the iPad so far, and are actively developing several more. • We also continued to work on Flash-based games, and on downloadable games for the PC, and have released several proof-of-concept prototypes for free during the life of the company. • We have most recently embarked on a six-month project to develop two games in parallel, going through the stages of pitching concepts and prototyping game mechanics before planning and managing the development process, performing QA and beta testing, and implementing a marketing plan as we prepare to launch.

Lead Programmer, Interzone Games, February 2007—February 2009 Interzone Games developed Interzone Futebol, a Soccer MMO, for the PC. • As lead programmer I worked with production, art and design to ensure that required features were technically feasible and accurately estimated. I worked with individual programmers to remove roadblocks and to ensure they were maximally productive. I worked with QA to ensure that bugs were properly reported and reproduced, and then fixed in a sensible order. I also liaised with IT and external software vendors to ensure that all tools and systems were working and that any problems with them were resolved promptly. Finally, I drove planning and documentation initiatives. • I led a team of thirteen very good programmers, and still managed to spend a few days a week cutting code myself (mostly in C++ and Python). Among many other things, I wrote the physics engine, a significant amount of gameplay code, various tools and the beginnings of the automated build and deploy system. • We practiced the Scrum flavour of Agile software development, and this proved to be extremely valuable to our project, which required frequent iteration and constant re-adjustment to ensure that the end result was fun for the player.

AI Team Lead, Team Bondi, October 2004—February 2007 Team Bondi developed L.A. Noire, a AAA sandbox detective game for the PlayStation 3. The game finally launched in May, 2011. • As AI Team Lead, I was responsible for designing AI technology and implementing the bulk of the design in C++. I also interviewed, hired, mentored and supervised a team of six developers who were responsible for implementing other aspects of the AI system under my lead (such as the camera, the navigation system and the behaviour system). • I developed tools to allow game designers to enter and maintain data relevant to the game. For example, I wrote a tool (in Ruby, Rails and MySQL) that allowed designers to enter information about over 10,000 historic events to be used in the game. • I took on work outside of my role as it became apparent to me that certain aspects of the running of a software team were being overlooked. I set up the automated build system, established the coding standard, introduced unit testing, encouraged the adoption of using the bug database for software scheduling, developed a script to perform a one-button release of the game including a full data build, wrote the automated data build system, and developed miscellaneous tools for editing data, generating code and prototyping algorithms.

Programmer, Nautronix, January 2003—October 2004 Nautronix is a defense contractor that specialises in underwater acoustics. • At Nautronix I worked with a small, close-knit team of developers in a very structured environment, with an existing code base of well-written C++ code. • My first item of work involved tracking down issues in some of the unit tests that involved network communication. The problem turned out to be caused by a race condition between threads that was a direct result of an over-zealous locking strategy. Although I campaigned for smarter locking, I also worked to minimise the effects of the existing practice. • I also worked on a program that processed large volumes of multi-channel audio data, allowing the user to preview individual channels and then resample and export selected channels. This work involved writing and testing (via loopback) an audio recording and playback system. • My main item of work was the design and development of the RCMS, a system used on-site when performing submarine tests. This tool displayed the output of dozens of hydrophones in realtime in various ways, including raw audio output, LOFAR plots and a waveform display. It co-ordinated operator communications between various servers, and sent and received commands from a remote device, deep underwater, at the end of a kilometres-long cable. The system was finished to spec and I was involved in its installation.

Chief Scientist, Artificial Intelligence, July 2000—September 2001 Artificial Intelligence is a private research company that is developing technology which allows computers to learn human languages from scratch. • Our project was to follow Alan Turing’s advice, outlined in his famous paper on AI, by designing and building a “baby computer” that could learn language from scratch. • The company was structured in three parallel teams. I was the lead of the research team, I worked closely with the training team, and I advised the commercial team. As the chief scientist, I was responsible for hiring a team that would implement a system of my design, based on research that I performed. • I designed the various learning algorithms used by the baby computer, and implemented them, in C++, with the help of my team. • I worked to establish an online laboratory that allowed registered users to participate in various pattern recognition experiments in order to compare the ability of the human brain to recognise structure with that of our algorithms when hamstrung in much the same way. • I devised and announced the “Learning Machine Challenge” at the AAAI conference, which saw individuals and research groups submitting entries to play various simple competitive games with undefined rules. • I helped writers to generate content for another chatterbot I had written, which was used to prototype the application to be developed by the commercial team. Once the prototype was complete, I assisted the commercial team by helping to design a more powerful version of the chatterbot application. • During my time at Ai I underwent media training, was interviewed numerous times (by New Scientist, Wired, the BBC, the New York Times, and so on), and attended many conferences and workshops where I presented papers with my colleagues. • When the project was terminated prematurely by the events of September 11, 2001, our baby computer had already reached the linguistic competence of an 18-month-old human infant, as determined by an independent performance evaluation.

Programmer, Lionhead Studios, December 1999—June 2000 Lionhead Studios developed Black & White, a groundbreaking PC game that featured an advanced AI creature. • I was given the single task of developing a system that would allow the game designers to write “challenges” that would be run in-game, and which the player would have to complete. • I wrote a parser for the pseudo-code that the game designers were using to prototype the challenges, using Yacc and Lex to achieve this. I then wrote (in C++) a compiler that generated bytecode, and a stack-based virtual machine that executed the bytecode. Finally, I wrote various bindings that exposed game functionality to the scripting language, allowing the designers to move the camera, spawn creatures in the game and so forth. • I worked on optimising the code once it was working well enough to allow the designers to get on with their work. The script compiler and virtual machine were implemented in a DLL that could be reloaded by the game on demand, which sped development. I also wrote a sandbox that allowed scripts to be compiled and run without the game having to be present. Finally, I wrote HTML documentation for the system so that the designers could continue to use it after my departure. • The game “went gold” almost a year after my departure, with dozens of challenges written using the scripting system that I developed. Only a single bug was discovered in the system I wrote before the game shipped.

Founding Director, Amristar, September 1999—January 2003 Amristar is an IT company that specialises in online mapping technologies. • I formed Amristar with four friends from University as an umbrella under which we could continue to perform innovative research while earning an income from contract programming, with a view to bootstrapping ourselves to financial independence. • Our first project was for a local real estate company which wanted an interactive mapping system for displaying their property listings spatially. I was involved in the initial negotiations and design of the system. • I remained a “silent director” during my time overseas. • In early 2002 I rejoined the team, where I helped to design and develop AMWOS, a centralised workflow operations system for a chain of automative repair centres. Written in Delphi with a MySQL backend, my work also included developing and running a training course for store managers. • Amristar has continued to grow. Headquartered in West Perth, they currently employ dozens of developers, and have built a well-respected business.

Freelance Developer, June 1997—September 1999 • A German company approached me in 1997, offering to purchase the technology I’d developed for the Loebner Prize that year. This took the form of a program, written in C, Yacc and Lex, that parsed data written in a custom language of my design, and which specified various rules for simulating a conversation. Together with a colleague, we tidied up the code, fixed outstanding bugs, wrote documentation and shipped the final version of the product in a two week period. I later visited the company in Hamburg. • In 1998 I was approached by a local entrepreneur and contracted to develop a “kitchen sink” web portal. With another colleague I designed and implemented a complete solution in PHP with a MySQL backend. The system featured the concepts of users, groups, permissions, preferences, tasks and so on, and we delivered a dozen applications that ran on top of it, including a forum, a calendar, a file repository, a photo album, a diary and a ratings system.

Research Assistant, CSIRO, January 1990—December 1990 • I joined the group in 1989, after completing high school. I had decided to spend the year in the workforce before commencing my Engineering degree. • My role varied between writing programs in QuickBasic, porting legacy programs from Fortran, using CAD software to prepare 3D diagrams for publication, and testing various materials by installing “strain gauges” before subjecting them to destructive tensile forces using specialised equipment. Selected Publications

Hardcopies of these selected examples of my published work are available on request. • (with Michael Alder): Language Acquisition and Data Compression, 1997 Australasian Natural Language Processing Summer Workshop, 1997. • (with Michael Alder): Finding Structure via Compression, New Methods in Language Processing and Computational Language Learning, ACL, 1998. • Conversing with Stochastic Language Models, invited paper for the Third Workshop on Human-Computer Conversation, 2000. • (with Anat Treister-Goren): Creating AI: A Unique Interplay between the Development of Learning Algorithms and their Education, Modeling Cognitive Development in Robotic Systems, 2001. • (with Anat Treister-Goren): On Creating a Baby Computer and Training it to Converse, Artificial Intelligence and Applications, 2001. • (with Jonty Barnes): Scripting for Undefined Circumstances, AI Game Programming Wisdom, 2002. • Conversation Simulation and Sensible Surprises, invited book chapter for Parsing the Turing Test: Philosophical and Methodological Issues in the Quest for the Thinking Computer, 2008. • (with Alex J. Champandard): Artificial Intelligence as Entertainment: Towards IndustryRelevant Game AI Research, invited journal paper for the IEEE Transactions on Computational Intelligence and AI in Games, forthcoming.

Testimonials & References

Testimonials from former colleagues are available from my LinkedIn profile. • Wayne Hughes, Managing Director, Titan Interactive ( • Barry Epstein, Marketing Director, Living Years ( • Ben Board (Team Bondi), Developer Manager, Microsoft (ben • Colleen Baur, Senior Programmer, Nautronix ( • Yaki Dunietz, President, Artificial Intelligence ( • Jonty Barnes (Lionhead), Head of Production, Bungie ( • Dr. Michael Alder (PhD Supervisor), UWA (


I deeply appreciate you taking the time to evaluate my resume, which was written in a style requested by Google. I look forward to hearing from you regarding opportunities that you may be able to offer me which fit my skill set and my desire to make a positive impact on the productivity and motivation of existing teams, and to lead the development of a project from idea to launch.

Resume for Jason Hutchens