Software Engineer

Motivated and extremely capable developer.

I am passionate about software development and technology as a whole. I want to keep that passion burning bright so that I can set an example to my kids, and show them you can have a profession that you enjoy!

My strength lies in being able to quickly upskill in new technologies, frameworks, or languages. Along with holding that all important 'Big Picture' of the domain I am working in. The desire is to always have an impact on the team around me and on what I am working on.

Technical Skills

Over 10 years of experience in OO programming, working in Agile environments that promote Software best practices.

  • C++, Python
  • Buildroot, CMake
  • Javascript, C, Bash
  • GraphQL, API Design
  • Kanban/Scrum
  • Architecture, Domain Driven Design

What's peaking my interest?

When I find time outside of work there is usually something that I am reading around or prototyping. Here are a few of the most recent.

Nvidia Jetson

Having worked with both the Jetson Xavier AGX, and Jetson Nano based platforms, a love of embedded devices has crept back! It amazes me what can be done with these devices and how it is revolutionising Edge computing. Watch this space!

System Design

Having spent time upskilling my Python on educative.io, I have also started to spend time understanding the wider world of System Design in the web/cloud/SAAS world. This has been eye opening, and just how important the ability to scale is. Coming from an embedded background, it has been interesting looking at it from a IOT perspective, and the potentially huge amounts of data that could be consumed by a backend, and how that might be achievable.

  • Understanding Distributed Systems - Roberto Vitillo
  • The System Design Interview - Lewis C. Lin, Shivam P. Patel
  • System Design Interview - An insider's guide - Alex Xu

Hexagonal Architecture

I recently embarked on proposing the introduction of an API gateway to the product I work on. This posed an interesting challenge in how to best provide layers of separation between the API, the core domain, and then different platforms that might sit behind the gateway. This is now being developed across multiple platforms.

Microservices

Although this isn't quite so prevelant in the Embedded world, a lot of what applies to Microservices still applied to the multiple multi-threaded applications with different real-time requirements that existed on the platform I was responsible for technically and architecturally. This research also led to looking at Modular Monoliths and how again Domain Driven Design can play a part.

  • Monolith to Microservices - Sam Newman
  • Microservices Patterns - Chris Richardson

Engineering Management

When taking on the role of Team Lead it was a step in to the unknown. I had few peers in the same role to draw from, and little training available. The answer for me was to proactively look to the resources out there from key members of the industry. I've since managed to put together a decent reading list that has certainly helped with my personal development within the role and would recommend to anyone new to the role.

  • Talking with Tech Leads - Patrick Kua
  • Managing Humans - Michael Lopp
  • Notes to a Software Team Leader - Roy Osherove
  • Technical leadership and the balance with agility - Simon Brown
  • Elastic Leadership - Roy Osherove
  • An Elegant Puzzle - Will Larson
  • The Coaching Habit - Michael Bungay Stanier

And for a healthy balance...

I fully believe in having a healthy work/life balance. Something that was really pushed home whilst working in New Zealand for 3 years. Where if your sat at your desk at lunch time you are the odd one out!

Road Cycling

To keep the balance with work and family there is one hobby that over the past year has really helped me through, and that's cycling. It has provided the opportunity to keep fit and healthy, physically and mentally, but also challenge myself.

Wales in a Day

The challenge, cycling 185 miles from the North of Wales, to the South in a single day. In July 2021 this is exactly what I achieved. I enjoy a challenge and being pushed out of my comfort zone, it is what drives me to improve both personally and professionally.