Stephen Mitchell

Software developer with around 6 years of industry experience and a degree in Computer Science from Northumbria University. Located in Sunderland, UK.


Employment History

BMSHome Limited (trading as Thermionix Energy) - Sunderland, Tyne and Wear

Software Engineer - August 2013 - Present
  • Used experience gained in previous role to help architect major design improvements to an existing system.
  • Reimplemented the above system in Python. This drastically increased development speed, allowing the company to meet the requirements of a project and claim funding which would otherwise have been lost.
  • Played a key role in all areas of the development lifecycle of the above system, including requirements gathering, design, development and deployment.
  • Split up the functionality of a large, monolithic application using the RabbitMQ message broker. This increased the stability and robustness of the system, as well as allowing for individual testing of each system component.
  • Wrote asynchronous Python code using Twisted, including handling of inbound TCP connections, outbound HTTP requests, communication with a RabbitMQ server using the Pika library and asynchronous database access using SQLAlchemy and Alchimia.
  • Wrote firmware for various ARM chips using the Arduino IDE, gaining a working knowledge of several built-in and third party libraries.
  • Presented feedback on various technical aspects of the project to colleagues, managers and investors both during project meetings and in the form of written reports.
  • Used the Pandas and Numpy libraries for basic data analysis and used the Matplotlib library to generate static and live graphs. Also gained some exposure to the Flask web framework whilst writing simple RESTful APIs.
  • Set up and administered several Git repositories hosted on GitHub, working with colleagues to establish the most suitable workflow and agree conventions for ticket, pull request and branch naming.
  • Set up and administered several Linux-based VPSes, including a production server supporting several customers.
Graduate Intern (Software Engineer/Programmer) - August 2012 - August 2013
  • Learned Ada from scratch immediately after starting role whilst also becoming familiar with a large existing codebase.
  • Worked closely with a colleague to maintain and develop the above code.
  • Designed and implemented several GTK user interfaces making use of the Glade UI Designer and GtkAda binding.
  • Set up and administered a source control system based around Subversion and the Trac issue tracking system.
  • Pioneered the use of Python scripting to perform tasks for which the existing Ada code was too inflexible. This included creating custom monitoring scripts which saved several hours per week of manually examining test data and caught bugs which may otherwise have gone unnoticed.
  • Took ownership of several of the above projects, in some cases completing proof-of-concept work outside of work time to prove their viability and justifying the business case for completing them to colleagues and managers.

Echostar Europe - Steeton, West Yorkshire

Undergraduate Software Engineer - July 2008 - August 2009
  • One year work placement undertaken as part of BSc Computer Science course.
  • Maintained and updated a large C program running under a UNIX-like environment on satellite set-top boxes.
  • Learned Python, and applied this knowledge whilst maintaining a multi-threaded Python script used to control and monitor the above.
  • Gained a working knowledge of the DVB family of protocols whilst working with satellite and terrestrial transport streams.
  • Gained extensive experience working in the Linux console and using the CVS source control system.


Northumbria University - Newcastle upon Tyne

BSc Computer Science (Hons): 2:1 - 2006 - 2010

Included the following modules:

  • Programming 2 (Java) – 100%
  • Data Structures and Algorithms – 91%
  • Introduction to Internet Technologies – 90%
  • Relational Databases: Theory and Practise – 85%

City of Sunderland College - Sunderland, Tyne and Wear

'A' Levels - 2004 - 2006
  • Computing (A)
  • Psychology (B)
  • English Language (C)
  • General Studies (D)

Southmoor Community School - Sunderland, Tyne and Wear

GCSEs - 1999 - 2004

11 GCSEs at grades A* - B including Computing (A*), Maths (A) and English Language (B)

Personal Projects


Pebble Smartwatch App - 2015

Pebble Smartwatch application to display the GitHub activity feed for a given user. Written using the PebbleJS JavaScript framework. Source code available at Has been downloaded more than 500 times from the Pebble App Store.

Technical Skills


  • Python, including Twisted, Pika, SQLAlchemy, Flask and Tkinter libraries
  • Arduino (C/C++-like syntax), including various built-in and third party libraries
  • MySQL (usage and some administration)
  • Git (usage and administration through GitHub), including the Git Flow methodology
  • Markdown (including GitHub Flavoured Markdown)

Past Exposure

  • Additional Python libraries including Pandas, Numpy and Matplotlib
  • Ada
  • C
  • Java (academic only)
  • C++ (academic only)
  • Oracle 9 (usage, academic only)
  • LaTeX
  • HTML 4.0 and CSS
  • Subversion (usage and administration)
  • CVS (usage)

Download CV

Please click one of the buttons below to download a printer-friendly version of my CV.


Please complete the form below to contact me.

Form powered by FORMSPREE.IO