Daniel Dobson

Daniel Dobson

Product Owner

London UK

  • I have a background in engineering management, scrum, agile practices, jira, confluence, virtual reality, augmented reality, real time graphics, 3D render pipelines, shaders, C++, C#, Unity, git, svn, perforce, aws, npm, pug and optimisation. I worked with Microsoft Game Studios, to create the Fable 2 and 3 video games, which achieved both critical acclaim and combined sales of over 7 million.
  • I was among the founders of Foxhaut Games, we developed the Astralis video game, whic was featured on the front page of Microsoft’s Xbox Live Indie Games service in both the United Kingdom and Canada, reaching the #1 spot in the charts in both regions, and #2 in the United States, without being featured there.
  • I have been building software commercially for over 18 years, since achieving a Bachelor of Science with First Class Honours in Applied Computing from Middlesex University, where my final year project was chosen to represent the university in its application to join the British Computer Society.

Skills Map

Technology Stack

2018 onwards

2014 - 2017

2001 - 2013

2019 onwards

Product Owner
Virtual Retail

Hiring amazing people, navigating towards our goals.

Being an effective manager of our tasks.

Helping our business to grow and our team to develop.

2017 - 2019

Engineering Manager

Spec VR ​(Android and iOS). A Virtual Reality View and Navigation App forProperties, represented as both Photospheres and Meshes.

The App allows users to explore and navigate properties that have been scanned by digital surveyors.

Sprint planning, line management, 121s, hiring, mentoring, development and release management of the App. Responsible for engineering decisions and managing stakeholders.

2013 - 2017

Lead Programmer
Kuato Studios

Lead the team that developed ​Recall - The Memory Jogger, Safari Tales, Dino Flip, Dino Paint, Dino Tales Jr, an unannounced Virtual Reality Project (Gear VR and Google Cardboard), and began development of The Famous Five Adventure Game​ (iOS and Android).

Managed developers, oversaw and implemented both the core and bespoke architecture, emphasised code quality, software engineering principles, and was responsible for the team hitting our sprint targets.

Implemented analytics tracking & client side web methods. I mentored the developers and intern on my team.

2012 - 2013

Engineering Manager
Foxhaut Games

Astralis ​(Xbox 360) - Independently developed, featured on the Xbox Dashboard. I was responsible for hiring, 121s, mentorship, project management.

I created and maintained the gameplay and engine systems, deferred renderer, terrain, normal and parrallax mapping, animation, multi-threading, AI, deployment to Xbox Live, in game purchasing, model, keyframe and texture compression, multi maps, emissive lighting, audio, source control.

We used Agile practices – Scrum, paired programming, as well as regular peer reviews, functional testing and performance instrumentation.

2011 - 2012

Lead Programmer

Magic Town ​(PC Web edutainment title) - Created the architecture for the GUI and web method based online communication.

iOS prototyping

Android prototyping

2009 - 2011

Experienced Programmer

Bodycount ​(Xbox 360, PS3) - Weapons, player, aiming, collision, tool integration.

Data driven design (JSON and XML), camera, HUD, first person animation.

Visual effects, shaders, entity component system, point lights.

2005 - 2009

Gameplay Programmer
Microsoft Game Studios

Fable II (Xbox 360) - GUI, HUD, active syncing, detail, normal and parallax mapping on GUI with skinning.

Fable III (Xbox 360) - Editor tools, fencing, splines.

Middleware integration, localization.

2001 - 2005

Gameplay Programmer
Bits Studios

Die Hard Vendetta ​(Xbox, PS2, GameCube)​ - Multiplayer (CTF, death match, team death match, last man standing, king of the hill) split screen. Multiplayer animation finite state machine, muzzle flashes, projectiles, balancing gameplay, weapons, collectibles.

Rogue Ops (Xbox, PS2, GameCube) - GUI controls, menu system, front end. Constantine (Xbox, PS2) - Inventory system, front end, particle based death effect and flamethrower, multiple mesh based progressive boss that reforms dynamically.

Payout Poker & Casino ​(Xbox, PS2) - Slot machine behaviours, league tables, and GUI.

1998 - 2001

BSc (1st Class Honours) in Applied Computing
Middlesex University

Studied graphics and object oriented programming (C++, Java).

DirectX and console programming (Playstation Net Yaroze). Applied my existing programming skills in C and 68000 based Assembler to the academic world.

My final year project (heightmapped terrain) was chosen to represent Middlesex University's application to join the British Computer Society.

Team skills

Jira is what I use for User Story Mapping, Road Maps, the backlog and the active sprints.

Slack is an acronym for 'Searchable Log of All Conversation and Knowledge'. I use it for certain indirect team communication, via channels. Minimises disrution by allowing people to reply when they are ready.

Confluence works well as a a wiki, although I would prefer more control over the .css and page content.

Skype feels more reliable for audio calls tom me then Slack, and has fewer volume issues.

appear.in is useful when I want to setup a conference with a group of people from an external organisation.

Google Accounts support services that I use daily like email, calandar, Google Drive and plugins too like Lucid Chart.

LinkedIn has helped me recruit amazing colleagues. It also allows me to recomment people based on their strengths, and easily ask questions to people I have worked with in the past.

