

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

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?<p>Or is it more like no matter what happens, your "scale as a programmer" is constant?<p>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.<p>Would that apply to programming?
======
arctangent
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>

