Today is the last day of March, a month since I started blogging. I wrote a few articles, some of them are tutorials, some are project updates.
I wanted to share a few observations I gathered as a starting tech blogger. I tried really hard to give them some chronology in the sense of writing the post (plan, write, publish, get feedback, analyze, etc.), but many areas intersect.
Also, my blog is pretty small and would love to hear what more experienced friends have to say (yes, I’m speaking to you). Still, I think many of these sentences apply to blogs in general, not only technical.
A bit of background
It’s been ten years since I wrote my first HTML page in fifth grade. Since then, I studied many technologies. Some of then are quite extinct already (e.g. see ActionScript). I had some experiences with huge companies; I was leading workshops on C#/C++/python for a while. But never did I wrote an article (after thought, I wrote two pieces for a product documentation). Never did I have a blog or a real website.
People do read the blogs
I take part in “Get Noticed!” 2017 action. Participants develop a project and write at least two posts every week. At first, I didn’t believe in blogging; it was the project that I wanted to finish.
The reality check came quickly. I published the first progress summary and the same day over 100 people checked out the blog! This month I got over 900 pageviews from 32 countries. Nearly one-third of visitors are returning readers. That’s way above my expectations for a blog that just started. How may it look at the end of May?
I noticed a change in my habits. In my Feedly account, I have about 40 sources I read regularly. Only about five of them are personal blogs, where maybe two are about technology. This month, I found lots of interesting sources to follow written by other people. There are many great talks on the Internet I didn’t have time to see. Now I realize they contain plenty of excellent tips.
Writing a blog is like a second job
Another thing I was completely unaware of is the amount of time you have to commit every week to prepare articles and other content for the readers. I started writing down the times with Toggl, but it was too recently to draw conclusions.
At first, I just installed a WordPress instance, and everything was working fine. It was far from ready then, though. You have to think about categories, tags, plan content to follow some series idea. It takes time.
Still, if you want to write about a particular solution, you need a few hours of coding and another one or two for writing the article. Then comes the time for corrections, some settings, posting links on the Internet.
Even simple article to sum up project progress requires some time. You need to make the screens, record and prepare screencast. Then go through all the commits, summarize it in a simple list.
For posting three times a week, I need about four-five hours to write texts with good content. I could go with quantity instead of quality, but it leads us to a next matter.
You make a promise
I intentionally signed the blog with my name. It makes me easy to find by everyone. I feel like I made a kind of promise to write good articles. I have to make sure all the things I write are correct and accurate. Every falseness will hang here forever. I feel responsible for every word I write here and for continuous development of the blog. And I just can’t stop blogging when there are people to who read me; I would feel bad towards them.
Sometimes it’s quite hard to fulfill the promise. I had a really tough week at university, and I just couldn’t code anything for today (Fridays are for Konstruisto weekly summaries). How does it follow my promise to write every week? How to cope with all the things you have to do apart from the blog at the same time?
SEO, promoting content, etc. is knowledge itself
How about promoting the website on the Internet? If nobody hears about you, nobody will visit. You have to look for new acquisition channels regularly. There are Reddit channels, Twitter accounts, Facebook pages. Nowadays we have APIs provided by all the major platforms. It gives room for automation of the process, but you just have to know how to make something out of them.
This blog uses Google Analytics, but I use only the tip of the mountain. Its numerous options give you greater insight into your visitors’ profile, referrer sources, etc. You can use them while planning content for the following weeks. You can learn from the analysis of the archival data. But to know all this, you have to read a book about Google Analytics maybe.
The longer you write, the more you know about how to appear on the Internet. I have little knowledge at this point, and I think it takes long months to gather this kind of experience.
It’s harder to get some feedback
A few times I had the opportunity to explain the basics of programming or 3D modeling to high school students. I could immediately see in their faces if my sentences are clear and the message was understood. I could take looks at the project as it was in progress and I adjust in real-time.
The Internet doesn’t work like that. I write an article and hope that the reader understands. I can prepare images, videos, code snippets and it won’t be enough. I can make some examples (like working JsFiddles), but still many people will struggle to play with them.
The primary medium of contact are the comments. But a comment appears every ~100 page views, so that’s quite hard to say what an average visitor feels about the article. And I use Disqus to free people from filling multiple fields of the form, I think the response would be even lower then. From my own experience, when I want to leave a comment and see four-five required inputs I just leave.
There are some other channels like YouTube comments or interactions on GitHub, but I can’t say anything about it so far. (TODO: Get back to this one day).
Overcome negative thinking
Nobody likes to be criticized, right? And what if I tell you to publish this one project that could make a place in Crappy Code gallery? I felt exactly like this at first.
But the days pass, and I don’t care anymore. There are lots of things to do when you have a blog and worrying about a negative comment definitely isn’t one of them. Actually, when people don’t agree with something, they try to be as neutral as possible. Because of this, you get a plenty of helpful tips instead of senseless entries.
That doesn’t mean you should publish anything, exactly as I wrote a few paragraphs up.
You get to learn a lot
To prepare an article, you have to allocate a few hours every week. But it’s the time when you acquire new skills. Even if you write about something you have been using for a long time, you need to give your knowledge some structure. Many things will require you to fill in the gaps you had no time to fill before.
And when you decide to publish, others can see your work and review. Many users will comment on the article only if they feel comfortable with the topic – they don’t want to make a bad impression, as well. You get a direct response with valuable feedback from ones who know (or at least think they do). What can be better?
Of course, a comment on a blog doesn’t compare to a code review or a book covering the topic, but everything sums in plus.
(Here, thanks to @chyla for checking my GitHub repo from time to time and @krzaq for excellent C++ tips. You guys do a fantastic job).
Readers’ reactions are rewarding
I heard many positive thoughts about my project, Konstruisto. That makes me happy that I decided to start this project publicly. I tried three times in the last 5 years and never did I write more than a height map. This is my fourth approach, but I think I will finish a playable prototype this time; people like it and I made a promise, right?
Quite often I take a look at real-time statistics of Google Analytics. It’s really rewarding to see people from the other side of the world to enter your site to see what you have to say. I love it!
Nobody will copy your code, like, really
This blogging action I take part has very loose rules, but one of them is to make your project Open Source. Initially, I didn’t like the idea of sending results of my work somewhere.
But when you code, for every executed idea you have five new ones. Who would copy idea instead of making own one real? I just picked a license requiring attribution, and I’m fine with this. (GNU/OSI “relationship” story is kind of interesting, actually, and I recommend you to read more). Considering all the points above, you can only benefit.
I have many projects stored in my private BitBucket repositories. Now I consider publishing some of them. Maybe somebody will use my code or fix a bug I didn’t notice?
Your writing skills get better and better
I’m not native; I guess you’ve already noticed. For the first, quite short article I needed nearly two hours. How to put the thoughts in words? How to form sentences? I had lots of problems with this very first one.
Now it’s much easier to write. This article for example. I wrote first third at the university when I felt like doing so. I just went beyond 1700 words, and it’s not finished yet.
I also spot my mistakes faster. I discovered some structures I used incorrectly, some missing or surplus words. Recently I bought Grammarly subscription. It works great so far, showing me further suggestions of improvements.
You make a mark
It may sound turgid and banal, but I feel it’s something I will be proud of in the future. I can go back to these articles any day in the future, and it’s my work, and it’s my time I spent on this, and my project I wrote. I wouldn’t do it otherwise.
Let’s stop here.
We’re done
In this post, there was nothing but summing-ups 🙂 I just encourage you to comment. Say what you think, I would really like to hear you.