Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

If I want to concentrate on improving my skill or knowledge, should I be writing my own programming blog in order to consolidate my knowledge or I should I just concentrate on reading other people's blogs/videos/podcasts/books?

share|improve this question

closed as primarily opinion-based by gnat, Bart van Ingen Schenau, GlenH7, Robert Harvey, Doc Brown Dec 27 '13 at 17:00

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

You need to use a technology to learn it well. –  user1249 Aug 22 '11 at 10:26
I need to have inputs in order to know how to use it first. –  Sarawut Positwinyu Aug 22 '11 at 10:27
Typically if you are explaining something on your blog you tend to make sure you know everything you can about it so that you don't post incorrect information. This forces you to improve any lack of knowledge. –  The Muffin Man Aug 23 '11 at 19:53

16 Answers 16

up vote 53 down vote accepted

I think its clear what happens both ways:

If you write your own blog, you will be forced to make sure what you are writing is correct, and you will end up learning the intricacies, and gaining in-depth knowledge of the areas you are familiar with.

On the other hand, if you browse around, you will probably come across completely new subjects and gain knowledge about a broader spectrum of technologies, but it won't be as comprehensive.

In my opinion, you should focus on gaining a broader spectrum of knowledge rather than in-depth knowledge. The reason why I say this is that when you are working on a project, if you know about the technologies and tools that can help you get things done well at the outset, then you can get things done a lot quicker and go about doing them the right way from the start, rather than hitting roadblocks in the future. Also, this way you end up going in-depth into the useful topics as and when you use them, so you don't waste time going deep into unnecessary things.

I understand that having in-depth knowledge helps you really understand the tools your working with etc., but this way you can gain that in-depth knowledge for the tools you use, as and when you use them, rather than learning things you may never utilize.

EDIT: I stumbled upon the "Just in time" philosophy of learning Jeff Atwood advocates, turns out it explains the reasoning for my answer much better than I could. Definitely worth a read -

share|improve this answer
"If you write your own blog, you will be forced to make sure what you are writing is correct," sadly, all too many bloggers don't do that... –  jwenting Aug 23 '11 at 6:35

Improving your technical skills is only a very small part of the overall skill set you should be looking to improve as a software developer. I'm a strong believer in being able to communicate your thoughts effectively. I strive for this because software is made by teams, not just by a large faction of single developers. As you start to write, you'll only get better at writing. This, in my mind, should be near the top of every developer's to-do list.

The programming community also revolves around the dominant mindset of 'giving back'. Chances are that you've already learnt a lot of programming from other people imparting their knowledge. There's a strong sense of returning to the community and the easiest form of it is teaching those who know less than you. Even though you may not specifically target it, whatever you write about will be helping someone.

Another example of the 'giving back' mindset is the number of open-source projects in existence. It's the result of smart people being humble to contribute, knowing they will not receive any financial reward for their time.

share|improve this answer

There's no harm in writing your own blog. Writing about what you're learning only helps solidify it in your own mind.

share|improve this answer
Certainly don't stop reading other peoples work. Those blog posts can be excellent sources of clarity and inspiration. –  AndyBursh Aug 22 '11 at 9:18
Don't worry Sarawut. Everyone are writing about the same thing anyway. ;-P Reading more blogs doesn't help your learning. Applying the practice and reflecting on it does. –  Spoike Aug 22 '11 at 9:20

You can never master any subject until you try and teach it.

share|improve this answer
One of the best ways to learn something is to teach it. –  bestattendance Aug 22 '11 at 15:10
Yes. Completely true. You never see the gaps in your own knowledge until you try to pass it on. –  Zan Lynx Aug 22 '11 at 18:53
Certainly there are less competent teachers out there, I had my share of those as well. Possible improvement to the answer: "... until you try and teach it successfully." –  Zsolt Török Aug 23 '11 at 9:53

In my case it is the other way round. Writing programming blog forced me to gain in-depth knowledge about subject matter and actually increased learning speed.

However, different people have different learning styles, therefore it simply depends on what is your learning style...

share|improve this answer
If you want to be 100% sure of what you're writing, you'll learn new things because you're checking out all aspects of your article. –  Bart Aug 22 '11 at 10:13

My recollection of writing some extensive tutorials was that trying to explain what I had been doing to other people meant I needed a much greater grasp of it myself- where I had just written code and kind of poked around until it worked, if I was going to explain it I needed to know why the solution I had come to was working, which forced me to think the things I was doing through in a lot more detail.

