Oh no, not again! - you might think. Yet another Mr.SmartyPants are going to share his own vision of how to improve in development.
I'll say very obvious thing - if you are going to be great in something, you have to do that a lot. Like, if you going to be a great snowboarder you have to ride a lot; If you going to be great mathematician you have to solve a lot of problems; If you going to be great developer you simply have to do a lot programming :).
The road from "good to great" is long and difficult, you could not be great in one year.. or ten, or even whole life. But what you definitely can do, be a better. Only realizing that you are better than yesterday (month, year ago) is a great benefit, believe me.
But just the fact of knowing "I need to do something a lot" would hardly could help you to progress. What you need to have is indicators. Simple criteria's that make you understand what your progress is. Are doing great or you suck?
Three account's that I created almost year ago, help me to get those indicators.
- github.com - producing of code, that what we do. you have to have github to store all code you produce, doesn't matter it is a product or tool or just a gist you created to help someone - it have to be stored. with a github you should be able to see how much you coding are changing through the time. you should review you last year code and think "Oh, God I suck a lot!".
- blogger.com - besides of code writing, you have to share your technical thoughts. the blog, is a great motivator for seeking and sharing knowledge. as well as coding, blogging requires much skills. I see some relation between producing good code and good post. blog would also help you to look back, to remind you problems you was thinking of.. and how much you were right on that? is your opinion changed on some topics or not?
- stackoverflow.com - if you can't explain something to another, you don't understand it. giving an answers is extremely difficult, especially in such competitive environment as stackoverflow. the time I created account there I was not able to give any answer in meaningful time. I just had not enough skills for that. stackoverflow is great indicator, since it contains a reputation system.
Well, do you think it is useful? It works for me and I'm going to proceed.
PS. That's my 100 post for this blog.. and that's my Friday before week vacation.