# Introducing "Developer Explorations" (and myself)

## Why this blog exists

The one constant in my career as a professional software developer has been change.  I started my career in C, moved to C++, spent a huge amount of time doing server side Java and these days find myself working with Java and a couple of other languages on the JVM as well as some front-end development on the web.

Despite that, I recently realized that I haven't been actively exploring what's going with software development the way I used to.  I thought that this was understandable, given everything going on - career, family, and so on.  But I also think one side effect of becoming an expert in something is a certain reluctance to keep challenging yourself in new areas.

And I've seen that become destructive.  I remember when I was just starting out, I would talk to more experienced developers about technological trends and I noticed that they would often be dismissive. "Technology X is just like Technology Y!" Or, in other words, there is nothing new under the sun, and most trends are just industry hype.  And so they just stopped caring about what was going on, focused on what they were doing and ... eventually found that they could only do what they did.

Now I'm not arguing that every industry trend is brand new and revolutionary.  I do think that many things hyped as revolutionary are really more evolutionary - but that doesn't mean that there isn't anything new under the sun.  For instance, containers can be seen as an evolution of virtual machines ... but that doesn't mean that containers have no value beyond what VMs did.  When you look at the details, you can see that some of the differences between the two allow for containers to be used in ways VMs can't simply because of how lightweight containers are.  But you wouldn't ever know that if you simply dismissed containers as being nothing new.

And it was primarily that realization that is the impetus for this blog.  I've decided that I need to spend some time doing things that are new to me.  Hence the title, "Developer Explorations" - it is going to be a journal of all the different things I'm going to be exploring.

As to why this is a blog and not just notes on my laptop - that is a bit more complex.  Part of the reason is to give myself a bit of push.  I'm publicly committing to doing such explorations and talking about them. 

The other reason is that I've benefited a lot from other developer's blogs, answers on Stack Overflow, etc. over the years and I would like to give a tiny bit back.

## What this blog will cover

"Explorations" is kind of vague, even for something as open-ended as a blog. My plan is to start doing small side projects that make use of technology and/or tools that are new to me and blogging about what I've done and what I learned while I'm working on them.  In fact, I started working on a couple of side projects before I decided I needed to blog what I was doing so I will start there.

I should also say that one of my hobbies is table top role playing games (ttrpgs). So most of my side projects will likely tie into that.  This blog is going to focused on the technical aspects of developing whatever the side project requires, but there will almost certainly be times I'm going to need to talk a little bit about ttrpgs just to give some context to what I'm doing and why.

Other than that, I don't really have too much in mind.  I'm hoping to use all kinds of technologies - everything from web applications with different javascript and css frameworks to mobile applications using Kotlin or Flutter.  I'm going to make a lot of mistakes and fumble around, but hopefully other folks will get some benefit out of it - entertainment or knowing what not to do, if nothing else.










