SlideShare a Scribd company logo
Resume
Name Marcus John O’Brien
Title Senior Online Software Engineer and Team Leader
Location Vancouver, Canada
Telephone (+1) 604 436 4577
Email marcusobrien@yahoo.com
Programming Experience
C++ UNIX/Linux Platform 15 Years
C++ Windows 15 Years
Shell Programming (Linux/Win/Unix/Mac) 15 Years
C# 8 Years
Java 5 Years
SQL (MS and MySQL) 4 Years
XML/JSON/HTML 5 Years
Test Driven Development (Multiple Frameworks) 8 Years
Agile (Scrum) 8 Years
API/SDKs
Microsoft .Net 8 Years
Windows Communication Foundation (WCF) 5 Years
Windows Presentation Foundation (WPF) 3 Years
QT C++ Trolltech (inc Squish Testing) 3 Years
CDT/Swing/AWT/Jface/JDBC/GEF Java 2 Years
Eclipse Plugin API 2 Years
OpenCV 1 Year
Google AI Tensorflow 3 Months
Other key skills
SOAP / RESTful Online development / IIS
MS IoT and AWS IoT (cloud Services)
Arduino/Raspberry Pi/Banana Pro/Robot C
Repositories – Git/Perforce/Subversion/RCS/CVS/SourceSafe
Instrumentation and Code Analysis – NCoverage, Purify, Quantify, Bounds checker
POSIX - Cygwin / Linux / MinGW
Game Console SDKs - PS3/PS4 Toolkit, Xbox 360/1
Mobile – Mac XCode (with Libimobile) - Android ADB (with MADB)
Confluence Wiki, JIRA bug tracker
Testing Frameworks
MBUnit, Junit, Squish, MSTest, JMeter and Gatling Load Testing (via AWS)
Analysis and DesignMethodologies
Unified Modelling Language (Rational Rose)
Education
PhD ResearchArtificial Intelligence – Semantic and Neural Networking, including
natural language processing, inference engines, pattern recognition, image recognition
Degree - BSc Hons 2:1 Computer Systems Nottingham University
Employment History
Senior Online Developer EA Games, Vancouver
From April 2013 – Current
I have been working on the new EA Frostbite game engine. All out titles are currently
moving over to this new technology, and my tasks are to re-write our test framework
tool to allow our game teams to be more test driven. This will have huge savings in
our development budgets, and also greatly increase the quality and reliability of all
our software deliverables, from games to tools to web services. The tool is written in
c# and I am currently capturing requirements, designing the system and prototyping
new ideas. This involves working with teams in 10-15 different countries (across
multiple languages and time zones), and with various team sizes with budgets up to
$20 million.
Senior Online DeveloperUFC FreeToPlay Mobile EA Games,
From April 2013 – February 2015 Vancouver
I developed online web services for a free to play UFC game (over 1 million
downloads from Apple Istore and Android store). My responsibilities include
designing, implementing, testing various services for the game progression systems.
After developing these systems I was tasked with making sure the game would scale
for our predicted daily active users and TPS. I had to make sure our test systems
generated enough transactions per second (using JMeter/Gatling through AWS), and
our systems could handle the load. The main iteration cycle involved testing,
rewriting and optimising our c# services, and optimising our MSQL DB.
Optimisations included eliminating joins in SQL, introducing redundancy in the DB,
caching static data, caching dynamic data, adding indexes, simplifying code,
atomising retrieved data , reducing the number of client HTTP calls etc. I personally
successfully optimised our games web services to scale in preparation for our launch.
We are currently supporting 260k PCU (concurrent logged in users).
Senior Online Developer Ubisoft Entertainment, Montreal
From February 2010 – April 2013
I began working for Ubisoft on the online team. I developed backend solutions
available through a C++ SDK that the game clients could integrate. I introduced
functionality that allowed gamers to enter unique key codes that would unlock certain
privileges in the game, e.g. new maps, character skins etc. Code was written in C++
and Python, and interacted with a MySql database. All solutions had to be scalable
and were load tested with JMeter. Game clients such as Assassins Creed were
customers. I was then asked to develop an entirely new system using C# and IIS to
replace some legacy systems. I completed this task on my own over a year, allowing
privileges to become cross platform and cross title. This SOAP solution would unify
and be used by all titles in the Ubisoft range.
For the past year I have been replacing and unifying all legacy online systems with
pragmatic RESTful solutions written on WCF in C# using IIS. These systems must be
backward compatible and all URIs are versioned to support this.
Senior Software Engineer EA Games, Vancouver
From March 2008 – November 2009
At EA I was developing games for both the PS3 and the Xbox. As a senior engineer, I
started working in the pipeline team. This central team is responsible for processing
all the artwork, audio and gameplay assets that are created for the game. This was a
challenging role whereby immediate diagnosis and rectification of any problems was
necessary to minimize downtime for the 100+ team. I then moved into different areas
of game development including AI and backend services. My last task at EA was to
integrate web kit into a game, and using asp.net mvc and c#, to develop an in game
web site. I also developed web services using C# that both the game client and the
web browser utilized. In parallel to this I developed our backend database solutions
using MySQL and SQLServer, on both linux and windows platforms.
Senior Software Engineer Cyan Technology Ltd, Cambridge
From July 2005 – March 2008
Cyan is a fabless microcontroller designer. I worked on the main software product
which is an Integrated Development Environment called CyanIDE, this allowed our
customers to write embedded C for our family of microcontrollers. My development
role began implementing software using the Trolltech QT Multi-platform toolkit. I
contributed into the IDE a direct memory editor, breakpoint and bookmark support,
persistent workspace and profile support, integration of a QScintilla text editor, and
various other GUI based functions. I was also responsible for creating a nightly
automated build and test solution, this included checking out all source, creating an
install using InstallShield, booting VMWare virtual machines for Windows XP,
Windows 2000 and Linux, installing the new install into each VM, executing
automated tests written in Python for the Squish environment and emailing all results
to all team members. This helped to alleviate some of the bottlenecks in the
development lifecycle, saving us a great deal of time and money.
During the last 18 months we moved from supplying our own IDE, to extending the
IBM Eclipse IDE using Java. I have implemented the CDT toolchain mechanism for
our toolchain (compiler/linker etc), extended the IDE by adding new views and
editors, as well as written some of the graphical chip configuration code (using GEF).
Senior C++ Software Engineer and Team Leader Eley Metrology Software
From January 2003 – July 2005
I ran the software development team for a company specialising in producing
applications for the metrology (measurement) industry. The 2 main products, were
designed using UML and written in Visual C++(MFC), the graphics routines utilise
OpenGL. My recent development projects include implementing a STEP ISO10303
CAD file reader and displaying the 3D CAD file using the OpenGL development kit,
this included rendering the 3D image using texture mapping, and implementing
various lighting effects.
Senior Software Engineer and Team Leader (1999-2001)Marconi Plc
My last 2 years at Marconi Communications were spent mentoring and leading a team
of 10 software engineers on a project to complete a new version of a telecoms
management system. My responsibilities included implementing new functionality
into the system to very strict deadlines (due to high dependencies), mentoring the
departments other 25 software engineers in ANSI C++ and overseeing design and
implementation reviews. I continued to implement new functionality into the system,
which included a GUI based application to allow remote configuration of equipment
and an object persistency database.
Senior Software Engineer and Team Leader (1998 - 1999) Marconi Plc
I was asked to form and recruit a trouble-shooting team to finish and support an
overdue project for a multinational customer (Siemens). This involved running my
team, liaising with Siemens, software fault diagnosis and rectification, patch
deliveries on a live system (controlling an entire telecoms network), and customer
support.
C++ Software Engineer (1994 – 1997) GEC Plessey Telecoms
I began working for GPT as a software engineer on a telecommunication management
project. This large-scale project was distributed over 5 countries, with around 400
software and test engineers contributing to the development. This gave me valuable
experience of the complexities and logistics of development on large-scale projects.
PhD ResearchArtificial Intelligence – Semantic and Neural Networking 1993-1994
I researched the first 18 months of a PhD in the field of Artificial Intelligence. My
research involved developing a new type of semantic network to be used for
knowledge representation, this also included a natural language parser. Other aspects
of my research were concerned with neural networking techniques. I also lectured and
gave seminars at the Nottingham Trent University.
Interests
From 2001 to 2002 I travelled through Central and South America. This wonderful
experience gave me the opportunity to see a beautiful part of the world that I will
never forget. It also provided me with the opportunity to pursue my favourite
activities of trekking and camping, in both the Andes mountain range and the Amazon
rainforest. Since joining EA I have been coaching and captain of an employee soccer
team, I managed to motivate the team to moving up from last position to finishing 4th
in our league. My other hobbies are robotics, electronics, Raspberry Pi and Arduino
project making, fly fishing, classic literature and video games.
Personal Strengths
I have excellent communication skills, both written and verbal. My experience
enables me to commit to deadlines with a high degree of certainty. I am self-
motivated and pro-active, and I also take pride in all my work. I am seeking a new
challenge in a company where I can contribute my skills towards new goals.
Employment Status
I am currently authorised to work in Canada, having received my permanent
residency status. I am living and working in Vancouver.
Shipped Games
EA Games
UFC Free to play mobile – apple and android – all web services and optimisations
Skate 2 – Pipeline/AI/Bug fixing
Skate 3 – Web services for UGC and Blaze configuration for
matchmaking/stats/leaderboards
UFC Gen 4
NHL 15
Ubisoft Games
Assassins Creed 2
Assassins Creed Brotherhood
Driver San Francisco
Assassins Creed 3
Splinter Cell Conviction
References – Current Reference Available on request
Harvey Thompson Stephen Page
Pipeline Team Leader Software Group Leader
EA Games Cyan Technology Ltd.
Sanderson Way Buckingway Park
Burnaby Swavesey
BC Cambridge
Canada England
604 456 4400 (44) 1954 234 400
Online publications (Tiny URLs are case sensitive) :
Controlling iOS Devices Via C# Code on Windows OS
http://tinyurl.com/MarcusOBIOSOnWindows
General C# MS Unit Test Tips for a New Development Project
http://tinyurl.com/MarcusOBUnitTesting
Manipulating Android Devices from a Windows C# App
http://tinyurl.com/MarcusOBADB
Giving Your Devices Constant IPAddresses
http://tinyurl.com/MarcusOBConstantIP
Commands for Controlling an iOS device in Windows using libimobile
http://tinyurl.com/MarcusOBIOSCommands
ADB Common Commands (Android Debug Bridge)
http://tinyurl.com/MarcusOBMADB
Combinatorial Explosion – A cautionary tale in OO
http://tinyurl.com/MarcusOBCombinatorial
Const and Read Only in Java,C# and C++ - A Comparison
http://tinyurl.com/MarcusOBConstandReadonly
Virtual Functions in Java, C# and C++ - A Comparison
http://tinyurl.com/MarcusOBVirtualFuncs
Warning Virtual Functions in C# from C++
http://tinyurl.com/MarcusOBC-Warning
Current Home Projects
I am currently building a multi-skilled home robot. At the moment I'm working on the recognition
aspects,and I am using some Arduino embedded boards to track people in a crowded room. The IR
systemdirects the 2 degrees of freedom USB camera systems,these then track people's moving faces
and eyes.Using previously trained models and templates, the visual recognition systemcan recognise
known faces with a 90% degree of certainty, it then uses a semantic network to start a conversation
with that person based on previously discussed topics.My robot's visual software uses Qt and OpenCV
on a Raspberry Pi 3. The otherraspberry pi 3's control the mobility and avoidance system, speech
recognition and simulation system, brain (semantic net and various Dbs), and an entertainment system
(web browser/music/film player).
I am also completing an ant colony simulation application for the Android OS. The App (soon to be
launched), uses distributed ant colony behaviour to find complex solutions to algorithmic problems
such as the travelling salesman problem. These stochastic systems are too complex to solve via brute
force and basic heuristics, so I am am researching the effectiveness of swarm behaviour.
The ant colony lives in an environment that resembles the actual salesman problem to solve. Each city
is represented by a weighted node, with the weight being the distance between the nodes for the
salesman or ant to travel. The ants either have to visit each node only once, or find a food source within
the environment using the minimum distance travelled.
The user can change many environmental and behavioural aspects to the ants and the colony, and study
the effects in terms of how efficiently the colony finds food with the minimum weight/effort.
The ants can act in an individual manner to start with (thus using dynamic stochastic behaviourto
explore and find the quickest food source). But as food sources are found,solutions (the best trails to
the food) are passed on to other ants via pheromone trails. The ants can then form a swarm and explore
more of the problem space using more intelligence “learnt” from the individual successfulpheromone
trails.

