Hello, I'm

Gregory Thomas

Software Engineer in Cambridge, UK

//About me

I have 6+ years of software engineering experience, and have worked in a range of environments, from teamwork in a small startup to solo work for larger companies. I have experience in full-stack development using a variety of languages on different platforms.

Whilst I love the challenges that programming brings, I understand the importance of solving the overall problem from a business standpoint. I work hard at documentation; it is written for a future developer, for my knowledge, and for my own enjoyment.

I am looking for a senior engineer role where I can take on team leadership responsibilities and learn from new and challenging technical experiences.


  • Extensive experience with Android (Java), Python, HTML, CSS, Git
  • Experience with Kotlin, C#, Xamarin, Swift, Javascript, Google App Engine, SQL databases, Azure Notification Hubs
  • Some experience with RxJava, Room, RetroFit, BGScript


//Work projects


My personal interests include:

  • Software engineering. I create personal projects, share the code on GitLab and GitHub, and add topics to my public CompSci Knowledgebase. I want to share knowledge with others, and releasing that knowledge publically forces me to ensure my work is readable!
  • Data. For data backup, my two Linux servers are kept in separate locations and their data is mirrored using rsync; these servers communicate securely via my own Virtual Private Network (using OpenVPN), where only a Certificate Authority can grant access.
  • Making music. I have played the drums for 17+ years, and guitar for 12. I have showcased my musical skills at gigs with a band around the UK and at music jams where I improvise with different musicians. I am currently writing my own songs and recording them.

Recent projects

  • CompSci Knowledgebase is a public-facing resource that describes Computer Science terms and technologies in a way I find readable.
  • backstack.js is a frontend library to provide a mobile-like user-experience for the web. Each tab has manages their own backstack of screens. Screens can be easily traversed and allows for operations such as form submissions.
  • calendar is an Android app coded using Kotlin. It has a Model View Presenter (MVP) architecture, and uses a custom backstack and view classes instead of Fragments and Activities for simplicity.
  • Wrote a simple script to auto-rip owned CDs to .FLAC files directly to my server's harddrive on insertion of the disc