I'm Glen Thomas

Full Stack .NET Developer | Software Architect | UI / UX Designer | Mobile Developer

32 years young, technology enthusiast, coffee addict.

Hello, My Name is Glen.

Glen Thomas, 32 years young, born and grew up in England. I am a full stack .NET developer with excellent creative, problem solving skills and a passion for delivering cutting-edge software solutions that make a difference.

I currently work at BGC Partners in London, where I spend most of my time crafting and working on awesome projects.

I live technology. I'm excited about high performance systems running big data, magnificent UX, mobile computing, web applications and virtual/augmented reality. When I can put my computer down I am passionate about fitness and healthy eating.

Contact Details

  • Glen Thomas
  • London
  • +44 07962431233
  • glen.thomas@outlook.com
  • www.mrglenthomas.com

What I'm Doing

I love what I do. I take great pride in what I do. And I can't do something halfway, three-quarters, nine-tenths. If I'm going to do something, I go all the way.

1. Desktop Software

A lot of my commercial experience has been in producing desktop applications. I first began in my early teenage years, making homebrew applications in Visual Basic 6. I love the power and freedom that modern technologies like WPF provide in building beautiful yet powerful and high performing software.

2. Services

Working in a large enterprise, there are huge quantities of data to be processed, workflows to be performed and automation to be carried out. This requires building fast and reliable server-side technology and is something that I have become greatly skilled in. I have built many web and Windows services using REST/SOAP protocols, advanced multi-threading and message queuing systems including the highly acclaimed RabbitMQ and Apache Kafka.

3. Web Applications

My commerical web development experience has so far been limited, but is rapidly growing. I hugely enjoy web development and am highly motivated by the large user audiences that a good web application can attract. I am currently mastering Microsoft's latest incarnation of ASP.NET in the .NET Core framework with front-end frameworks like React for building single-page applications with Javascript/Typescript.

4. Mobile Development

Mobile applications have always been an area of special interest for me. For my personal project in my computer science degree I created a bluetooth networked application written in J2ME and since then have gone on to create application across various development platforms. I am very interested in cross-platform technologies such as Xamarin and NativeScript.

5. Database Development

In previous roles I have lead database programming and administration for software projects involving large numbers of users and vast quantities of data. Having since worked with full-time SQL developers has allowed me to gain additional database skills so that I can work effectively on large database systems.

6. Project Management

Being a lead developer in an agile environment requires good organisation and management skills in ensuring that the right software is delivered on time and works without any issues. My varied experience in software development, my deep enthusiasm and being thrown in at the deep-end early on have earnt me the skills required to guide, assist and manage other developers in achieving the end goal to the highest possible standard.

My Strengths

Failure will never overtake me if my determination to succeed is strong enough.

100%
Creativity
100%
Reliable
100%
Comunication
100%
Leadership
100%
Persuasion
100%
Problem Solving
100%
Planning
100%
Attention to Detail

My Resume

If you call failures experiments, you can put them in your resume and claim them as achievements.

Work Experience
2006 - Now

2017 - Now

Senior Developer - BGC Partners

At present I am working within Sunrise Brokers LLP; a market leading inter dealer broker providing OTC broking services in derivative products for capital market clients. We cover equity, commodity, credit and interest rate derivative markets in Europe, North America, Asia and Emerging Markets. My role is within the front office technology team with the main focus on the development of our strategic front office derivatives trading platform. The platform provides order management, price distribution, trade capture, derivative price discovery and pre\post trade analytics.

2015 - 2017

Senior Developer - Win Technologies

As a C#/.NET developer at Win Technologies, I was responsible for developing and maintaining in-house customer management applications using a range of technologies. Primarily, this involves WPF development in C#/.NET, across all layers of the applications, from presentation to data access. It also involves heavy service development for both internally created and maintained services and integration with external third party functionality. Working in an Agile methodology, we have created a strong team-driven development environment where we are encouraged to guide the design and implementation of business led enhancements based on their changing requirements.

2010 - 2015

Lead Developer - Lindenhouse Software

At Lindenhouse Software (now part of the Reckon brand) I used a wide range of development skills, including C#.NET, WPF, WCF and SQL Server development. The majority of my time was spent on the development of Lindenhouse's own document management solution; Virtual Cabinet. As a leading member of the desktop application development team I was able to provide a large input on the design and implentation of new and pioneering features of the Virtual Cabinet application and work to tight schedules in order to produce a class leading product. As a senior developer I am responsible for managing the development lifecycle of the Virtual Cabinet product, organising and training junior developers and liaising with developers working on other integrated products.

2009 - 2010

IT Specialist / Developer - Logic Computers

After graduating from university, an opportuniy of employment arose as a developer with a small IT business in Jesery.
Working throughout the entire development lifecycle, I would be involved with making on-site visits to client’s businesses to establish requirements and create designs for software solutions. Once the requirements of the project had been established and the software architecture devised, I would work in a small team to develop the project using various technologies, including C#, ASP.Net and SQL Server. When the implementations were complete I would assist in deployment, testing and routine maintenance.
Some projects also involved setting up new hardware systems as required by the client.

2006 - 2007

Analyst - LloydsTSB

