Rupert Ward Software Engineer, Scientist, Mathematician

10 Stevens Avenue, Hackney, Email: r [email protected] London, E9 6RX, UK. Phone: +44 (0)7769 701273 British.

A programmer and mathematician with a broad range of creative, analytical, and practical skills and experience including Lead/Principal roles and Project Management, I have a thorough but adaptable approach which I enjoy bringing to bear on new challenges. I enjoy responsibility and thrive under pressure. While I am happiest working as part of or leading a team I also have considerable experience of working independently, and in both scenarios I have managed projects from concept to completion.

Skills and Experience

Software Development: OOD, Game-play, UI & UX, Build processes, Optimisation, Stability, Networking, Localisation, Logic, Statistics, Image manipulation, Tools & Test systems, Database interaction, Version and Content Management Systems, Threading, Cross-Platform, AR systems platforms (ARKit & ARCore), OpenCV.

Languages: C++/STL, C#, Java, various scripting languages.

Tools/Environments: Unity Game Engine, Visual Studio, Monodevelop, Eclipse, unix/linux (incl. sysadmin, x-windows), source control (incl. git, Perforce, SubVersion, CVS, mercurial), JIRA/TestTrack.

Documentation: Technical, academic and journalistic writing, including software design process, standard operating procedures and protocols, communication of technical/mathematical/scientific concepts to lay people. News, editorial and opinion pieces. Proof-reading and reviewing.

Management: Coding team lead, project management, recruitment, chairing of large and small meetings.

Training: Teaching, mentoring, post-graduate supervision. Design & implementation of training processes.

Maths/Scientific: Logic, scientific method, applied statistics, AI, image analysis & computer vision, Bayesian analysis, fractal dimension analysis. Genetic algorithms, Mathematical and statistical support.

Web development: Webservices, php, basic SQL. Developed an early CMS from scratch using perl cgi scripts to generate HTML, XML and WML pages from a custom-built text database system.

Other Software: Stats packages (Stata, Systat, SPSS, R), documentation (incl. MS/Open Office, LaTeX, DocBook), mathematical (MATLAB, Mathematica, MathCad), image processing (Adobe, TopCat, ds9).

Rupert Ward Software Engineer. Scientist, Mathematician page 1 of 4 Employment record

Aug 2017 Principal Engineer - present Conspexit Ltd

Employed to work on a mobility phone app for blind and visually impaired people, I am also helping out at sister company Conspexit Games Ltd. Both aspects involvesprototyping of C++ image analysis algorithms using OpenCV, implemented as native C++ Unity plug-ins in development/test tools that run on iOS, Android, OSX, and Windows. For the mobile platforms I have also combined these algorithms with SLAM data from the platform-specific AR systems (ARKit and ARCore) for use in an AR game.

Jan 2017 Unity Developer (contract) - Apr 2017 Preloaded

At Preloaded I joined the team working on rebuilding the McDonalds Happy Studio children's game for global distribution. This was a major refactoring project to enable provision of newly skinned and configured content through Asset Bundles. Having reworked the Musician sub-game I then moved onto the props and mini-games area, including integrating the PlayMaker plugin with existing game systems to enable the introduction of totally new mini-game behaviours.

Oct 2014 Senior Software Engineer (including Team Lead role) (contracting for a month then permanent) - Feb 2016 Stick Sports Ltd

At Stick Sports I worked on finishing the mobile game Stick Soccer 2, before taking the lead on the Golf Valley team (2 artists, 2 junior designers, a producer and myself as sole coder) which I took from concept to publication. These were created in Unity, and my work included design and implementation of aspects including animated UIs, gameplay features including a novel control mechanism, physics and visual effects, server updates using version-controlled asset bundles and live data, interaction with both local and server- based databases, and integration of 3rd party plugins (including FB and GameAnalytics). I also took over development and maintenance of the tool used to generate the 3D world for the golf game. I left in February 2016 to take a break for family reasons.

Stick Soccer 2 and Golf Valley (both free to play) are currently available in the stores for IOS and Android.

Jun 2010 Senior Software Engineer (Principal role) - Aug 2014 Cybersports Ltd/Xoomworks Ltd

At Cybersports I worked on the online 3D multiplayer football game “Football Superstars” (FS) for PC, and its browser-based cross-platform spin-off “Striker Superstars” (SS).

These both involve multiple servers (written in C++ and running on both linux and Windows), which communicate (using REST, SOAP, TCP and UDP protocols) with each other as well as with SQL databases and clients written in C++ (FS) and Unity/C# (SS). My coding duties include development and maintenance of all these elements. In addition I was responsible for the build, deployment and management of the live and test servers, automated testing, source control admin, management of our JIRA issues and localised game string and graphic asset databases, technical documentation (eg for funding drives & tax relief applications), and recruitment of programmers. I also did a fair bit of simple art work. Unfortunately the studio closed in August '14.

Striker Superstars can still be played on the web at www.strikersuperstars.com. Football Superstars is also still running (footballsuperstars.com) but is a big download and for PC only.

Rupert Ward Software Engineer. Scientist, Mathematician page 2 of 4 Aug 2008 Programmer & Team Lead - Dec 2009 Beautiful Game Studios, Square Europe (formerly Eidos Interactive)

