Re-learning to code
Tags: go, html, lifechanging
Published: 2019-09-29 19:08:19

A long time ago, back in the early 1990s, I learned to program. At first, I was at college, using Pascal to write vehicle delivery management application on a DOS platform for my A levels. After that, I went to university and learned to use Modula-2 and C/C++.

When I left university, I went into a hardware support job, as there were no entry-level Software Engineering jobs around that did not require a minimum of 3 years of solid experience in the workplace, a little like the same level jobs nowadays. My first software development job was working on a secret project using a language called Magic, which was a table-driven development tool based on top of C. 

Later on, in other jobs, I learned VB4 and VB6 as well as a foray into RPG/400 and Embedded Visual C++. 

In 2009, after redundancy, I went in another direction and took on a role as a support engineer, writing scripts in MS-SQL to help investigate issues in software. I moved on 2 years later to a similar role elsewhere, where I moved up to a senior role, where I was able to look through the source code, and suggest fixes in the code (although I was not able to make the fix myself.) 

I have stayed in the same company now for over 8 years,  pretty much doing the same stuff. Due to a medical condition, I wasn't willing to risk moving and getting back into development work. I had renal failure and I was on dialysis 3 times a week, so I needed the stability of my job, most places won't take on the risk of a new employee who is on dialysis, and imminently likely to be taking an extended leave of absence for a transplant. 

On May 7th 2019, at 10:15 pm I got a life-changing call, and at around 11:00 am on the 8th May 2019, I went down to surgery to have a kidney transplant. 

I had three months off work, recovering from major surgery, including a month of repeated infections at the end of the time off. I had a lot of time to think. I enjoyed developing software. I had previously written an application for the nurses and tech staff at the hospital to aid them in calculating dialysis fistula function levels - Mainly because it kept my brain active while I was tied to the machine, and also because no one else knew how it was calculated, so I could spend the time researching the answer. 

I decided to try and learn a new language. I had previously picked up Python and didn't get on too well with it. I had tried C#, but never really had a project to work on, so I never got that interested in it. 

After a lot of searching, I found Go. I had heard about it, in passing, but never really looked at it. I did some research, found a very active, knowledgable and friendly community, a few courses came up on offer on Udemy, so I invested in them and bought a few books from Amazon (the Sams Go in 24 hours was the first one!) I had a project to work on, re-writing the dialysis application was a good start. 

Two months on, I have written a CLI version of the app, and a basic web app to enter data and output the results. I have written an app to calculate the kidney's GFR level, because, hell why not. I have ideas for a load of other projects to try and write in Go, each one looking at something more complex and interesting. I have found I need to get my head around HTML5 and CSS3, I am picking up Bootstrap and Javascript as well, to improve my apps. I have learned so much in such a short time, all because of having a lot of time to think about what I really wanted to do with my second chance. 

So now, I am building up a portfolio of applications that I have written, with an aim to move into working with Go. Maybe, looking at going into full-stack development.