My Coding Journey
Published: 2021-01-09 11:55:42

## The start
Before PCs we had an Amstrad PCW. One day we got a mouse for it and I thought "This'll never catch on"... My Dad got into programming BASIC on it, using me and my sister as bug testers. I got into doing some BASIC programming myself. Even though it was so long ago (late 80s/early 90s), I actually remember some code:

```
10 GOTO 20
20 GOTO 10
```
Because infinite loops are fun.

Soon after, PCs became popular and spending time at the computer meant playing games with actual graphics, not just ASCII art!

In sixth form I got a graphics calculator for A level Maths and I programmed a calculator on it - I thought starting simple was good, it's just a tad redundant to program a calculator on a calculator...

## University
In my first year we learnt Pascal, a simple programming language that I remember nothing of. My final year project involved programming in Fortran. Considering how long I spent with it you might think I remember some of it, but no. I saw some recently and it was not familiar at all.

In my second year one of our programming assignments included a page of HTML, which I learnt as I wrote it. And then having discovered I can create websites, I went about creating my own personal site. My summer job that year was creating a website.

At this point you might be thinking that I was on the path to being a developer. But by the time I left university I decided I couldn't do a job that was just programming, I have no idea why. I instead drifted into one that was a bit programmy.

## The world of work
Work meant spending a lot of time in Excel, which led to writing macros in VBA. A language similar to Pascal (not so useless to learn after all!).

I eventually ended up in a job that involved creating mini-games in Flash ActionScript. A language similar to JavaScript, but since I'd never learnt JS, that wasn't as helpful as it seems. I learnt ActionScript as I went along, but soon Flash was being phased out.

We transitioned to jQuery, after a two-day course. At this point I still only knew basic JS and couldn't tell you the difference between JS and jQuery. Which made things interesting when researching how to do something on Stack Overflow.

I also had to use CSS, since we could no longer position things in Flash. I knew some CSS, since I'd played about with it, using the principle of trying things to see what they did. I never really understood it, though, and really struggled.

I eventually decided I would have to do something about this and found FreeCodeCamp.

## Learning to code
I started in early 2019 and it was a revelation. Learning Flexbox meant that the positioning I'd struggled with so much became so easy. I went onto JavaScript and understood more about jQuery. LESS came up at work, so I learnt that, and discovered that it and SASS made just writing the CSS easier. React came up and upon investigation discovered why it could be better than jQuery for the mini-games. The list of things to learnt was endless.

### 100 days of code
100 days of code was what motivated me to do some every day and get into a habit. My first 100 days I learnt so much I thought I knew everything. I didn't, it was just a big jump from knowing very little. Once I'd done it, my habit lapsed, real life got crazy and I stopped for a while.

My second 100 days was spent on CSS. I thought I'd known it before, but I really hadn't. By the end of 100 days I was a lot more confident. I knew there was still more to learn, but I knew it was out there for me to discover when I needed it.

At work I was asked to create a layout, using CSS and JS. Sometimes I would learn something one evening and use it the next day. One weekend I did a course on HTML Canvas, which included making a meme maker. The next day the possibility of us making a meme maker came up at work.

I did a third 100 days, learning more CSS, JS, Git and task runners, and switched from Sublime Text to VS Code. I played about with browsers and generally enjoyed myself.

## The future
There is always more to learn. My list never gets shorter, no matter how many things I tick off it. I did a bit of React last year, but didn't understand it (or JS) enough. Now I've got better at JavaScript I'm looking forward to delving into React again. I've learnt more about how I learn and have plenty of resources bookmarked, and I'll find out which of them work for me.