More Related Content

PDF
0581OS_FM_Final_NT
DOCX
Uday Resume
DOCX
Sunil Kumar Sarvepalli
RTF
DOCX
Shanling_resume
PDF
resume
PDF
Dot Net Project Mini Game
DOC
Stef_AmoaCV
0581OS_FM_Final_NT
Uday Resume
Sunil Kumar Sarvepalli
Shanling_resume
resume
Dot Net Project Mini Game
Stef_AmoaCV

What's hot (19)

DOCX
Shanling_resume_1019
PDF
Technical Architect on Embedded System.
PDF
IRJET- Online Compiler for Computer Languages with Security Editor
DOC
Mahesh - Resume - Paypal
PDF
Modern JavaScript Applications: Design Patterns
DOCX
SnehalBale_Java_Developer_2.4yrs exp
PPSX
Java Semimar Slide (Cetpa)
PDF
.Net framework vs .net core a complete comparison
PDF
MSalah_20161010
DOCX
Shivaprakash_KR_Resume
PPT
EGL Conference 2011 - EGL Overview
DOCX
Jigyanshu
DOC
Chiranjeevi_QA Engg.
PPTX
C#.net, C Sharp.Net Online Training Course Content
DOCX
James e owen resume detailed jan 2-16
PPTX
A Comparison of .NET Framework vs. Java Virtual Machine
PPTX
Android summer training report
PDF
CV_Serhiy_Medvedyev_2015
Shanling_resume_1019
Technical Architect on Embedded System.
IRJET- Online Compiler for Computer Languages with Security Editor
Mahesh - Resume - Paypal
Modern JavaScript Applications: Design Patterns
SnehalBale_Java_Developer_2.4yrs exp
Java Semimar Slide (Cetpa)
.Net framework vs .net core a complete comparison
MSalah_20161010
Shivaprakash_KR_Resume
EGL Conference 2011 - EGL Overview
Jigyanshu
Chiranjeevi_QA Engg.
C#.net, C Sharp.Net Online Training Course Content
James e owen resume detailed jan 2-16
A Comparison of .NET Framework vs. Java Virtual Machine
Android summer training report
CV_Serhiy_Medvedyev_2015
Ad

