As I write this editorial, most of the world is under various stay-at-home orders dealing with the COVID-19 epidemic. As many of you are abundantly aware, social gatherings are unwise and, in many cases prohibited, which includes software developer conferences. One of the conferences that has been rescheduled is Prairie DevCon in Winnipeg. The cancellation of this conference has a real sting for me, as this conference is where I would have given my first keynote speech.

My keynote was entitled “Just Your Every Day Ordinary Programmer” (title borrowed from Joe Walsh, Thanks Joe!). In this keynote I would have talked about 30+ years as a developer and regaled with many stories. I'd have stressed how, even after 30 years, there's still new stuff to learn-it took this long to get to my first keynote, for instance-and that's my favorite part of being a developer: The Joy of Being a Beginner.

I listen to several podcasts and one of my favorites is called ScriptNotes. ScriptNotes is hosted by John August and Craig Mazin, two fabulous working screenwriters. On Episode 439, “How to Grow Old as a Writer,” John and Craig discussed extensively about how each medium you write for has its own unique qualities. John (who write the film Big Fish) made the following comment:

“Big Fish (the musical) gave me a chance to be a beginner again. To be someone who is brand new to things and be curious and eager to explore and willing to make mistakes as I’m figuring out this new art form. When you have mastery over something, it’s nice, it’s helpful, things are easier for you, but they’re also less exciting.”

BOOM! This comment struck me like a bolt of lightning. This IS EXACTLY why after 30+ years I still love being a software developer. It’s a real blast to learn new languages and tools. Yes, you also make new mistakes but it’s for sure not boring.

Good software developers realize that their careers are in a constant state of being a beginner. Over the last 30 years, I’ve used the following tools first as a beginner then in many (but not all) cases as a master: dBase, FoxBase+, FoxPro, Visual Basic, Visual FoxPro, SQL Server, HTML/CSS/JavaScript, Ruby, Ruby on Rails, Visual Basic .NET, C#, and my newest addition: Python. These are just the languages, there are numerous add-ons, IDEs, frameworks, and operating systems that I also throw into the mix.

While we are under work-from-home orders and required to limit our participation in social gatherings, it might be a good time to consider becoming a “beginner” in a new technology.

I’ve been working at home for a bit over two decades, so that part’s not new. What is new is the lack of social events that I participate in to for a “change of scenery.” No Dungeons & Dragons (we play online now), no concerts, no movies out, no poker games, no eating out at restaurants. Just like you, I now have a lot of free time on my hands. I’m taking this time to add new technologies to my mix. Here are some of the technologies I am exploring.

.NET Core (and ASP.NET Core): I came to .NET Core a bit late in my development cycle. My company has many websites built in the 4.x framework, so I’ve had little time to use ASP.NET Core previously. Now, I’ve started a new business venture and we’ve built out our new platform using ASP.NET Core. Also, I’m a bit fascinated by the idea of building single-file executables.

Docker: Docker is a newfangled way of deploying and running applications. I’m still a neophyte when it comes to Docker, which makes it all the more fun. The idea of building a single-file application using .NET Core and deploying it using Docker is a fun area I am exploring.

Vue: I’ve been a long-time proponent of jQuery, which has served me well. jQuery is a great tool but there are other tools worthy of exploration and one of these is Vue. One tool I am using is from an article Shawn Wildermuth wrote for CODE Magazine last year, called “Moving from jQuery to Vue” (https://www.codemag.com/Article/1909051/Moving-from-jQuery-to-Vue). I love articles that help bridge knowledge from one technology to another.

Python: Python is probably the most challenging and interesting of the tools I’m exploring. Python is firmly entrenched in the Data Science world. If you plan on working in this world, you’ll need at least a minimum exposure to Python. I recommend checking out the Python content at CODE Magazine (www.codemag.com) that we’ve developed over the years. Many of these articles are targeted at people leveraging knowledge of one technology to learn some new technology.

These are just a few items I’ve been spending time with (including ample time to perfect that cancelled keynote, LOL). I know that these times are rough for people mentally and you may not have the bandwidth or desire to learn new technologies. But if you are so inclined, let’s communicate about what we’re learning. I love hearing from readers, so if you’d like to share I’m @rodpaddock on Twitter, I hope to hear your experiences being a beginner again.