Sign in

A couple of months ago, I (unsuccessfully) attempted to do a 30 day posting challenge on LinkedIn.

The challenge I set myself was to read 10 pages a day of ‘The Pragmatic Programmer’ and share the most pragmatic tips every weekday.

It didn’t really go as expected.

My first post…


If you’re anything like me, you spent the last few weeks before uni browsing YouTube on how to get a first, how to manage your time, what to bring and enough ‘day in the life of’ videos that you started feeling like a student.

Lots of learning material, which is…


Hey there.

If you’re in the same position I was (admittedly only a few weeks ago), you’ve probably heard or come across Product Management, developed a liking for it, and are now searching for a quick way to jump in and start learning.

This is the guide for you.

No…


Piña coladas in parallel.

As beginners, we’re taught that programming is sequential.
Do this, then do that, and do this if that.

But for larger projects, the milliseconds it takes to execute an instruction quickly add up when you have hundreds, or even thousands, of lines of code.

This is…


Don’t write dodo-code.

Sometimes code will rely on values that are subject to change after the program has started executing. Different environments, different customers, all situations leading to different values.

These values are configurable, and so should be store outside of the application. Since they’re so critical to the configuration…


Don’t Pay Inheritance Tax (in programming!)

Inheritance is a fast and loose way of implementing functionality based on the properties of something else: a car is a type of vehicle, and vehicles can move, have a speed, and have a location. …


Transformations transform programming.

Continuing on from yesterday’s post on programming for transformations, the passage today finished off this chapter with an interesting take on data within code.

With object-oriented programming (OOP), many objects are within your program, encapsulating data and remaining hidden from view until a transfer of data is…


If you can’t describe what you are doing as a process, you don’t know what you’re doing.

It’s easy to forget the high-level objective of programming: take some data, process it, and output it (or make it available for later).

All programs transform data, taking inputs and producing outputs, yet…


Turn it off and back on again.

Untangling a mess of spaghetti code can be the least enjoyable activity to think of doing on a Friday evening. …


Things don’t just happen; they are made to happen.

Juggling the real world with a software project is tricky. Computers have limitations, and so code must be organised to respect these limitations and make sure as much usefulness is produced as possible.

But with the progression of technological innovation, responsive…

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