Viewers also liked (11)

PPTX
ไทย
PPTX
Panduan advance excel
PDF
How to donate via www.borkboon.com
PPT
Epidemiologi Dekskriptif
PPT
Ukuran Frekuensi Penyakit
PDF
Curriculum vitae caro y fer
PDF
การสอนภาษาไทยในฐานะภาษาต่างประเทศ
PDF
Kopi tiam presentation
DOC
Perhitungan pajak rumah sakit contoh
PDF
การสอนภาษาไทยในฐานะภาษาต่างประเทศ
PDF
การสอนภาษาไทยในฐานะภาษาต่างประเทศ
ไทย
Panduan advance excel
How to donate via www.borkboon.com
Epidemiologi Dekskriptif
Ukuran Frekuensi Penyakit
Curriculum vitae caro y fer
การสอนภาษาไทยในฐานะภาษาต่างประเทศ
Kopi tiam presentation
Perhitungan pajak rumah sakit contoh
การสอนภาษาไทยในฐานะภาษาต่างประเทศ
การสอนภาษาไทยในฐานะภาษาต่างประเทศ
Ad

Similar to CVInDoc2017 (20)

PDF
Oliver Trevelian Sneyd (curriculum vitae)
DOCX
CV-05.04.16
DOC
Jonathan Mooser
DOC
Resume_-_Abhilash_Suryanarayan
DOC
David Robinson's On Line CV
DOCX
ResumeTimConnell
DOC
CV_NguyenHoaiNam_201510
PDF
Duane Yates Curriculum Vitae
DOC
Sr_Lead_QA_April_2016
DOCX
Adam Moore CV Sky
PDF
Outplacement
DOC
Resume_Sharvani
PDF
Jordan Sept-2015
DOC
MHa Resume Aug 27 2012
PPTX
Supersize your production pipe enjmin 2013 v1.1 hd
DOCX
resume-michael-garvin
DOC
Christopher Hunter CV
DOC
Jonathan Mooser
PDF
Ayres shannon resume.4.17.12
PDF
James Sullivan CV 2015
Oliver Trevelian Sneyd (curriculum vitae)
CV-05.04.16
Jonathan Mooser
Resume_-_Abhilash_Suryanarayan
David Robinson's On Line CV
ResumeTimConnell
CV_NguyenHoaiNam_201510
Duane Yates Curriculum Vitae
Sr_Lead_QA_April_2016
Adam Moore CV Sky
Outplacement
Resume_Sharvani
Jordan Sept-2015
MHa Resume Aug 27 2012
Supersize your production pipe enjmin 2013 v1.1 hd
resume-michael-garvin
Christopher Hunter CV
Jonathan Mooser
Ayres shannon resume.4.17.12
James Sullivan CV 2015

