Way back in 2003, I wrote my first blog post, it was short and sweet and I can share the entirety of it here:

Welcome to my blog. I've been working in software development for many years now. Mostly in ColdFusion, although recently I've been working in Java as well. I plan to use this space to share ColdFusion tips - as well as share what I'm learning with Java (and hopefully save others from the stupid mistakes I make). As always, comments are welcome, and I hope this blog becomes an informative resource for all.

Funny that I thought I had "many years" of development experience back then. While I've been coding since I was 9 or 10 or so, I didn't start writing code professionally till 1994 or so.

My blog was completely custom-built, in ColdFusion, and while I can't seem to find an original picture of the first design, I did find this from 2005:

Screen shot of blog

It may be hard to read, but apparently, on February 3, 2005, I posted not once, not twice, but three times. To be fair, this was pre-Twitter, and as I've said before, I used to post a lot of notes, links, and so forth, as a way of sharing cool stuff with others.

That custom blogware turned into an open-source project called BlogCFC. I'm proud to say that it became one of the most popular open-source blogging projects for ColdFusion users with hundreds, if not thousands, of instances out in the wild. I had a lot of people contribute to it, provide feedback, and just generally help make it a great platform. I was torn when I finally walked away from it, but still very proud of what I achieved with it.

I eventually decided to move off of the ColdFusion platform and try something new, well new to me, WordPress. I was immediately impressed by how polished the administration was. I was also immediately turned off by how quickly WordPress (or PHP, or my database) would crash and burn, usually while I was asleep. My blog has always had "decent" traffic, but nothing so high as to really require a lot of special tuning, or at least I thought as much.

It was around this time (2016) that I made my first move to the Jamstack (Welcome to RaymondCamden.com 2016). Back then we just called them static websites. My first iteration used Hugo, which handled the size of my site rather well but was way too restrictive in terms of how it worked. I then moved to Jekyll which gave me the development freedom I needed but unfortunately also showed me the pain of managing Ruby. Finally, in February (not sure I do big things in February so often) of 2020, I moved to Eleventy and have been incredibly happy with my platform since then. I've changed designs once or twice in that time (and am contemplating another change soon), but don't see myself ever leaving Eleventy. (Of course, give me another twenty years and who knows.)

A lot has happened in these past 20 years. Here's a random list, in no particular order:

  • I wrote 6,338 blog posts. Some of them were good. I also wrote 2.3 million words. Some of them were even spelled correctly.
  • When I started the blog, my wife and I had adopted 3 kids from South Korea. In the twenty years since we adopted 4 more from China.
  • I wrote some books. Honestly, a few of my books were written before the blog started, but overall I've contributed to, co-authored, or solo-authored, 18 books. As someone who has been a lifelong reader, I always dreamed of being a famous author. In my young mind, that was Stephen King, and while I didn't end up being published for fiction, the fact that I can say I'm a professional writer makes me incredibly proud.
  • My LinkedIn history only goes to 2004, but in that time, I've had 10 jobs. I've been in developer relations since 2011 or so and it is my dream job.
  • I lost my wife, which feels a bit weird to say in a bullet point, but it happened. I'm happily remarried and with my stepson, our family is now 10 strong. I could write an entire blog on we manage such a large family, but that's for another day.
  • Related to the above, I learned how important, and helpful, therapy can be. I learned that asking young developers to code in their free time to buff up their resumes for future jobs is absolutely impossible for some people. As a single father, I had absolutely no mental energy at night to do anything but blank out in front of the TV.
  • I grew as a father, a husband, and as a person.

As I look around myself now, I've got a lot to be grateful for. I have a wife who has helped me realize it is ok to enjoy life, to be myself (as crazy as I'd like), and to just plain live. I had kids who continuously surprise me, bring joy to my life, and teach me. I have friends who don't judge me, who are there for me, and who inspire me. I've got a good job, a home for my family, and food. All in all, I am so incredibly lucky, and while I suffer incredible anxiety and fear at times, I remind myself that I am blessed.

So that's a lot of pre-amble, let me get around to what I actually wanted to discuss, lessons learned from two decades of blogging.

Follow Your Passion

For people launching a personal blog, figure out what makes you excited, and focus on that. It won't always be easy, and sometimes I'm not passionate about anything. Your personal and work life can absolutely impact your energy to write, but when you find something that makes you giddy, focus your attention on that.

Cat with a laser

At times, I feel like a cat chasing a laser pointer. People who have been visiting my blog for a long time will know that I get super excited about a topic, write about 20 posts on it, and then never mention it again. It's not that I started to dislike a particular topic, but once I feel like I've played with something enough and have learned it enough, I move on. My blog started off as a "ColdFusion blog", but in that time I've covered hundreds of different technical topics as well as the books, movies, and games I'm excited about.

I can say there's some merit to the idea of focusing on a particular topic, especially if you are hoping to get recognized in that field, but I also know that I can't force myself to write on something if the passion isn't there. If you want to focus, absolutely do so, but keep yourself open to where your mind (and heart) lead you. You are a person, not a robot, and you're going to have a lot of things that make up who you are.

Don't Worry about Your Content Being "High Level" Enough

Like many in our field, I struggle with imposter syndrome. I look at the experts in our field, the "big names", and worry I'll never be as good as they are. But one thing I keep in mind is that even if I can't get to some mythical "peak" of my career, I can help others on their journey. I'm never going to be the person writing deep, complex posts about big O notation and the like (ask me about my multiple failed Google interviews), but if I can help a beginner become slightly better than I've helped.

In general, if I struggle with something, or if something isn't clear, I'm 100% going to turn that into a blog post. And nearly every, single, time, I'll eventually hear that I wasn't alone in needing help.

All of us are in different phases of our learning, and all of us can help others improve.

A lot of times it's just a different perspective. To this day, I remember sitting in a presentation involving ColdFusion. This was when I was, in my own admission, really really darn good at it. The person giving the presentation was not. But what they were doing is sharing how they solved a problem. Their approach was absolutely unique, and I learned something that made it worth my time.

Don't let the experts gatekeep you from sharing and helping others. Just share - someone will appreciate it.

On Blogging Platforms and Owning Your Content

When I began web development, in roughly 1990 or so, it was somewhat more difficult to get a website online than it is now. A lot of people in our industry talk about how complex web development is and whether or not it needs to be that way. While there's absolutely merit to that discussion (and again, happy to get on your podcast and talk about it), the basic process of going from idea to live production website (with https!) is infinitely simpler than when it was when I started.

That being said, while I think it would behoove budding bloggers (alliteration ftw) to host their own blog on their own domain on their own server, there are some good platforms out there to make it simpler. Dev.to is one of the best platforms for developers who want to get started blogging and offers a quick sign-up, zero code, and easy methods of writing. Most importantly, they offer an export option:

Export from dev.to

No matter where you choose to write, ensure you have the ability to keep your content. Sites come and go, and yuo don't want to wake up one day to find that all of your hard work has disappeared.

No matter what platform you choose, I'd urge you to keep a copy of your content. Or heck, write locally and then copy and paste the content. Ideally, you would keep that content backed up in a GitHub repository (I do, and my blogging platform automatically reads from it to publish), but at minimum, you can use a folder in Dropbox/OneDrive.

On Writing More Gooder

I've got a Bachelor's degree in English. I've been writing well before I began blogging. I still misspell words (especially "misspell"), still make grammar mistakes, and still need help.

One of my favorite authors, John Birmingham, has a Patreon where you can get early access to his new works, as well as random thoughts and updates. I love it. I help support him with a small donation every month, and I get to see how the sausage is made. Whenever I see one of his drafts and notice a few mistakes, I'm reminded - editors are some of the best people in the world.

Years ago, my first time at Adobe, our group had an editor on staff to help with our content. Mine (Jack Wilber, hope you are still reading this!) would graciously offer feedback on my personal posts as well.

While most of us probably can't afford an editor, definitely lean on your tools to help with spelling and grammar. I'm a huge fan of Grammarly and even on their free tier, I get a huge amount of feedback and help with my writing. Now, you have to be sure you actually follow through. I don't (typically) blog unless I check what Grammarly says and consciously choose to fix or ignore issues, but I had to make it part of my process for it to really be helpful.

I do most of my writing in Visual Studio Code and the Grammarly extension has made this process much simpler.

Keep Track of Ideas

I've forgotten way more good ideas than I've actually got done on (electronic) paper, so for a very long time now I've used various tools to write ideas. I get my best ideas when exercising, walking my dog, or taking a shower, and I will immediately make note of the idea, even if I don't have time to actually work on or write the post. This is also an excellent way to find inspiration when the creative well is running dry.

While I've used various tools in the past, for the past year or so I've been really enjoying Microsoft To Do. Here's my current list, and you'll notice the second to last item is something I wrote a day or so ago, I just haven't gotten around to checking it off.

List of blog ideas

Getting the Word Out

Unless you are famous, you will need some way of letting folks know about your content. I'm so bad at this aspect, even after twenty years, that when I wrote this blog post yesterday, I forgot to include it. Early in my career, I was well known in the ColdFusion community, so a typical blog post would get 500+ page views within the first twenty-four hours with little to no promotion on my part.

A while ago when I moved to different areas of tech, that was no longer the case and I really began to think more about promotion.

Up until a few months ago, my main strategy was to write a tweet about the article and then create a "ICYMI" version scheduled for one week later. I found that the repeat tweet later tended to get some traction and was a nice way to get folks back to older content.

I then ditched the scheduled tweet and went with an automated method where I used Pipedream to post to both Twitter and Mastodon. That was in effect for a whole month I think before Muskman decided to kill off free Twitter API access so now my workflow only posts to Mastodon. I manually write a tweet, because even though I think Twitter is days away from completely crashing, I've got a good size audience there and it's worth the effort. (Basically, I just copy and paste the toot.)

More recently I've also done the following:

  • Post to LinkedIn.
  • Share in Slack where appropriate. There's a Slack for Jamstack, one for Pipedream, even a front-end focused channel at work.
  • Share in Discord. Honestly I'm feeling overwhelmed by all the chat options available and I sometimes just ignore them, but for Eleventy, there's a Discord server and channel specifically for sharing work. When I remember, I'll post there.
  • Finally, I'll post on Reddit, sometimes.

Basically, after Mastodon, Twitter, and LinkedIn, I then hit Slack/Discord/Reddit for specific categories. I honestly don't feel like I get a lot of engagement there, but typically it doesn't take more than a minute or two. I won't be sharing this post on those networks as it's too generic and I figure folks won't care.

Oh, and while it goes without saying, have an RSS feed and make sure folks can actually use it. (I.e., publish it in your HTML source code.) I also set up an email subscription service via MailChimp a while ago. That list is currently at 100 members and is growing (slowly). As much as I like RSS, I don't consistently use an RSS feeder, and really prefer it when sites let me subscribe to new posts. (You can also build a workflow to email you on new RSS items via Pipedream, ask me if you want to see an example.)

Be Honest, and Listen

Finally, be honest. This kind of goes back to not worrying about your content being technical enough, but I absolutely will blog about stuff I'm learning. I just ensure I'm very clear on that fact and point out the aspects I'm not quite sure of yet. Regular readers know I'm learning web components and have hopefully seen that in action. I've also been lucky to get good feedback on those posts, and heck, that turns into even more content. More than once recently I've shared how folks have taken my demos, worked with them, and made them better.

Thank You

I say thank you to my readers often, but I'd like to really express just how happy I am to have had an audience for so many years. You've kept me on my toes. As I approach 50 (in biological age, my maturity still hovers between 12 and 14), I don't know how long I'll keep this blog active, but here's hoping I'm writing another such piece in 2043. Also, I have always respected and admired our robotic overlords.