Having decided to leave the academic world, I was employed to work on the PC football management simulation game 2010 (released Sept 2009). After one year I was promoted to Team Lead on the Game Logic team, responsible for managing and mentoring a team of three programmers, ensuring adherence to and developing the studio’s technical design process, writing test plans, liaising with Production, Design, and other departments, in addition to continued technical design and coding duties.

My work exposed me to many areas of the game, from game logic to front end and DB. Specific coding responsibilities included the data-driven simulation of player ageing and generation, transfer negotiation AI, player psychology and training. Technologies used included C++/VS, Perforce, TestTrackPro, UML, perl.

I was made redundant at the end of 2009, along with the rest of the coding team, when BGS decided to cease UK development of the game.

Aug 2007 Research Fellow - Aug 2008 Astronomy Centre, University of Sussex

SPIRE is an astronomical instrument making far infra-red observations from ESA’s Herschel Space Observatory (launched 2009). I produced Java implementations of Bayesian point source detection algorithms to analyse the sky maps produced, within the project’s collaborative multinational core science system HCSS. This involved design, implementation, validation, testing, documentation and presentation. The resulting library was incorporated into the project’s python and Java-based user interface, as well as in stand-alone programs, and is now being used to investigate the early life of our universe.

Jul 2004 Research Associate - Oct 2006 Applied Clinical Anatomy Department, King’s College London (Guy’s Hospital)

On completing my PhD, and as my algorithms became the basis for clinical trials, I moved into a role more focussed on technical Project Management including: design, monitoring and analysis of radiographic studies; training and management of measurement technicians; liaison with pharmaceutical companies (including explaining technical concepts to groups of lay-people from a variety of backgrounds); writing of measurement protocols and standard operating procedures within Good Clinical Practice guidelines; statistical analyses of study data, sample size determination, supervision of graduate and post-grad students. I was the statistician for the group and provided technical support of various kinds (including stats, maths, scientific research methodology, and hardware and system administration).

I also continued to develop new measurement algorithms. When the department closed in late 2006 I was building an experimental microfocal CT set. This involved writing an MFC GUI to manage acquisition and processing of projection images, incorporating interaction with a frame-grabber and stepper-motors driving the CT turntable.

Nov 1993 Research Assistant - Jul 2004 Anatomy Department, UMDS (Guy’s Hospital Medical School)

I was employed to create a large modular C++ package (to run under linux and Solaris) for fast and flexible implementation of image-processing algorithms which could be applied interactively in the tool’s GUI or integrated with network, DB and film digitisation processes in an automated system. This involved design, implementation, documentation and validation (to FDA audit requirements) of the algorithms as well as of the scientific studies used to test the system; the latter went on to become the basis for major clinical trials conducted by the department.

Rupert Ward Software Engineer. Scientist, Mathematician page 3 of 4 1989 Maths Teacher - 1992 Various private colleges in Oxford From infant to degree level, in classes and individually, to students of all ages from 7 to 60.

Education

2004 University of London PhD in Anatomy and Human Morphology I designed, developed and validated automated image analysis tools for radiographic measurement of joint- space width. These became the industry standard, used in several large multinational clinical trials. See ‘Employment’ section for more details of this work.

1993 University of Westminster MSc in Cognitive Science & Intelligent Computing (dist.)

Modules: AI programming, Neural networks, Visual processing & Computer Vision, Natural language processing, Finite element analysis, Linguistics, Psychology, Human-Computer Interaction. Project (Neurology Dept, Guy’s Hospital): Successfully developed a Genetic Algorithm in C++ to optimise discrete spatial filters approximating convolution with arbitrary continuous kernel functions.

1989 Balliol College, Oxford University BA (Hons) in Mathematics & Philosophy (2:1)

Papers: Pure & applied algebra; Integration & transform theory; Complex analysis & topology; Functional analysis; Logic & set theory; History of philosophy; Philosophy of science, maths & logic; Wittgenstein. Dissertation: On epistemological pragmatism.

School 5 ‘A’ levels in Pure Maths (A), Physics (A), Chemistry (B), English (B), Art (E). 13 ‘O’ Levels.

Other

In 1994 I founded the first ever website for Arsenal FC. It used my own news database system, written in perl, enabling different authors to submit news stories which were then converted to HTML, XML (RSS feed), and WML (mobile) versions; this pre-dated the now-ubiquitous blogging and content management systems. The site has been dormant since 1997. It can still be seen, probably in a broken state, at www.arseweb.com.

For a number of years I have been involved in organising pool teams at County level, as chair, secretary, and for 10 years as captain of the highly-successful London ‘A’ team (National Champions 2010 & 2011). This has included committee and constitutional work as well as balancing the needs of an unusual variety of strong characters. I currently manage the County Association's website where I created the player stats database.

At college in Oxford I was president of the Junior Common Room for a year, a role involving negotiation with college authorities, staff management, and chairing of committee meetings as well as large and sometimes hostile open meetings.

I have a clean driving licence and a little Spanish.

There is a list of my academic publications available at http://rupertward.co.uk /Publications.Rupert_J_Ward.doc

Rupert Ward Software Engineer. Scientist, Mathematician page 4 of 4