Rolling Back the Veil on developing the Wasteland Warfare App

In June 2020, I launched my very first mobile app — the culmination of 18 months of hard work that I fit around my family and my day job. It was an exciting moment. I was aching to share my work with others, but there was one aspect of the release that polarised users much more than I expected it would: the price.

I wear many hats in my life — I’m a husband, a father to two young children, a full time software developer, a musician, and a massive nerd. Amongst my other nerdy hobbies, I enjoy the occasional…

Photo by Alperen Yazgı on Unsplash

If you draw a Venn diagram showing the sort of folk who become software developers and the stereotypical basement dwelling mouth breathers who play Dungeons and Dragons, you would probably expect a reasonable overlap, if only because in days of yore, these two callings were considered the realm of the nerd.

Nowadays, both are enjoying something of a renaissance. Writing code may not be cool in the traditional sense, but it is certainly trendy. And spurred along by its adoption into mainstream cultural landmarks such as Stranger Things, D&D has attracted hordes of new players who might have otherwise passed…

Red, Switch, Green, Refactor!

Photo by Frederick Tubiermont on Unsplash

I was going to write you all a story explaining how Bob and Geoff, two average programmers, put their heads together and invented pair programming. I was going to support it with nice stick man artwork of Bob and Geoff.

But it turns out I can’t even draw stickmen, and am too lazy to learn. So I will instead explain it the way I know how.

What Is Ping Pong Programming?

In short, Ping Pong Programming is the combination of pair programming and test driven development. …

A Simple Introduction to the Redux Pattern with Angular’s Most Popular State Management Library

In the modern age of front end development, it’s common to separate the concerns of your application into components. While this introduces many benefits and creates a degree of simplicity, it can also introduce complexity when several components all depend on the same data.

Without forethought it is easy to end up with data dependencies between components, so that the intended benefit of compartmentalization is nothing but wishful thinking.

Any discussion of state management would be incomplete without mentioning Redux. Redux is both a pattern and the name of the library after which the pattern takes its name. Redux is…

What is the problem that DevOps is trying to solve?

Photo by Christina @ wocintechchat.com on Unsplash

In an ideal world, deploying your code to production should be:

  1. Fast
  2. Stable
  3. Predictable

If you have these characteristics, then you are probably “doing DevOps” already, and can continue on with your day. If you lack any of the above, please read on.

What Is DevOps?

Ask 10 people what DevOps is and you will get 11 different answers. Here are some that I found whilst asking my peers:

“It’s when developers and infrastructure folks work together to deploy the code.”

“A DevOps Engineer is the person who deploys code and looks after it within the team.”

“DevOps is when developers deploy their…

And Other Sins of the Past

Photo by The New York Public Library on Unsplash

Everything has a time and place — jQuery’s time was about 2012, which is probably why my younger colleagues view it with the same revulsion as they would a three column fixed width table layout.

I worked as a front end developer through jQuery’s golden age, long before npm became the way we install libraries. Not so long ago, when I think about it, I was writing jQuery spaghetti code for my whole site in a single file called “functions.js”. Eventually this file got too big to load comfortably in my IDE, clocking in at a couple of thousand lines…

Throw It Away & Start From Scratch

Ever built a proof of concept in one day that you’re still struggling to release six months later? You’re not alone.

I’ve had the privilege of being involved in a number of hackathons over the years. The idea is always the same — get a bunch of clever people into the same room and spend one day (or a weekend if you’re really keen) building something new.

This kind of enthusiasm and optimism is what we live for as developers. …

Test One Step at a Time, Not One Mountain at a Time

Photo by Sven Scheuermeier on Unsplash

It’s that time of year where we start to make promises that we’ll probably just forget by February. New Years Resolutions are usually well meaning but we are usually trying to solve the same old problems in ways we’ve tried before. Eat healthy. Go to the gym more. Learn a new language. Write more unit tests.

Every time I talk to a team that’s struggling and ask them what they’ll do different next time, I always get the same answer: we’ll write more tests. …

50+ Things I wish someone had told me back then

Photo by James Lee on Unsplash

I recently had the pleasure of sitting on a panel of experts providing guidance to a room full of “emerging talent” (a fancy term for junior developers).

It was basically a Q&A in which we were supposed to provide pearls of wisdom drawn from our careers and experiences. I’m not sure what the hell I was doing there, but I’ve always said that everyone has an opinion, and everyone is entitled to mine.

Anyone who knows me knows that I’m quite verbose. …

Flexible Types for Every Occasion

Photo by Jeff Sheldon on Unsplash

I worked on a project recently where I had to write a whole bunch of data in JSON. Let’s not get too deeply into why — suffice it to say that I was pursuing the simplest solution to a problem.

Many of the records shared commonalities — there were fields that I didn’t want to repeat because a large number of records had the same value. I also wanted to calculate certain fields, such as ID (let’s not analyse whether that is a good idea — I’m simplifying the problem for the sake of the article). …

Jamie Morris

I used to be a full stack developer, but nowadays most people only want me for my <body>, so I try to be a UI expert. All opinons are my own, not my employer's.

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