Learning to code
I spent the last 5 days or so largely laid up recovering from a minor surgery. During that time I found myself with a lot of extra time, which in the past would have been spent playing video games. Now, don’t get me wrong, I still logged a good chunk of time in video games, but that was largely as a brain-defrag in between sessions learning to code.
As a bit of back story, when I was but a lad I spent untold hours hacking away at BASIC on an IBM 8088 alone and with my buddy Andy, mostly writing lame little choose-your-own-adventure games. The quality of said games aside, I massively enjoyed my time figuring out how to use variables and user inputs, etc. However somewhere along the line that interest more or less died out.
I don’t Like Coding
In my college years I took a class on Visual Basic but I actually dropped the class at around the halfway point. Nothing about it appealed to me in the slightest. It was about that time that I got the idea stuck in my head that “I don’t like coding and I’m no good at it.”. Which in hindsight was, I suppose, mostly true. I didn’t like coding and I wasn’t good at it, but I had hardly given it an honest go since 1992 or so when puttering with BASIC.
Somewhere along the line I started to learn HTML, first with the assistance of a program called HoTMetaL, and then after realizing that WYSIWYG is largely a construct created by the denizens of the dark realm, I took to actually learning HTML and started making websites using notepad.exe.
I never really learned CSS, and just flubbed my way through doing a lot of in-line styling, tables and iframing. Looking back I’m rather embarrassed about how much I relied upon those methods, since CSS was around back in 1996 (before I got really into making my own websites) but it is what it is. I made a few websites for people and even a local municipality in the early 2000s, but since I hadn’t really done my homework it was always a stressful endeavor as I tried to slog my way through my own ignorance and find ways to implement features I had seen on other sites.
Enter the CMS
As we started on-boarding more clients, I really started feeling the need to get more proficient with coding. So I kicked off a course on web development thanks to a sale on Udemy.com, where I got a full video course for around $10. I dove in this past week and not having anything else to distract me, I started plowing through the content at a fast pace.
Falling (with Style) In Love With CSS
The HTML portion was largely review for me, but when it came to the CSS section things finally started to click and the light started to turn on. Again, I had a cursory knowledge of CSS, but it still had this aura of mystery around how classes and IDs and other such concepts. The biggest thing about learning it was setting aside my (admittedly small) knowledge of the topic and starting from zero. Having someone explain it from the ground up, instead of trying to fumble my way through documentation, made all the difference for me. The perceived complication of the interaction between HTML and CSS started to fade and I began to see the power CSS has from the inside instead of just as a bystander seeing the cool stuff people make with it and saying “I wonder how they did that!”.
I wrapped up the CSS section and took the HTML5 and CSS3 certifications and passed, which was an accomplishment which I was honestly surprised I cared so much about.
Learning To Love $(this)
Again, having someone build it up from foundation to something useful and indeed powerful made it make sense. In hindsight, what I had done by trying to modify code others had written without having a base knowledge was essentially akin to trying to jump from a moving vehicle straight into a run without ever really learning to walk. Which explains the pain along the way.
As I began to understand the way JS works, I started to fall in love with the newfound power it gave me. Several days later I had finished the JS core, jQuery, and AJAX sections and got my certificate in that as well.
Onward and Upward
The course is continuing, but coming to an end shortly, so I’ve gone ahead and enrolled in a C# course as well, because I’ve also puttered in Unity in the past, but I really want to be able to make something compelling, and with both JS and C# in my toolset I’ll be in a much better position to do that. Additionally I can use C# in a lot of web development, as well, since it can be used as part of .NET development, so I’m looking forward to learning that as well.
This has all lead me to a realization that the day may come when I jump from IT into development, which is hardly something I would have foreseen until just recently.
I Like Coding
It turns out I didn’t like coding because I didn’t understand it or have enough motivation to invest the time to give it an honest shot.
My recent stint with lots of free time and a reason to invest the time has begun to unleash that satisfaction that I found 20-odd years ago when on hot summer days I would sit in front of that little PC and type: 10 PRINT “Hello, what is your name?”, etc. for hours on end.
It’s apropos during my recovery it was summer and I found myself deriving hours of enjoyment from typing very basic programs into my computer once again.
Here’s to the future. Here’s to the past.