My Programming Journey
Tags: beginners
Published: 2022-11-03 19:53:41

## I've been programming for a while.
But not "actual" programming. I started coding about 5 years ago with a really basic language, if you can even call it that - [Scratch](scratch.mit.edu).

My "coding" at this point wasn't really even coding, it was copying examples out of a tutorial book and seeing what it did on-screen. If you're anything like me, you can identify with that awesome feeling of writing something and watching something happen on this seemingly sentient piece of hardware. And I loved it - until I ran out of examples. When I did, I stopped.

Turns out, following a tutorial blindly doesn't teach you much. You'll look smart, sure, but you'll have gained basically nothing in terms of knowledge. That's why I've found it's super important to **be involved in what you're coding** - especially when following a tutorial.

It was about a year later when I got back on, and this time, something would click. I started learning about basic programming concepts like loops, variables, and functions. More importantly, **I started using these concepts to build my own projects**, and not just follow a tutorial. Don't get me wrong, I used tutorials all the time to build onto my knowledge, but at the base of things it was my testing and my building that taught me something.

So I built pretty useless stuff for about a year. Then I got bored again and started looking for something new to do with these newfound skills that I had gained on Scratch.

Enter HTML. I got a really basic book from the library that taught me how to make my first webpage and I can remember being so proud when I finally got my first up and running. Sure, it was that basic "Hello World" file in notepad that everyone makes to start, but it was something. More than something - it was an actual "real-world" application of programming concepts.

HTML and CSS were a lot of fun, but I can vividly remember being scared of JavaScript and not even trying to learn it. That's the second lesson I think that I've learned: **don't be afraid to be bad at something**. No one's perfect when they start something, but not learning it at all because you don't want to make a mistake is really the biggest mistake of all.

I'd like to note that at this point, the only sources I used were books I borrowed from the library. That was a big mistake, in hindsight. **Google everything you can**. There are so many sites out there that have such good information about everything you could imagine, it's a huge loss not to use them. Books are fantastic, but if you're like me and you have tons of questions that the book might not answer, you gotta head to the sites. I have a ton of references in my bookmarks right now, from [GeeksForGeeks](https://www.geeksforgeeks.org/) to [MDN](https://developer.mozilla.org/) (❤) to [w3schools](https://www.w3schools.com/). These sites are invaluable, and there are hundreds of them.

About this time I stumbled upon Khan Academy's computer programming courses and [community](https://www.khanacademy.org/computing/computer-programming/browse). And this was the singular best thing that's happened to me this far in my programming journey.

The community there, though generally shallow in their skills and technical proficiency, are all drawn together by one thing: their love of coding. I like to think I made I lot of friends and connections there with people who I was clearly better than and people who should have been working for Google instead of hanging around the KACP.

While I was there, I learned the basics of JS syntax with a language called processing.js. I quickly became a PJS master, but I still had no idea about actual JS, because PJS was slow and hard to work with at times. The day I figured out what JS was fully capable of was a really amazing and sad day at the same time - because I realized the possibilities and also realized that I had wasted yet another six long months trying to reach another goal that I didn't need to reach. But it taught me a lot about JS and the web, so thanks KACP! ❤

I then proceeded to follow [one of my friends](https://github.com/thelegendski) to GitHub, and the world started to crash around me. I suddenly realized that, though my knowledge had prepared me to some extent, I still had so much learning to do.

But I wasn't behind. The only time you're behind is when you stop learning. I've found that this field is incredibly learning-oriented; there are so many different languages and frameworks to learn. 

So that's where I'm at now, learning full-stack development while still making the occasional game or simulation to keep my plain JS skills sharp. I suppose the most important thing I've taken from my experiences has been to always keep learning and looking. I'm still ignorant of a ton of stuff, but maybe in a couple years I'll look back and remember how much I've improved.

Here's to learning and coding.