At Lloyds TSB I spent 14 months in the Credit Systems and Databases team. My main responsibilities involved managing complex and critical mainframe systems and reporting to the Financial Services Authority on the data used by Lloyds TSB for credit risk analysis. This position required extensive use of mainframe systems, SAS programming, SQL programming and MS Office.
During my time in the position I was assigned several large projects, in which I was required to manage timescales, design, implement, test and deploy solutions to business requirements. I had the freedom to choose which technologies to incorporate into the projects and made use of many including SAS data analysis technologies, SQL, mainframe processing and Visual Basic for Excel automation programming. I attended an accredited SAS course at the Marlow SAS institute as well as an SQL course provided by NCR. I also taught myself the latest SAS features by reading documents from SAS conferences and was able to use these features to revolutionise the way SAS was used in the department.
Towards the end of the placement I had responsibility for training new members of the team in use of mainframe systems and analytical programming. I also created a number of technical documents for the systems used by the business for maintenance and development purposes.

My Education
2001 - 2008

2003 - 2008

Bachelors Degree - University of Brighton

This course involved in-depth training in software-hardware interface design, equipping me with the skills and knowledge to take on the technological challenges of the future. In the third year of the course I choose to take a paid professional placement in industry, working for LloydsTSB. The course is accredited by the British Computer Society, the chartered institute for IT professionals.


Modules
  • Programming
  • Databases
  • Mathematics
  • Website Development
  • Games Development Platforms
  • Human–Computer Interaction
  • Requirements Analysis
  • Computers in Context
  • Professional and Study Skills
  • Computer Systems Architecture
  • Intelligent Systems
  • 3D Graphics and Animation
  • Functional Programming
  • Games Development
  • Logic and Formal Specification
  • Object-oriented Software Design and Implementation
  • Individual project
  • Computer Graphics Algorithms
  • Applied Intelligent Systems
  • Emerging Technologies
  • Programming Languages Concurrency and Client Server

2001 - 2003

A-Levels - Long Road Sixth Form College

With the opportunity to begin specialising in my education, I chose the subjects close to my heart and that complimented each other perfectly.


  • Computing
    Problem Solving
    Programming
    Data Representation
    Operating Systems
    Databases and Networking
  • Maths
    Further Pure Maths
    Statistics/Mechanics
    Decision Maths
  • Physics
    Forces and Motion
    Electrons
    Waves and Photons
    Newtonian World and Astrophysics
    Particles and Medical Physics
  • Electronics
    Practical System Development
    Programmable Control Systems
    Communications Systems
    Practical System Synthesis

Skills & Expertise

A winner is someone who recognizes his God-given talents, works his tail off to develop them into skills, and uses these skills to accomplish his goals.

The majority of my professional work has been around building Windows-based client-server applications using the .NET framework. I have also had in-depth involvement in database development. Web and mobile development is a special interest as I get to make good use of my creative skills and so far is something that I tend to work on outside of my employment.

100%

Desktop

95%

Server

70%

Database

40%

Web

40%

Mobile

Knowledge

“Any fool can know. The point is to understand.” ― Albert Einstein

Learning new skills is not only part of my work, but also a hobby. One of my favourite methods of learning is through Pluralsight.com, which gives me just enough means to get started on a small project harnessing a previously unfamiliar technology and from there I can find my own way. Reading blogs of other developers such as Scott Hanselman provides great info on the latest happenings in the development world. Contributing to StackOverlow helps to discover lots of unusual programming scenarios and the best solutions to working around them.

I also like reading books on programming when I want to dive deeper into a topic and gain a thorough understanding of how something works and best practices in using it.

The ratings that I have given myself in technologies that I work with are a reflection of how much of the topic I think that I have covered and how much is still left to learn.

C#

95%

WCF

95%

XAML

100%

xUnit

100%

Subversion

100%

Team Foundation Server

90%

Octopus Deploy

90%

ASP.NET Web API

65%

ASP.NET MVC

25%

JavaScript

25%

WPF

98%

WinForms

90%

RabbitMQ

80%

T-SQL

80%

TeamCity

90%

JIRA

100%

Git

90%

HTML5 + CSS3

40%

Powershell

20%

Node

20%





Work Process

As a human being, I'm work in process.

The process that I follow when developing software varies depending on the type of project, but in every project I make sure to achieve the highest possible level of efficiency. There is little more frustrating than having to spend time on work that could have been done correctly the first time round.

1. Requirements
2. Design
3. Prototype
4. Develop
5. Test
6. Deploy

The first step is to gather a complete set of requirements that have been thoroughly discussed with the relevant stakeholders and to record them in a format that is easy to understand for everyone involved in the project. When working on a full-stack or front-end project that will result in graphical interface components for users to interact with, I will endevour to have a prototype front-end ready as soon as possible as this can be extremely useful in verifying with the stakeholders that the requirements are correct and final.
Before development commences, the requirements can be translated to technical tasks that can be allocated to members of the team, with the original requirements attached as acceptance criteria.
Once development is in progress, all source code in contained, versioned and shared within a suitable source control system such as Git. Feature brances, continuous integration using automated build systems, unit tests and code reviews and are used to ensure that a stable build is always available for a quick route to deployment.
After development is completed QA engineers can weed out any remaining issues before the software is deployed to the production environment.

Contact Me

Have a project you'd like to discuss?

Say
Hello

Glen Thomas

glen.thomas@outlook.com