10 print “David is great! ”;
20 goto 10
run
That momentous 2-line program and simple command were the first things that I ever typed into a computer, in 1980. My grandmother had borrowed a Commodore PET computer for the summer, from the school where she taught and, over that summer, my aunts taught 5-year-old me the basics of coding in… well… BASIC. They couldn’t have known, at the time, that they were laying the foundation for a lifelong obsession with logic, analysis, and problem solving.
In grades 7 and 8, I learned even more about BASIC in a formal setting: variables and variable types, loops, decisions, etc. And, by this time I had my own home computer for practice. I always felt excited when being presented with a new challenge to solve through this cutting-edge technology. In high school, we learned to program simple games, like hangman and craps. It seemed like nothing was impossible with this one, simple language.
In university, I learned HTML and later taught myself CSS (version 2). I loved building simple websites for people and even made some money doing it on the side. But technology started to broaden and advance and – with a full-time job with an insurance company – I didn’t really have the time to upgrade my skillset and I left programming behind.
About 20 years into my career at the same insurance company, I ran into a real problem: I was the sole keeper and maintainer of a large and very important dataset. I was going on vacation for more than a month and there was no one else who could run the weekly updates. My boss tasked me with training someone, but there wasn’t enough time. Knowing the process, I went to Google for a solution and, voila… VBA.
The more that I used VBA in my role as a reporting analyst, the more I grew to depend on it. Not only did it give me a far greater skillset in terms of data mining, but it enabled me to do my job a LOT faster. I’d find myself getting lost in code and loving it. I needed more of this in my life!
And, so, here I am at the end of Phase 1 of Flatiron School’s software engineering bootcamp! I am so completely in love with this program, and I’ve only begun to scratch the surface. With such a long gap in my coding experience, I’m just amazed at a couple of things:
- How much has stayed the same
- How much has changed
I’m blown away that many of the basic concepts that comprise JavaScript are identical to those underpinning BASIC from 40+ years ago. Learning a brand new language seemed so daunting at first. But, from day 1, it was like riding a bicycle. It was certainly a newer bike with a heaps more features, but it did the same basic things and was incredibly simple to grasp.
My experience with HTML and CSS was somewhat similar. I had a great deal of familiarity with them 20 years ago and relearning them was a snap! But, as much as the fundamentals have remained the same, there are some major and hugely beneficial differences.
When I originally learned web programming, we coded everything in HTML, from the text to the formatting, to the positioning of elements (anyone remember frames?). Dynamic content was virtually unheard of. CSS was emerging, but its main focus was formatting text elements. If you wanted animations, you had a choice between the tag or learning Macromedia Flash. Still, HTML did all the heavy lifting.
I was shocked in the best of ways to see the even, three-way distribution of duties among HTML, CSS, and JavaScript, today. With HTML handling text and text structure, CSS handling all formatting and positioning, and JavaScript working its magic on each of them to produce dynamic content, not to mention interacting with servers and enabling some basic data processing, it seems like anything is possible. And we’ve only just scratched the surface.
My greatest surprise has been just how much functionality is baked into CSS. The sheer volume of properties and values that one can apply to elements and classes is staggering to someone who had only used it for font colours and sizes, previously. I’m thrilled to have so many new tools in my toolbox and I am challenged to use them judiciously.
I remain as excited, today, at running an application of my own making as I had been as a 5-year-old, pressing the key to run that small, but mighty, program at the top of this post. And I know – and relish the thought – that I still have so much to learn.
I have two pieces of advice for anyone who’s considering picking up coding again, after a long hiatus:
- It is truly never too late.
- It’s not nearly as daunting as it might seem.
Happy coding!