CVInDoc2017

  • 1. Resume Name Marcus John O’Brien Title Senior Online Software Engineer and Team Leader Location Vancouver, Canada Telephone (+1) 604 436 4577 Email marcusobrien@yahoo.com Programming Experience C++ UNIX/Linux Platform 15 Years C++ Windows 15 Years Shell Programming (Linux/Win/Unix/Mac) 15 Years C# 8 Years Java 5 Years SQL (MS and MySQL) 4 Years XML/JSON/HTML 5 Years Test Driven Development (Multiple Frameworks) 8 Years Agile (Scrum) 8 Years API/SDKs Microsoft .Net 8 Years Windows Communication Foundation (WCF) 5 Years Windows Presentation Foundation (WPF) 3 Years QT C++ Trolltech (inc Squish Testing) 3 Years CDT/Swing/AWT/Jface/JDBC/GEF Java 2 Years Eclipse Plugin API 2 Years OpenCV 1 Year Google AI Tensorflow 3 Months Other key skills SOAP / RESTful Online development / IIS MS IoT and AWS IoT (cloud Services) Arduino/Raspberry Pi/Banana Pro/Robot C Repositories – Git/Perforce/Subversion/RCS/CVS/SourceSafe Instrumentation and Code Analysis – NCoverage, Purify, Quantify, Bounds checker POSIX - Cygwin / Linux / MinGW Game Console SDKs - PS3/PS4 Toolkit, Xbox 360/1 Mobile – Mac XCode (with Libimobile) - Android ADB (with MADB) Confluence Wiki, JIRA bug tracker Testing Frameworks MBUnit, Junit, Squish, MSTest, JMeter and Gatling Load Testing (via AWS) Analysis and DesignMethodologies Unified Modelling Language (Rational Rose) Education PhD ResearchArtificial Intelligence – Semantic and Neural Networking, including natural language processing, inference engines, pattern recognition, image recognition Degree - BSc Hons 2:1 Computer Systems Nottingham University
  • 2. Employment History Senior Online Developer EA Games, Vancouver From April 2013 – Current I have been working on the new EA Frostbite game engine. All out titles are currently moving over to this new technology, and my tasks are to re-write our test framework tool to allow our game teams to be more test driven. This will have huge savings in our development budgets, and also greatly increase the quality and reliability of all our software deliverables, from games to tools to web services. The tool is written in c# and I am currently capturing requirements, designing the system and prototyping new ideas. This involves working with teams in 10-15 different countries (across multiple languages and time zones), and with various team sizes with budgets up to $20 million. Senior Online DeveloperUFC FreeToPlay Mobile EA Games, From April 2013 – February 2015 Vancouver I developed online web services for a free to play UFC game (over 1 million downloads from Apple Istore and Android store). My responsibilities include designing, implementing, testing various services for the game progression systems. After developing these systems I was tasked with making sure the game would scale for our predicted daily active users and TPS. I had to make sure our test systems generated enough transactions per second (using JMeter/Gatling through AWS), and our systems could handle the load. The main iteration cycle involved testing, rewriting and optimising our c# services, and optimising our MSQL DB. Optimisations included eliminating joins in SQL, introducing redundancy in the DB, caching static data, caching dynamic data, adding indexes, simplifying code, atomising retrieved data , reducing the number of client HTTP calls etc. I personally successfully optimised our games web services to scale in preparation for our launch. We are currently supporting 260k PCU (concurrent logged in users). Senior Online Developer Ubisoft Entertainment, Montreal From February 2010 – April 2013 I began working for Ubisoft on the online team. I developed backend solutions available through a C++ SDK that the game clients could integrate. I introduced functionality that allowed gamers to enter unique key codes that would unlock certain privileges in the game, e.g. new maps, character skins etc. Code was written in C++ and Python, and interacted with a MySql database. All solutions had to be scalable and were load tested with JMeter. Game clients such as Assassins Creed were customers. I was then asked to develop an entirely new system using C# and IIS to replace some legacy systems. I completed this task on my own over a year, allowing privileges to become cross platform and cross title. This SOAP solution would unify and be used by all titles in the Ubisoft range. For the past year I have been replacing and unifying all legacy online systems with pragmatic RESTful solutions written on WCF in C# using IIS. These systems must be backward compatible and all URIs are versioned to support this.
  • 3. Senior Software Engineer EA Games, Vancouver From March 2008 – November 2009 At EA I was developing games for both the PS3 and the Xbox. As a senior engineer, I started working in the pipeline team. This central team is responsible for processing all the artwork, audio and gameplay assets that are created for the game. This was a challenging role whereby immediate diagnosis and rectification of any problems was necessary to minimize downtime for the 100+ team. I then moved into different areas of game development including AI and backend services. My last task at EA was to integrate web kit into a game, and using asp.net mvc and c#, to develop an in game web site. I also developed web services using C# that both the game client and the web browser utilized. In parallel to this I developed our backend database solutions using MySQL and SQLServer, on both linux and windows platforms. Senior Software Engineer Cyan Technology Ltd, Cambridge From July 2005 – March 2008 Cyan is a fabless microcontroller designer. I worked on the main software product which is an Integrated Development Environment called CyanIDE, this allowed our customers to write embedded C for our family of microcontrollers. My development role began implementing software using the Trolltech QT Multi-platform toolkit. I contributed into the IDE a direct memory editor, breakpoint and bookmark support, persistent workspace and profile support, integration of a QScintilla text editor, and various other GUI based functions. I was also responsible for creating a nightly automated build and test solution, this included checking out all source, creating an install using InstallShield, booting VMWare virtual machines for Windows XP, Windows 2000 and Linux, installing the new install into each VM, executing automated tests written in Python for the Squish environment and emailing all results to all team members. This helped to alleviate some of the bottlenecks in the development lifecycle, saving us a great deal of time and money. During the last 18 months we moved from supplying our own IDE, to extending the IBM Eclipse IDE using Java. I have implemented the CDT toolchain mechanism for our toolchain (compiler/linker etc), extended the IDE by adding new views and editors, as well as written some of the graphical chip configuration code (using GEF). Senior C++ Software Engineer and Team Leader Eley Metrology Software From January 2003 – July 2005 I ran the software development team for a company specialising in producing applications for the metrology (measurement) industry. The 2 main products, were designed using UML and written in Visual C++(MFC), the graphics routines utilise OpenGL. My recent development projects include implementing a STEP ISO10303 CAD file reader and displaying the 3D CAD file using the OpenGL development kit, this included rendering the 3D image using texture mapping, and implementing various lighting effects. Senior Software Engineer and Team Leader (1999-2001)Marconi Plc My last 2 years at Marconi Communications were spent mentoring and leading a team of 10 software engineers on a project to complete a new version of a telecoms management system. My responsibilities included implementing new functionality into the system to very strict deadlines (due to high dependencies), mentoring the departments other 25 software engineers in ANSI C++ and overseeing design and implementation reviews. I continued to implement new functionality into the system, which included a GUI based application to allow remote configuration of equipment and an object persistency database.
  • 4. Senior Software Engineer and Team Leader (1998 - 1999) Marconi Plc I was asked to form and recruit a trouble-shooting team to finish and support an overdue project for a multinational customer (Siemens). This involved running my team, liaising with Siemens, software fault diagnosis and rectification, patch deliveries on a live system (controlling an entire telecoms network), and customer support. C++ Software Engineer (1994 – 1997) GEC Plessey Telecoms I began working for GPT as a software engineer on a telecommunication management project. This large-scale project was distributed over 5 countries, with around 400 software and test engineers contributing to the development. This gave me valuable experience of the complexities and logistics of development on large-scale projects. PhD ResearchArtificial Intelligence – Semantic and Neural Networking 1993-1994 I researched the first 18 months of a PhD in the field of Artificial Intelligence. My research involved developing a new type of semantic network to be used for knowledge representation, this also included a natural language parser. Other aspects of my research were concerned with neural networking techniques. I also lectured and gave seminars at the Nottingham Trent University. Interests From 2001 to 2002 I travelled through Central and South America. This wonderful experience gave me the opportunity to see a beautiful part of the world that I will never forget. It also provided me with the opportunity to pursue my favourite activities of trekking and camping, in both the Andes mountain range and the Amazon rainforest. Since joining EA I have been coaching and captain of an employee soccer team, I managed to motivate the team to moving up from last position to finishing 4th in our league. My other hobbies are robotics, electronics, Raspberry Pi and Arduino project making, fly fishing, classic literature and video games. Personal Strengths I have excellent communication skills, both written and verbal. My experience enables me to commit to deadlines with a high degree of certainty. I am self- motivated and pro-active, and I also take pride in all my work. I am seeking a new challenge in a company where I can contribute my skills towards new goals. Employment Status I am currently authorised to work in Canada, having received my permanent residency status. I am living and working in Vancouver. Shipped Games EA Games UFC Free to play mobile – apple and android – all web services and optimisations Skate 2 – Pipeline/AI/Bug fixing Skate 3 – Web services for UGC and Blaze configuration for matchmaking/stats/leaderboards UFC Gen 4 NHL 15 Ubisoft Games Assassins Creed 2 Assassins Creed Brotherhood Driver San Francisco Assassins Creed 3 Splinter Cell Conviction
  • 5. References – Current Reference Available on request Harvey Thompson Stephen Page Pipeline Team Leader Software Group Leader EA Games Cyan Technology Ltd. Sanderson Way Buckingway Park Burnaby Swavesey BC Cambridge Canada England 604 456 4400 (44) 1954 234 400 Online publications (Tiny URLs are case sensitive) : Controlling iOS Devices Via C# Code on Windows OS http://tinyurl.com/MarcusOBIOSOnWindows General C# MS Unit Test Tips for a New Development Project http://tinyurl.com/MarcusOBUnitTesting Manipulating Android Devices from a Windows C# App http://tinyurl.com/MarcusOBADB Giving Your Devices Constant IPAddresses http://tinyurl.com/MarcusOBConstantIP Commands for Controlling an iOS device in Windows using libimobile http://tinyurl.com/MarcusOBIOSCommands ADB Common Commands (Android Debug Bridge) http://tinyurl.com/MarcusOBMADB Combinatorial Explosion – A cautionary tale in OO http://tinyurl.com/MarcusOBCombinatorial Const and Read Only in Java,C# and C++ - A Comparison http://tinyurl.com/MarcusOBConstandReadonly Virtual Functions in Java, C# and C++ - A Comparison http://tinyurl.com/MarcusOBVirtualFuncs Warning Virtual Functions in C# from C++ http://tinyurl.com/MarcusOBC-Warning Current Home Projects I am currently building a multi-skilled home robot. At the moment I'm working on the recognition aspects,and I am using some Arduino embedded boards to track people in a crowded room. The IR systemdirects the 2 degrees of freedom USB camera systems,these then track people's moving faces and eyes.Using previously trained models and templates, the visual recognition systemcan recognise known faces with a 90% degree of certainty, it then uses a semantic network to start a conversation with that person based on previously discussed topics.My robot's visual software uses Qt and OpenCV on a Raspberry Pi 3. The otherraspberry pi 3's control the mobility and avoidance system, speech recognition and simulation system, brain (semantic net and various Dbs), and an entertainment system (web browser/music/film player). I am also completing an ant colony simulation application for the Android OS. The App (soon to be launched), uses distributed ant colony behaviour to find complex solutions to algorithmic problems such as the travelling salesman problem. These stochastic systems are too complex to solve via brute force and basic heuristics, so I am am researching the effectiveness of swarm behaviour. The ant colony lives in an environment that resembles the actual salesman problem to solve. Each city is represented by a weighted node, with the weight being the distance between the nodes for the salesman or ant to travel. The ants either have to visit each node only once, or find a food source within the environment using the minimum distance travelled. The user can change many environmental and behavioural aspects to the ants and the colony, and study the effects in terms of how efficiently the colony finds food with the minimum weight/effort. The ants can act in an individual manner to start with (thus using dynamic stochastic behaviourto explore and find the quickest food source). But as food sources are found,solutions (the best trails to the food) are passed on to other ants via pheromone trails. The ants can then form a swarm and explore more of the problem space using more intelligence “learnt” from the individual successfulpheromone trails.