Lots of people use Terraform but they only scratch the surface of what it can do. I thought I would explore some of Terraforms capabilities to keep your code ‘DRY’.

First of all consider this little piece of Terraform HCL

resource "aws_security_group" "basic_sg" {
name = "my_security_group"
description = "just for me, nobody else"
vpc_id = "vpc-0a1b2c3de45f12345"

ingress {
from_port = 443
to_port = 443
protocol = "tcp"
cidr_blocks = [10.11.12.13/20]
}

egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}

tags = {
Name = "my_security_group"
}
}

Most people who have done any sort of Terraform will have seen something like this; simple, straight forward, just creating a security group for AWS. It works so what’s the problem? If you are doing anything that requires anything beyond a very small, simple deployment, writing Terraform like this will cause your TF to grow exponentially in size and very quickly become unmanageable. It’s not scalable, even just deploying across multiple regions will force this little piece of code to be replicated for each one. …


It’s heartening to see the positivity coming from people learning to code at the bootcamps I follow, people who had previously considered coding to be reserved for the domain of ‘experts’, seeing the fruits of their efforts come to life is so encouraging. Just about anyone can learn to code, at least anyone who wants to learn. Diversity in software engineering teams is so very important. Obviously diversity is important everywhere but that’s too big a subject for this post, so I’m just focusing on building software. …


Image for post
Image for post

This piece was prompted by my response to this post by Deborah Copaken. It got me thinking about how I’m responding to the current rush of sexual predator stories.

I like to think I’m respectful to everyone, not just women. It’s just that at the moment I find myself questioning every interaction I have with female colleagues. I know I’m over reacting, well, probably. Female colleagues often seek me out in the communal areas to say hello and chat so I must be doing something right, maybe. This maelstrom of abuse stories, claims and counter claims has just about the whole of the (normal, respectful) male population running for cover. …


I’ve been a software engineer for over 20 years now. Someone asked me the other day whether the job had changed much and it started me thinking.

When I started, the languages of choice were C and to a lesser extent C++. Writing in these languages at the time, by todays standards was hard. Coding was done using plain text editors, if you were lucky you had a Windows or an X Windows editor, if you were not so lucky you had a VT100 with something like the vi editor. You had to either remember or lookup all the commands and their arguments, mostly in books, the internet wasn’t the goldmine it is today. You had to decide on what sort of variable you wanted to use; char Vs short Vs long, signed or unsigned or maybe a float or double. Debugging was putting printf statements in your code. Then there was multithreading, the less said about that the better. …


I don’t live in Manchester, you could count on your fingers the number of times that I’ve been there but that doesn’t really matter. It could have been any one of a number of UK cities, Glasgow, Leeds, Nottingham, Bristol, the list goes on. We all feel their pain because it could so easily have been us, it doesn’t take much to imagine ourselves in the shoes of the people who’s lives have been torn apart.

Imagine standing waiting for you child to come out of the concert, you spot them coming out only for you then to see them be consumed by an explosion. Or you’re a teenager coming out of the concert expecting your mum to be waiting for you to take you home but she’s just been killed while she waited. How on earth would you deal with something like that? Yes I know, people in Syria live with that sort of thing all the time, but it’s the same people doing it there as did this to us. Yes I said ‘us’, I know that I don’t know anyone affected by the bomb but because I take my daughter to concerts like this, I feel that I escaped by pure luck. …


I’ve been asked numerous times over the years, usually by parents whose children want to learn, what is the best way to get into a job as a Software Engineer.

Everyone in this job has an opinion on how best to get started, blogs and forums are full of threads discussing it; the merits of this language over that one, teaching yourself versus formal training. This is my view on the subject.

Unlike other ‘professional’ disciplines like law or accountancy that have a well defined career path, the road to becoming a software engineer isn’t a road at all, it’s like navigating a maze of narrow streets in an old town. …


I was talking to a Polish colleague on the morning of the announcement of the result. I asked her what she thought of what was happening, she was concerned about being able to afford her mortgage and whether the interest rates would go up. This surprised me, I expected her to be worried about being allowed to stay, things like that that. As our conversation continued she expressed bemusement at the way the UK treated EU immigrants. She had a part time job as a translator for local government, one of several people doing that job. She added that if I were to go to Poland, there would be no such help from local government and that I would be left to fend for myself. …


I was quite late to the Docker party, I only started working with it about 18 months ago. At the time it I wasn’t impressed

‘Really? Another Technology Fad I have to learn only for it to be dropped next year?’

I can’t say I was overly enamoured at the prospect, when I had read the initial ‘welcome sales pitch’ writeup I still wasn’t buying it

It’s just a VM only smaller, what’s the point?

I hadn’t actually understood what it was about at all, I had a very cynical stance, in part due to the constant stream of new shiny technology fashions that always get promoted as the big new thing, and never are. …


I was firmly in the ‘stay in’ camp until a week ago. That’s when my wife found out that I was planning to vote that way. She looked at me all horrified and asked why?

I explained the standard reasons where the vast amount of benefit goes unreported whilst we just hear about the tiny fraction of the bad.

That’s when she explained her reasons for wanting to leave.

“The only reasons to stay are about business and money” I started to pay a lot more attention to what she was saying at this point.


Some years ago when I was writing in C, I came across the 10 Commandments For C Programmers written by Henry Spencer. It is still all over the internet. The ensuing conversation led myself and some colleagues to come up with the 10 Commandments of Maintainable C, a document I recently found a copy of and have shared below. Reading through it, I found it still surprisingly applicable to my current world of C#. It also started me thinking again about how to write maintainable code.

The Organisation I work for have had a project running for the last 18 months or so and have recently not renewed the contract for one of the contract developers that was employed on that project. …

Mr Galoot

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store