Toby Johnson



  • Currently

    Working for Capgemini Invent as a Full-Stack Software Engineer

  • Location

    West Sussex, England


Full-Stack Software Engineer at Capgemini Invent

LinkedIn | GitHub | Medium

Phone

+44 (0) 7824994605

Currently

Working for Capgemini Invent as Full-Stack Software Engineer

Location

West Sussex, England



Capgemini Invent

Full-Stack Software Engineer

London, England

April 2024 - Present

Sony Europe

Software Engineer Contractor

Basingstoke, England

Nov 2022 - March 2024

Core technologies

Python, C#, React.js, TensorFlow, OpenCV, JavaScript, TypeScript, Django, Docker, PostgreSQL

Role description and achievements

  • I was asked to return to the Software Quality Assurance (SQA) team to lead the scaling, development and deployment of the machine learning system I had designed and developed in my placement year.
  • Using Ansible and GitHub Actions, I developed a CI/CD pipeline to containerise and deploy a Python machine learning application to various international Windows servers. Presently, I am working with our AI engineers in Germany to add new functionality to this Python application, such as automated test case creation.
  • I designed and continue to develop a full-stack web application that provides analytics on the Python tool’s data. Built with React.js, Django, Next.js, TypeScript and PostgreSQL; a platform for Sony’s non-technical personnel to make better, data-driven decisions with Sony TV software packages.
  • Designed a symmetric encryption protocol for securely transferring user information between internal applications. Recognizing its potential for broader use, I presented it to other teams. Subsequently, I created comprehensive technical documentation and supported various teams in its implementation.

Sony Europe

Software Engineer Contractor

Basingstoke, England

July 2021 - July 2022

Core technologies

Python, C++, React.js, TensorFlow, OpenCV, TypeScript, Django

Role description and achievements

  • In the SQA team, I developed a multi-threaded, Python-based machine learning tool coupled with a web application to provide analytics and report generation on the tool’s collected, confidential data.
  • I developed convolutional neural networks and a navigation algorithm with object detection to traverse Sony’s TV software. During traversal, the tool would collect mission-critical data on the TV software, which would then be sent to the web application for analysis and visualisation.
  • I worked throughout the year with senior Sony engineers and managers to amend and create new test case specifications for the TV software, we then developed our tool to meet these new specifications.

Technology Stack

Core languages

Python

Over two years of commercial experience with Python and used to create my dissertation project.

Java

Was taught Object-Oriented Java at University and built on this with personal mobile application projects.

JavaScript

Strong knowledge of JavaScript from building a web application at Sony Europe and also from building websites for myself and friends/family.

C#

Familiar with C# from developing some of Sony's internal Windows tools.

Swift

Followed a Model View ViewModel (MVVM) architecture when I was developing my mobile application BeautyTruth.

HTML

Confident in HTML from writing my own websites and using .tsx with Sony's web application.

CSS

Learned from the various sites I've built. Used flexbox and CSS modules for Sony's web application.

Frameworks, libraries and supersets

Django and Django Rest Framework

Have been working with Django for just over two years, primarily with my time at Sony.

React.js

Been working with React for over 2 years building enterprise tools. It continues to be my framework of choice for personal projects.

TypeScript

I've always adopted TypeScript for its vast improvement to developer experience. Have over two years experience working with it on enterprise codebases.

PyTorch

My dissertation project is written with PyTorch for it's higher level of flexibility for machine vision applications. You can see this project here.

TensorFlow

Good knowledge of TensorFlow from university. I'm also familiar with TensorFlow Lite, having used it for enterprise IoT devices.

Version Control

Git

Several years I've been working with Git for my projects and enterprise work.

Databases

PostgreSQL

Familiar with designing structured, relational schemas for enterprise tools

MongoDB

The unstructured database of choice for my own projects and at my time at university. Have experience working with this in Sony also.

Containerisation

Docker

Containerized various web applications with docker and have deployed Python containers to various international Windows servers.

Cloud Services

aws icon

Amazon Web Services

For the Software Engineering module in Year 2, we needed to build a web application in groups. For our project, we used:

Elastic Beanstalk

We used BitBucket Pipelines to containerise our web application and deploy it to our Elastic Beanstalk environment.

Lambda

To make periodic corrections to our MongoDB database.

EC2

Our application was hosted on an EC2 instance which we integrated with our NGINX reverse proxy.

Cognito

To handle our user authentication

Platforms

Windows

Worked on Windows Server 2019 when I was developing with some of Sony's C# internal apps.

Linux

Good unix skills built over time working with containers, WSL and primarily Debian-based distros.

BePanda

Small project selling reusable drink flasks and cups

Oct 2018 - Present

Founded by myself, I wanted to provide people with an alternative to single use plastic coffee cups.

I designed and branded two products and shared profits with a plastic pollution charity.

I've sold them in local garden centers and are available online.

“To accelerate the transition to natural and ethical cosmetic products”

A mobile application to analyse ingredients on beauty products.

April 2021 - July 2021

Started by me and some friends at university, we wanted to increase the convenience and confidence for consumers in identifying natural and ethical cosmetic products.

I developed a barcode scanner in Swift that would fetch from a product database and display product information. I picked a database by a company called Digit-Eyes who after speaking to them, found that they store all their data onsite and have data on millions of barcodes. The data is kept up to date by scraping product webpages for each barcode.

However, I made the decision to pause development on BeautyTruth to focus on my placement at Sony.

Resources

surrey logo

University of Surrey

Bachelor's degree, Computer Science and Information Technology BSc

With Professional Training Year

2019 - 2023

Awarded First Class Honours

Year 4

2022 - 2023

Deep Learning and Advanced AI

70%

Information Security Management

61%

Distributed Systems

80%

Internet of Things

58%

Natural Language Processing

62%

Total

70%

No resits

Final Year Project

Pathvision: An open source, object tracking algorithm and an Explainable AI method utilising cutting-edge, gradient-based techniques to explain decisions made by object detection models.

Professional Training Year

2021 - 2022

Sony Professional Solutions Europe

Software Engineer Intern

Year 2

2020 - 2021

Computer Networking

83%

Web Applications Development

65%

Software Engineering Project

81%

Artificial Intelligence

81%

Information Retrieval

76%

Further Programming Paradigms

79%

Business Law

77%

Finance For Business 1

50%

Total

73.75%

No resits

Year 1

2019 - 2020

Web And Database Systems

81%

Foundations Of Computing ||

85%

Programming Fundamentals

80%

Software Engineering

84%

Data Structures And Algorithms

64%

Foundations Of Computing

49%

Financial Accounting

61%

Marketing Principles

58%

Total

70.25%

No resits

Brighton, Hove & Sussex Sixth Form College

Sixth form college

2016 - 2018

Computer Science A Level

B

Extended Project

C

Business BTEC Level 3 Subsidiary Diploma

Distinction*

Applied Law BTEC Level 3 Certificate

Distinction*

Downlands Community School

Secondary School

2011 - 2016

GCSEs Including Maths and English

A-C