Source control skills

GitHub is a web-based hosting service for version control using Git. It offers all of the distributed version control and source code management functionality of Git as well as adding its own features.

BitBucket is a web-based version control repository hosting service owned by Atlassian, for source code and development projects that use either Mercurial or Git.

GitKraken is (in my experience) a more reliable source control tool for Git than SourceTree. It is available for Windows, Mac and Linux.

SourceTree is a free Git/Mercurial GUI client for Windows and Mac. Sometimes it has issues.

Editor & IDE skills

JetBrains Rider is great for refactoring C#, and working with Unity, even more so than Visual Studio 2017 was.

Visual Studio Code is my favourite source code editor, and was ranked the most popular developer environment tool, in the Stack Overflow 2018 Developer Survey. It is based on Electron.

Visual Studio 2019 is an integrated development environment for Android, iOS, Windows, web, and cloud. It can produce both native code and managed code.

Android Studio is the official IDE for Google's Android operating system, built on JetBrains' IntelliJ IDEA software.

Notepad++ is my lightweight text and source code editor, usually for when stuff is less than a page long.

Beyond Compare is my favouriate diff / merge tool. It can comparing files, directories, images, FTP and SFTP directories, Dropbox directories, Amazon S3 directories, and archives.

Doxygen is a tool I use intermittently to generate docoumentation and diagrams from source code.

Engine & Library skills

Unity is a cross-platform game engine. As of 2018, the engine has been extended to support 27 platforms.

prime31 have been developing iOS and Android apps since the day the App Store opened its doors. They have extensive C#, iOS, Android, Mac and Windows experience.

Vuforia is an augmented reality SDK for mobile devices that enables the creation of augmented reality applications. It uses computer vision technology to recognize and track planar images (Image Targets) and simple 3D objects, such as boxes, in real time.

Language skills

C# remains my favourite programming language overall. Balances power with superb iteration time, type safety, and refactoring capabilities.

C++ is powerful. But it is also possible to be a federation of four languages (C, Object Oriented C++, Template C++ and the STL etc). Mixing them is dangerous.

Python has become my multiplatform scripting language of choice as opposed to Bash or Batch scripts.

Typescript was worked on by Anders Hejlsberg, the lead architect of C# and creator of Delphi and Turbo Pascal. I prefer it to Javascript because it scales.

Javascript is popular, but I do not feel that it scales well.

GLSL and HLSL are the languages I've used to manipulate vertices and pixels, using the GPU. Shader code is some of the most rewarding code that I have written.

Java has been well structured and tidy, ever since I first encountered it at university. 'Refactoring' by Martin Fowler made me appreciate it even more.

Kotlin is actually cooler than Java.

Web stack skills

Chrome is my favourite web browser for both viewing and debugging in.

npm is used by 11 million JavaScript develoeprs, and gets the job done.

Pug is much more fun than writing and maintaining HTML directly.

Gulp is a task runner built on Node.js and npm, used for automation of time-consuming and repetitive tasks involved in web development like minification, concatenation, cache busting, unit testing, linting, optimization, etc.

WebPack is an open-source JavaScript module bundler. Yet it is also capable of transforming, bundling, or packaging just about any resource or asset, for example front-end assets like HTML, CSS, even images if the corresponding plugins are included.

Bootstrap is a free and open-source front-end Web framework. It contains HTML and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions.

Amazon Web Services have yet to disappoint me.

AirVPN is a Virtual Private Network service I use in conjunction with Firefox. Maintains my privacy, allows full Netflix content, and stops my ISP from selling my browsing history to advertisers.

BiglyBT is a bittorent client that I use for distributing videos. If I hosted the files myself I would have to pay for the bandwidth, but instead I let users contribute their bandwidth.

MongoDB appeals to me because it is a document-oriented database program, and flattening to rows and tables is about as much fun as it sounds.

Graphics skills

Blender supports the entire 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, video editing and 2D animation pipeline.

Maya is in my opinion better than 3DS Max, although Autodesk owns both.

3DS Max is the first 3D modelling and animation software that I explored, at university.

Photoshop is my image editing software of choice. Textures, icons, photos are all a joy to iterate on using this. That said, its expensive and I am interested in alternatives.

Lucid Chart is my preferred tool for diagrams.

Sketch recently caught my eye, it is a vector editor with fast prototyping and collaboration.

draw.io is what I use for SVGs, mainly maps.

Audio and Video skills

YouTube currently supports up to 8k / 60fps / 360 / stereoscopic video formats. In the context of VR films it is increasingly relevant.

Audacity has loyally served all my sound sample related needs, including loops, fades, adjustments etc, and it is free.

Future skills

React is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies.

Angular is a JavaScript-based open-source front-end web framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications.

Vue is an open-source JavaScript framework for building user interfaces and single-page applications.

Redux is an open-source JavaScript library for managing application state. It is most commonly used with libraries such as React or Angular for building user interfaces. Similar to (and inspired by) Facebook's Flux architecture.

MobX is a simple, scalable and battle tested state management solution. MobX is a standalone library, but most people are using it with React.

Tableau is the most vibrant data visualization tool that I have come across.