For me this really helped to crystalise my understanding of the platform I was working with and made my code for that platform a lot better in the long run.

Also by putting your ideas in a public forum, you open them up to comment from others and if you get informed readers visiting your blog there is a good chance that your readers will suggest different or better ways of writing code to do what you are doing, or tricks that allow you to have the API do more of the work that you may not be aware of.

share|improve this answer

One of my college professors used to say, "If you haven't written about it, you haven't thought about it."

share|improve this answer

I would be inclined to say you improve your programming skills by programming. Using a blog will improve your communications skills.

What's not clear to me is what skills you think you would improve by writing a blog.

share|improve this answer

I think you write a blog for a different reason. You do so in order to create a buzz around yourself and gain reputation in the programming community. This gives you credibility, authenticity and a sense of of being connected to your fellow programmers. Therefore, it is a great way to promote your skills, products and services to a lot of people including potential employees especially if some of your blog entries go viral. In order to write a good blog, you already need to have an in-depth knowledge in your domain of expertise.

You read blogs/podcasts/tutorials/books to gain that in depth knowledge. Also, it's important that you get involved in a few projects and get your hands dirty, in order to solidify that knowledge.

share|improve this answer

Writing something or saying it out loud activates different parts of your brain. That is why sometimes we think we understand something as soon as we hear it; it seems very simple. Actually when you are out there writing something or doing it, you will find a lot of missing pieces that you will eventually discover. So, writing always helps.

You must have felt the urge to write already, which might be part of reason you posted this question. Now, whenever you feel that, go ahead and do it - write. Writing for the sake of writing cannot be sustained for longer periods from my personal experience. So, whenever you feel the urge, stop writing. If you think you are wasting too much time on writing text, try vlogging instead of blogging - record using a screen recorder with your voice or audio. It takes less time and you can edit the recordings at leisure.

Before you decide if it is effective or not, try it out and check for yourself.

share|improve this answer
and never stop reading though! –  Sundeep Aug 28 '11 at 5:47

I can see both sides of the argument, reading blogs is good because it helps you discover things that you may never find on your own, but there's also a lot of duplication. Writing a blog takes time and energy, but forces you to really make sure you're 100% on everything.

I found a happy middle ground was writing articles on things that I know will prove useful to me in Evernote, I don't need to share them but they do need to be 100%.

I'd suggest start by writing a couple of articles offline. If it helps and you enjoy it, then carry it on.

share|improve this answer

If you do programming alone, you'll learn what just needed to accomplish your tasks. But the experience is different while writing - you have to understand every related area, so that your answer does not become a bluff. I have written programming articles for my website and I have always learned more while writing blogs.

share|improve this answer

This is all very subjective. You can learn by reading others' blogs if what they're writing about is pertinent to you in some way. If the blog contains concepts which are generally applicable to all of computer science or those which are germane to whichever language or framework or platform you're working with then reading others' work can be useful.

On the flip side, writing your own blog can be useful in a lot of ways. From my own experience, I can say that blogging about my projects is kind of like optimizing my work as well as recording what it is I have done and intend to do. I use my blog to keep track of things like design decisions and milestones but it also helps me move on to whatever it is I need to do next.

Ultimately, if you start blogging and find that it's not benefiting you, your time is probably better spent actually producing code or reading about others' work.

share|improve this answer

should I be writing my own programming blog in order to consolidate my knowledge or I should I just concentrate on reading other people's blogs/videos/podcasts/books?

You should definitely do both.

First, you have to gain enough knowledge from theory and practice. But even at this stage, you can still write a blog about useful articles and topics you found on the web. this way you will start to receive feedback from the readers, and see if your work is going in the right direction, if you are writing right things, or not.

When you feel you have enough knowledge about a particular topic, you can start write your own tutorials, opinions and articles about it.

At the beginning, try to focus on only one topic, the one you know the most. As time passes and you feel more comfortable, try to embrace a wider number of technologies.

Writing will only make you a better programmer. Granted.

share|improve this answer

I think that by writing your code again and again just makes you better and better. I think there's no problem when doing both reading and writing. That's how we learn

share|improve this answer

Basically writing, for any topic and not just programming, make me think carefully and deeply about it, get hands-on experiences and I often get my own experiences just because I make mistakes that very few people have ever made :)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.