How I would learn to code (if I could start over)

How I would learn to code (if I could start over)

by | 4 min read

When I was 8 years old I learnt how to code.

I learnt to code from an old BASIC book that my Dad had lying around from his ZX Spectrum. I learnt to code from a book not through choice but because there were no other options.

The internet wasn’t mainstream yet and it would be a few years before I would hear that familiar sound from a 56K modem.

It was the mid-90s and the computers looked more like beige blocks of concrete compared to the sleek laptops we have now.

I started by creating simple games like, guess the number and some very rudimentary chatbots which were nothing like the AI chatbots we have today.

When the internet finally arrived in my little corner of the world, I was only allowed to use it in 10-minute blocks so I didn’t tie up the phone line and stop my relatives from calling.

At some point, we got always-on internet, still over a 56k modem but it didn’t block the phone line which kept my Mum happy. This is where the fun really began.

I started dabbling with websites. I actually built my first website in Microsoft Word believe it or not.

You can save a document as an HTML page and then view it in your browser. Upload your files to the free FTP server that your ISP used to give you and there you have it you had a website.

🚀 Are you looking to level up your engineering career?

You might like my free weekly newsletter, The Curious Engineer, where I give career advice and tackle complex engineering topics.

📨 Don't miss out on this week's issue

I started using other website builders such as Dreamweaver which was Macromedia Dreamweaver back then before it was bought out by Adobe.

Dreamweaver was good but I soon found myself needing to do stuff beyond the confines of the UI. So I started learning HTML and CSS and looking at how other websites were built.

As a kid, I had a habit of taking apart electronics (much to my parent’s dismay) to see how they worked.

I took this enthusiasm for taking things apart into the online world as well. If a website had a cool menu effect they were using then I would save the website and then take it apart, deleting the website piece by piece until all I was left with was the code required for the menu.

A lot of the really good effects used Javascript so I started learning that as well. This was before any of the web frameworks like Angular, React or even JQuery came out.

I soon moved on from making static websites and I wanted my code to actually do something in the browser. So I started learning PHP and MySQL and coding websites from scratch. This was about the time that Wordpress came out so I started dabbling with that too.

On the side I was also learning Visual Basic and I used my skills to build an application for my Dad which I later then sold via marketplaces and forums online.

That year I made more money than I could have from any part time job. Keep in mind I was 14 at the time.

As new technologies came out I started learning those too just because I found it interesting.

When I went to university I learnt to code in C and a few other languages and I continued building websites on the side for fun. I studied Physics so it wasn’t a major part of the curriculum.

In my first job out of university I started coding in C and C++, and later started learning .NET as well.

Since then I have picked up other languages along the way and learnt various different frameworks.

So how would I learn to code now, if I could start over?

For one, we now have the internet and a huge number of resources available to learn how to code.

But to be honest I wouldn’t do anything differently.

Throughout learning how to code I never once followed a tutorial. I just built things that I wanted to build because I thought it would be fun. If I didn’t know how to do something I would find out how to do it.

I didn’t have the paradox of choice that we have now around what language or framework to pick, as most of them didn’t exist.

I started learning the basics such as HTML and CSS and used that to build projects.

When my knowledge wasn’t enough to build what I wanted to build then I learnt some more.

This is the best way to learn how to code. Start with the basics and then build project after project and learn what you need to learn to build what you want.

Keep coming up with bigger and better projects and learn more each time.

Not only, will it be easier to remember what you are learning as you are actually putting it to practical use but you will also build up a portfolio of projects that you can show to a prospective employer.

There was nothing worse when interviewing candidates than seeing that the coding test you gave them was the first time they had ever used GitHub (and they put everything in one commit).

It is one thing to say you have experience, it is another thing altogether to prove it.

🙏 Was this helpful? If you want to say thanks, I love coffee ☕️ , any support is appreciated.


SOLID Principles: Do You Really Understand Them?

SOLID Principles: Do You Really Understand Them?

  • 16 June 2023
SOLID Principles are one of those things that every developer has heard of but few fully understand. If you use an object-oriented language…
Recursion explained with the help from Inception

Recursion explained with the help from Inception

  • 12 May 2023
People love to joke about recursion. As the saying goes: “In order to understand recursion, one must first understand recursion.” You will…
Python List Comprehension: With Examples

Python List Comprehension: With Examples

  • 20 February 2023
Working with arrays can be a bit of a pain in most languages. If you want to make changes to an array you need to use a FOR loop, a bit like…
Finally Understand Regular Expressions: Regex isn't as hard as it looks

Finally Understand Regular Expressions: Regex isn't as hard as it looks

  • 10 January 2023
There’s nothing like a regular expression to strike fear in the heart of a developer. Regular expressions (regex) are used for a lot of…
Understanding Big-O Notation

Understanding Big-O Notation

  • 03 January 2023
It’s important when you’re writing applications especially, those that are going to be processing a large amount of data that you understand…
Stack vs Heap Memory - What are the differences?

Stack vs Heap Memory - What are the differences?

  • 30 November 2022
In modern programming languages such as C# or Java, we tend to take memory management for granted. Gone are the days when we need to call…
Git Flow vs GitHub Flow

Git Flow vs GitHub Flow

  • 10 November 2022
Losing code that you have spent hours writing can be painful, which is why we use version control (or source control) to store our code and…
Bitwise Operators and WHY we use them

Bitwise Operators and WHY we use them

  • 26 October 2022
Bitwise operators are one of those concepts that a lot of programmers don’t understand. These are not used a great deal anymore so you can…