eurg comments on Open Thread, September 15-30, 2012 - Less Wrong

7 Post author: OpenThreadGuy 15 September 2012 04:41AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (206)

You are viewing a single comment's thread. Show more comments above.

Comment author: eurg 17 September 2012 12:28:38PM *  5 points [-]

I am a software developer, and have glimpsed over many similar questions. To summarize: There are enormous individual differences in how one can become a better programmer, and even more so on the opinions on it. It is not even easy to agree on what basic skills should be there at the "end" (i.e., the beginning, after your first two years real experience), much less on how to get those skills.

That said, most commonplace advice is valid here:

  • there is with high probability no really significant innate aptitude for programming (intelligence has a carry-over into many domains, however) (edit: seems I am wrong about that: See "Has “Not everyone can be a programmer” been studied?" at Programmers.StackExchange
  • don't expect too much skill carry-over: mathematical thinking and programming are related, but different activities
  • being able to concentrate for some time is good (a.k.a.: conscientiousness helps)
  • as a kid, liking the task probably also helps
  • playing the trumpet - not that much (though it can be fun)

On skill-set:

  • The practical coding skills are always important. (Except if you want to earn more than a dev.)
  • Algorithmic knowledge is rarely helpful, but you will stumble at least once if you don't have it (but nobody will notice).
  • Mathematics is necessary only in very small areas.

What should I have done? Training self-discipline would have helped (if something like that is possible). Knowing/Having somebody who is actually significantly better than me, and pushing me, would have helped (fuckarounditis on "learning" is too easy to do).

My Opinion: In professional software development there is very little time to broaden your knowledge -- it goes into obscure platform and domain knowledge quite quickly, and Jobs where you do what is actually interesting are in very short supply. However, exactly this broader knowledge is what can keep you afloat even if you happen to be neurotic, unreliable, slow worker*. So: Let him do what is most interesting, but gently guide him to do it just a bit better, and a little bit more diverse than he would otherwise. About interest: Many people say kids usually like somewhat quick results, and things that crawl. Maybe?

Preparatory learning exercises: Sorry, no opinion and idea here. I always liked to take things apart, and sometimes also to put them together (as in Lego Technik models, or -- almost always unsuccessful -- attempts to construct my own). Actually, I think constructing Lego models (or of course anything that is "more real") is great. But then there is the initial caveat of individual differences.

*: I might exaggerate a bit, but not too much.