On Monday I had an insightful 1–1 with a senior engineer at RVU where we talked about system architecture, the aim of the conversation was to try and get him more comfortable with talking about system architecture. As we talking about the architecture we talked about different ways in which we could take it and the benefits and drawbacks of each approach.
This conversation led me to do some thinking around the principles of architecting a web application properly so I thought I would write up what I believe are the 8 most important principles we should be considering when…
I first started my journey as a software engineer back in 2008 when I joined ADP, building software for building merchants. This was my first experience working at a tech company, and as someone new to the industry, I couldn’t tell the difference between what were the good habits I should be picking up from my colleagues and what were their bad habits.
Since that first role, I have worked at 7 different companies across a variety of different industries, which as a result, gave me the opportunity to work with some incredible engineers that I have been able to…
I was recently helping someone who was learning to build a website and was looking across some useful resources to share with them when I came across this post by Kathryn Hodge:
When I first started building websites, I came across the W3C HTML validator which allowed me to validate whether the HTML I was writing was valid markup. I found the more I used the tool, the more it was helping me to become a better web developer as I was able to learn from any mistakes I made and learn to write better HTML markup.
These days, building for the web is much more complicated, with tools like React, Vue.js …
I first started learning to write HTML when I was 12 years old from a book in my school library so I have always been a proponent for using books to help people learn to code.
Today I thought I would write another of my reading lists this time focused on books that are perfect for those who are just beginning to learn to code.
First up is “The Self Taught Programmer” by Cory Althoff. Cory is a self-taught programmer who spent a year learning to code himself before landing himself a role at eBay. …
The performance of your site is usually your users first experience of using your website so if it is slow to load the user might abandon it before they have had the opportunity to use it.
In my last post I talked about how you could optimise your imagery to improve the performance of your site, today we will look at how we can utilise a CDN to improve the performance further.
The first question you might be asking yourself is “What is a CDN?”.
A Content Delivery Network (or CDN for short), is a globally distributed network of proxy…
Your images can be one of the biggest contributors to the weight of the page and optimising them can have a positive impact on the performance of your site.
In this post I will talk about 5 ways in which you should look to optimise your websites imagery so that your site is more performant.
Today I was reading Medium and I came across several articles that talked about how you should avoid using GitHubs new Copilot feature. For an industry that is always keen to try new things I was surprised to see so much negativity for what is, at the moment a mere technical preview of a new technology the GitHub team is working on.
After reading a few of these articles and giving them some thought I thought I would write my own opinions on this matter.
Before I get started, for reference the articles I read were:
When looking for ideas for my next blog post recently, I came across this post by Rik Lomas to get a tech industry job. I liked his points on showing off your skills and how you can find companies you are interested in using job boards. However, I felt the post fell short in that it didn’t give many tips on how to research whether a company is right for you. I therefore decided I would write a post dedicated to this topic.
If I rewind to back when I was looking for my first software engineering role in 2008…
As a developer who works extensively on a Mac I have spent many years tweaking and optimising how I configure my CLI to improve my experience.
Today I thought I would share how you can start to customise your own CLI to make it work better for you.
The first thing I always do when I setup a Mac is open the default Terminal app and install homebrew. Homebrew calls itself “The missing package manager for macOS” and is an easy to use tool for installing all sorts of applications (both CLI and GUI) on your Mac.