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?
|
|
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 - http://www.codinghorror.com/blog/2006/04/keeping-up-and-just-in-time-learning.html |
|||||
|
|
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. |
||||
|
|
|
There's no harm in writing your own blog. Writing about what you're learning only helps solidify it in your own mind. |
|||||||||
|
|
You can never master any subject until you try and teach it. |
|||||||||||||
|
|
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... |
|||||
|
|
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. |
||||
|
|
|
One of my college professors used to say, "If you haven't written about it, you haven't thought about it." |
||||
|
|
|
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. |
||||
|
|
|
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. |
||||
|
|
|
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. |
||||
|
|
|
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. |
||||
|
|
|
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. |
|||||
|
|
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 |
||||
|
|
|
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. |
||||
|
|
|
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 :) |
||||
|
|
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. |
||||
|
|