For the longest time, I was a stickler for the rules.
In another life I could’ve been a parking warden—slapping tickets on windscreens with a smile.
As a software developer, I once landed the perfect job for a rules enthusiast, at an “Agile” software development consultancy.
Agile is an approach to building software that adapts to projects where the goalposts are constantly moving.
I spent 2 weeks at the company’s India offices, learning the rules of Agile.
Soon, I was guiding clients through processes with fancy names like Test-Driven Development, Pair Programming, and Planning Poker.
Rules bring order to chaos.
Building software without rules leads to spaghetti code that gets labelled with that dreaded word—“legacy”. That’s why we follow design principles.
But it’s risky to blindly apply rules without considering what’s best for a given project. I learned this the hard way, and after catching myself in the act, I vowed never to repeat that mistake.
My rule-following days were over.
I realised that one of the key skills of senior developers is knowing when to break rules. Better still is having the confidence to define a set of rules that actually works for your team.
The Changing Landscape of the Internet
A perfect example of an ever-changing rulebook is the internet.
Many of its core design principles from the 1970s remain intact, but improvements have been introduced over time.
While the changes are gradual, many developers’ understanding of the internet is stuck in the past.
They talk about:
- SSL encryption, even though it was replaced by TLS back in 2015.
- IPv4 addresses, without realising 36% of internet traffic now uses IPv6.
- Backend servers, when there are now better options like containers and serverless architecture.
Top companies know that staying up-to-date with the evolving internet is crucial to building software that delights customers.
That’s why they ask interview questions like:
What’s the difference between IPv4 and IPv6?
The good news? The rules of the internet, both old and new, are well documented—right there on the internet, of course.
The bad news? Reading through all that documentation could take years.
Fortunately, developers only need to know the parts that are relevant to their work. For example, if you write code to send HTTP requests, understanding the request and response format is essential.
After 13 years of writing production-level software for the internet, I decided to put everything developers need to know into one place.
My new book, Internet Essentials for Developers, launches this Tuesday.
It’s a practical guide to the internet fundamentals that many developers overlook. By filling those gaps, you’ll not only become more effective at building software, but you’ll also accelerate your career growth.
For me, a turning point was learning how to speak the language of senior developers. Understanding technical terms gives you the confidence to contribute in meetings and become an essential team-member.
More enjoyment. More opportunities. More money.
Each chapter of the book breaks down one key internet concept and ties it directly to writing better software. By the end, you’ll know more about the internet than most of your colleagues.
Look out for my email on Tuesday, where I’ll share details on how to grab your copy.
Enjoy your weekend,
Tom Gregory