Stephen Surtees Portrait
Stephen Surtees software consultant

Experience

Software Consultant - foxcoding ltd

2023-pres

  • Provide consultancy services through my ltd company.
  • Closed source development.

Lead Web Engineer - ZeroLight

2020-2023

  • Mentor developers and provide domain knowledge.
  • Manage live deployments and critical support tickets in a timely fasion.
  • Assist with hiring by reviewing CVs and conducting interviews.

Software Engineer - ZeroLight

2017-2020

  • Made changes across the full stack to support video rendering in SpotLight. This involved changes to multiple projects, written in Javascript, Python and C#.
  • Built the core of three customer facing applications. These were all part of the core SpotLight app, written with React, Redux, GraphQL, Node, Koa and MongoDB.
  • Built and maintained a low latency thumbnail service using AWS Lambda.
  • Improved application architecture, substantially increasing the maximum order size.

Games Programmer - Clockwork Chilli

2014-2017

  • Used Node and MongoDB to develop the company website. Implemented a forum, blog, and login system. Built a new database by migrating data from the old SQL database into Mongo.
  • Created HTML5 games using WADE. These include a word puzzle game, space shooter, match3 game and a few others. Most use the standard 2d context, however later ones utilise webgl and fragment shaders for improved performance and special effects. Leaderboards and other required web services were implemented using NodeJS hosted on AWS.
  • Implemented an algorithm to create convex shapes from concave ones, allowing better integration with box2D. As a result, wade users can now specify custom collision shapes, instead of being limited to boxes, and other convex polygons.

Languages & Tools

JavaScript, TypeScript (Advanced)

React, Redux, Styled Components, GraphQL, Redis, Node, Express/Koa, MongoDB, SocketIO, AWS, Elm, Hugo, JQuery, Html, Css/Sass

C, C++, Go (Intermediate)

SDL, SFML, OpenGL, Vulkan, Glsl, Gin

C#, Python, Rust, Haskell (Novice)

Space Engineers Scripting, WPF, pygame, wgpu, Scotty

Java, Lua, 68k, Piet (Dabbled)

Android SDK, ComputerCraft

Education

BSc(hons) Computer Games Software Engineering (2.1) - Northumbria University

2009-2012

My degree covered a wide range of topics, including web design and relational database design. The core modules were focused on maths and programming using the c++ language. Content was mostly delivered in the context of video game development.

Additional modules covered software architecture, common patterns such as; factory, state and object pool. My favourite assignment was programming Snake using the classic 68k assembly language.

My dissertation explored the potential application of Neural Networks in game agents. Specifically, the Back Propagation Network approach was compared against the Naive Bayes Classifier for determining which state the agent should occupy.

A Levels - Prudhoe Community High School

2007-2009

Maths, Physics, Chemistry

Projects

Nerde Solver

Wrote a program in Haskell to aid in Solving Nerdle Puzzles.

Dots and Boxes

Wrote a multiplayer version of the classic pen and paper game using SocketIO. The idea was to make two bots face off against each other, using docker containers to ensure reasonably fair access to system resources.

Tetris

Implemented the classic Tetris game using native HTML5 and JavaScript.

Bluetooth Robot

Built a custom Arduino robot controlled via serial over Bluetooth. The bot itself was coded in the 'C' language. Initially a free app was used to issue commands via a terminal. Later I created a c# program to control the bot. The program handled initialising connections, and movement with keyboard controls.

Fractal Generator

Built a c++ program with a c# interface to generate fractals using the Mandlebrot and Julia sets of complex numbers.

Others

CPU Ray Tracer, OpenGL 3D Engine, Feistel Cipher, Asteroids, Tic Tac Toe with Min Max and many others.

Personal Interests

Electronics

Recently I've been getting back into Arduino, revising the basics of electronics, and learning about RFID.

Music

I play the Violin, and occasionally the Bass Guitar. In the past I've played, the Saxophone, Clarinet, Tin Whistle, Ocarina and Recorder.

Martial Arts

Practiced Karate, Jiu-Jitsu and Archery. These days I have less time, and mostly focus on fitness, and Bouldering.

Astronomy

Jupiter, Saturn and the Moon all look stunning through a telescope. I've also spent time looking for galaxies, satellites and constellations.