top | item 2157933

Can one be a better programmer as a result of training in a specific way?

3 points| KedarMhaswade | 15 years ago | reply

HN is quite helpful on similar thoughts expressed in the past and I have read some of them. But my question is somewhat different. Suppose you have a decade. Is it possible to use that time to "train yourself" to be an increasingly better programmer?

Or is it more like no matter what happens, your "scale as a programmer" is constant?

Philip Ross argued (http://www.scientificamerican.com/article.cfm?id=the-expert-mind) that getting better at chess is possible with "correct" training. Thus, 10 years spent without correct training and the same time spent with correct training can make a vast difference.

Would that apply to programming?

1 comment

order
[+] arctangent|15 years ago|reply
I think one of the key skills required to be a good programmer is the ability to understand and work with abstract concepts. There is probably even some kind of lower bound (if such a thing can be measured) below which one cannot program at all.

I spent a lot of my formative years studying mathematics and playing chess (amongst other games) and I believe these activities helped to sharpen my ability to work with abstract concepts.

Spending time doing this may not necessarily work for you - particularly if you lack the passion for those things to be able to really study hard.

But anything which could be considered "deliberate practice"[1] in the craft of thinking about problems will likely help you program better. This includes reading and writing a lot of code.

[1] http://www.google.co.uk/search?q=deliberate+practice