Kevin McKelvin


Hi! My name's Kevin. I'm a self-taught software developer, speaker and blogger. I'm CTO with the talented team at Resource Guru where we build the best team scheduling tool on the web :). I've been working remotely full time since 2016. I live in Newcastle upon Tyne, UK, having previously worked as a Lead Ruby and JavaScript developer at Platform45 in Johannesburg, South Africa.

I use vim (neovim) as my primary text editor. A scriptable text editor helps to improve my productivity by filing away repeated actions behind convenient key bindings, allowing me to focus more on code and less on my keyboard and mouse. I love building with TypeScript, Go and Ruby.

I've been writing software for as long as I can remember, first on a Commodore 64 and QBASIC on DOS, followed by Pascal, Delphi, C and PHP during my school years. My professional career began in the .NET sphere, writing C# with .NET 3.5 and 4.0, as well as working on data intensive OLTP and OLAP systems using Microsoft's SQL Server and Analysis Services. Since then I've spent countless hours honing my skills on the journey to mastering the art of software development.

I jumped into web development with Ruby and JavaScript in 2011 using Ruby on Rails. I've been regularly shipping Go code to production since 2015 and TypeScript since 2016.

I believe a good craftsman should be willing to teach and mentor others. I regularly attend and speak at usergroup events and conferences. I was a regular panelist on the ZADevChat podcast from 2015-2017 with Kenneth Kalmer and Len Weincier.

Blog entries

Go 1.6 Released

18 February 2016

The official release notes are available at This is my highlights reel :) If you can’t wait to get Go 1.…

Rubyfuza 2016

17 February 2016

The 2016 installation of the Rubyfuza conference ran over 4-5 February 2016 at the President Hotel in Cape Town. Rubyfuza is Africa’s…

ActiveRecord and Uniqueness

21 September 2015

The uniqueness validation in ActiveRecord is a lie as soon as you have more than one app server process (or thread) running. It performs a…

Recurring Tasks With Sidetiq

7 July 2014

Update: Sidetiq is no longer maintained. I have used sidekiq-scheduler in its place. Software often relies on recurring scheduled tasks in…


3 July 2014

(Edited on 31 March 2018 to update the keyboard shortcuts) I was introduced to a Chrome extension yesterday by Kenneth Kalmer that’s…

Renaming Items in a Ruby Hash

19 June 2014

This is a pretty neat snippet of Ruby that I found to rename a key in a Ruby hash. The method on a hash will return the value of the key…