First posted: Aug 07 2021
Read time: 3 minutes
Written By: Steven Godson
It has been a couple of months since I began my adventure into the world of freelancing as a Fullstack Developer and it has been quite eventful.
Whilst I have only been working part-time, due to continuing in my full time position as a IT Service Management Architect, I have picked up a few contracts covering Strapi CMS, ReactJS, PHP and HTM/CSS. Each of these gigs have provided good and bad experiences, which I thought it worth sharing....
Being able to work on a range of projects, with clients on both sides of the Atlantic, has been amazing.
I have worked with a Fitness Start-up, an Info Sec org, a publishers and an established legal services firm. Each has brought their unique challenges and opportunities to grow.
I was able to "play" with technologies such as Strapi CMS (which I love), ReactJS with Redis-Server and MongoDB, PHP (which I always enjoy!) and use SFTP and SSH which I have only had limited experience of so far.
I also found a solid, and completely irrefutable, reason to finally bite the bullet and buy a MacBook Pro (M1 chip of course), when I discovered a clients build would only run on one.
Picking up someone else's code and trying to unpick it can be a very hit and miss. This is just life, isn't it?
However, what is not excusable, is a developer creating a half-arsed build with no documentation so that the next poor developer that comes along (yes, this was me...) has to waste time fixing it rather than focusing on delivering value to the client.
If you happen to be one of these types of developers then move along...
There was one particular experience that qualified for a "WTF..." award.
I had been doing some work for a client and committing to GitHub as I went along.
Then came time to raise a PR to get the code merged in prep for deployment. It is worth pointing out that Unit Testing had not been possible at this stage.
So, I dutifully raise a PR and let the Product Owner know so they could progress.
The following morning I started seeing increasingly more urgent messages via Slack. An issue had been encountered in the production environment. "Interesting", I thought, but not for me to worry about as all I had done was raise a PR for Staging.
Then I start getting direct messages asking me what had I done. So, somewhat bemused, I said what I had done and included a screenshot from GitHub.
After various frantic calls and a screen sharing session the issue became clear. So I deleted my PR request and after 20 minutes calm had been restored.
The reason for this kerfuffle was that the DevOps team had set up the pipeline to pick up all PR requests, regardless of status or target environment, and apply them to all environments in succession with no validation or sign-off.
Well, once I had stopped laughing, I wrote a recommendation for the client on CICD 'good' practice and carried on with my task.
Is the moral of this tale worthy of the Brothers Grimm? Assume nothing and always question what is meant to happen.
I am a firm believer that we are the sum of our experiences, and that without 'bad' experiences we never really for a solid view of what 'good' looks like.
So, treat every day as a new adventure and, even when things get stressful, try to find the funny side along the way.
Oh, and caffeine... lots and lots of caffeine!