Hacker News new | past | comments | ask | show | jobs | submit login

Please, no false dichotomies.



I have to agree with Hexstream here (2 downvotes really?). A pithy overgeneralized saying proves nothing. Nearly every occupation benefits from a worker who can learn fast: lawyer, doctor, architect, CEO, salesmen, stock trader etc...

This is not specific to programmers and it is imaginable that a slow learning programmer with domain specific knowledge has value.


The most important aspects of a great programmer are:

  The ability to learn what users need. 
  The ability to learn how a how a system works. 
  The ability to learn the cause of a bug.  
  The ability to learn from mistakes.
  And the ability to solve complex problems.
Domain specific knowledge has some limited value but flexibility of thinking is far more important.


Then don't interpret it as a dichotomy :-)

While fast learning per se is an asset in any field, however, in many occupations learning seems to be taken as a necessary evil that merely makes you wish you could do things like you used to and go on like that. You get trained to be something and when your field changes, you're forced to learn something new and you only do it then.

Programmers on the other hand—well, their job is to learn new stuff. Sometimes it's a new codebase, sometimes it's a new framework or library or language or protocol or a set of tools but there's always something new. The ultimate new thing is writing a program that hasn't existed before: everything is new. And even that new stuff doesn't have value per se, it's just a prerequisite for a programmer to "get things done". Stuff gets into the fashion and stuff becomes obsolete, but the programmer is riding on the front wave.

Not only good programmers have to be able to learn, they have to be able to learn fast. Programmers can't afford to take a six-month course to learn something new. If you can't learn new stuff and successfully map out the diffs of how it relates to stuff you already know, you're out soon.

As someone pointed out, while being able to learn also means that the programmer has undoubtedly learned a lot, I still argue that the value is indeed in the ability itself. A junior guy with the good programmer aptitude and ability to learn can bump himself into shape in a few years of time. Another programmer who has already learned a lot but who has lost the willingness to learn anything new is toast sooner than that.

Learning is implicit in the job of a programmer. When your job is to circle around the boundaries of unknown, it is something that you can't avoid.


I think the biggest reason why absorbing new knowledge quickly is a must when you are a programmer is that you are working for other people to be more productive in what they already know how to do, and if you can't understand their 'domain specific knowledge' as they try to impart it to you then you will have a hard time implementing something that will make them happy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: