DEV Community

ndesmic
ndesmic

Posted on

Reflecting on a Year of Programming Blogging

I started this blog a year ago with a few goals in mind. Firstly, I wanted to start producing more content that wasn't totally siloed. Secondly, with the extra weekend time not going places I wanted to explore some topics and challenge myself. And third I wanted to give myself a set cadence. The goal was to produce an article every week that was both researched and of decent length. There's plenty of one paragraph posts but I didn't want to be one of those, I wanted to be high quality content.

Making Unsiloed Content

While it can definitely be argued that dev.to is a silo, it's currently not too hard to take it elsewhere if I start disagreeing with their policies. In fact, one of my blog series talked about making a personal site and that is a bit of a more long term goal. What I'd love to eventually do is cross-post there as well. There are still some hurdles to getting there though. One is that dev.to offers a bit of a markdown CMS. It's certainly a better editing experience than vscode. Specifically stuff like spell-check goes a long way. The other is that markdown functionality like codepen previews and codeblocks are well supported and I'd need to build that into my blog. I'll try eventually but at least at present they aren't the most interesting sounding tasks.

Challenging Myself

A lot of the topics were things I wanted to explore and often were related to things I encountered at work but would not make sense to explore on the company clock. I will say I learned a lot of 3D engine programming to the point where I can actually be more conversational about how things work. That's a big step from where I started. I had made 3d engines with tutorials but this was the first time I made my own from the foundations without any external input beyond my own research.

I also learned a bit about sound and music to build my synthesizer, learned about web components and accessibility, all sorts of new APIs. One of the great things about writing about it is that I'll have something to reference when I re-visit those topics but also that I was forced to go a bit deeper than I normally would. When writing a piece I have to anticipate questions and sometimes that means doing experiments to get the right answer. Doing that really helped my understanding of a few things like JS module types.

Set Cadence

On the whole I did create a lot of content. 50 of 52 weeks I wrote something which I'd say is a huge success. Some of the content needed to be prepared ahead of time so when I was really cranking on a project I could get 2 sometimes 3 at a time which bridged the gaps when I couldn't write anything due to time constraints.

Successes

I definitely improved my skills and knowledge in many areas. One of the cooler things I hadn't expected is that someone actually reached out to me to re-post one of my articles on their site and gave me some money to do so. I'm not quitting my day job for a $50 Amazon gift card but it did make my day to know someone read it and liked it enough to think it deserved something.

Probably my favorite article was the one on color math and color-blindness. I had to dig into how vision works, how digital color works and how to do that with 3 different APIs. That was very interesting and it's a series I have a few more ideas for in the future.

Failures

Certain content was not well scoped. I wanted to keep going but it would frequently involve a large refactoring. These articles are really hard to follow because it's not easy to represent moving code. I wish I had a better way to deal with that.

I also wish I found better ways to represent stuff like diagrams and such. It's a lot of work so I usually opted out of doing it and I know that probably made things less clear for readers. Perhaps I can make more tools to be able to do this better.

I also lost a lot of screenshots. If I want to republish the content with my own hosting getting those images back by grabbing them out of dev.to's s3 bucket is going to be a pain. I'm not sure if they did any extra resizing or compression during upload either.

Observations

Some of the most interesting observations is which articles actually interested people the most. Perhaps unsurprisingly it was content with buzzwords. If the title contains "React" it gets way more views than web components. I think that's a bit sad, as it really shows what a business cult frameworks can be, not enough people are interested in the guts of it.

The other thing was how weekly content really shaped the projects that I worked on. I needed to have something that was digestable and had a concrete milestone in a single article. This meant that certain topics were off the table. Some topics required too much time investment, trial and error etc to produce something on time, others required too much to get to a reasonable place. For instance I have a series on building a WASM interpreter I'm writing but I need to actually get it to a useful place otherwise I'm not sure I'll be able to finish it and just frustrate people who wanted to read about it. Overall, I was rarely short on topics as something would usually come up each week but occasionally I'd need to do more secondary idea I maybe wasn't feeling that week. It would feel like homework and I'd really have to push myself.

Going Forward

I do not plan to keep the same fast cadence going forward. I think I got what I wanted out of it but I'd also like to give myself more time to explore some topics that require a bit more. I also expect to start doing more things as life activities start picking up again so I can't really make the same time commitment all the time.

I do plan to continue some of the series I started though. While I tend to get bored I find I usually come back to things eventually and with a wealth of documentation in the form of blogs I'm hoping this gets easier.

And maybe I'll actually get around to publishing more of this content in my own site. I've written plenty of video game reviews but I still need a cohesive strategy for this content too in order to achieve my goal.

Discussion (0)