Hacker News new | ask | show | jobs
by KirinDave 5027 days ago
> In my opinion you are creating a false dichotomy between having learned and learning. Someone who has just started to walk/bike etc has still learned to walk/bike. They are by no means near entering Olympics for the next few years but they have made their own life very much simpler and more enjoyable. (Father of small children here.)

The fundamental difference here is that bikes are ridden in a way that's fundamentally unchanged for decades. Contrary to this "settled" field of knowledge, programming is constantly invalidating itself. Even if you achieve competency in a limited field (perhaps operating system design or web development), that field will almost certainly overturn itself within 5 years for any reasonably broad definition of field. Consider what modern linux looks like compared to the original version; a lot of new techniques have emerged to address requirements.

To enter that field, this new knowledge is not "optional." It's required. The goalposts for competency aren't just shifting; they've got a nuclear power supply and tank treads and they're out of control.

In this, it is not unlike being a doctor. Their knowledge base is similarly in constant flux (although not quite so violently as ours). A doctor who does not constantly improve and update their knowledge will be a substantially worse doctor than one who does. A perfect example of this is pre-scientific doctors like homeopaths, who basically do nothing with an almost frightening level of dedication and fervor.

> Comments like yours are discouraging at least one specific subset of people from doing the one thing that can possibly help them increase their skills

I did not direct this at some 16 year old kid or a non-programmer, nor did I put it in a venue where non-tech people read. Even if I did, citing final consequence is hardly a good argument. In any case, the industry does a pretty good job of discouraging people from joining as it is. When I was in college, there was a 60% dropout rate between lower and upper division classes.

1 comments

Checked your profile and you seem to be smart, yet I think you are wrong again : ) (sure you have got enough sleep lately? not been talking to much to marketers?)

> "The fundamental difference here is that bikes are ridden in a way that's fundamentally unchanged for decades. Contrary to this "settled" field of knowledge, programming is constantly invalidating itself."

The most well known styles of programming (imperative, functional, object oriented etc) have been unchanged for two or more decades as well.

And a 10 year old c or html tutorial still works and still lets people start solving real world problems.

I guess I'm leaving this discussion here. You know way to many cool expressions for me: '

>"programming is constantly invalidating itself" - this holds true for Java, C and Lisp right? Or are we talking about how for loops aren't valid anymore?

> "Consider what modern linux looks like compared to the original version;" - We are talking about that "unix clone" thing from early ninetys? Has it become a Windows clone without me noticing?

> "A doctor who does not constantly improve and update their knowledge will be a substantially worse doctor than one who does. A perfect example of this is pre-scientific doctors like homeopaths, who basically do nothing with an almost frightening level of dedication and fervor." - Comparing software developers to doctors. Go tell some doctors. Try car mecanic. They also have to stay up to date.

> "I did not direct this at some 16 year old kid or a non-programmer, nor did I put it in a venue where non-tech people read."

No, but you directed it at a new programmer who shared something that a lot of people in that situation seems to struggle with. Hey, not just new programmers, even Kent Beck has blogged about a similar situation: http://www.threeriversinstitute.org/JustShip.html

> Checked your profile and you seem to be smart, yet I think you are wrong again : ) (sure you have got enough sleep lately? not been talking to much to marketers?)

I am not sure why you decided to include this toxic, thorny little jab in your post. Please know that it's not appreciated.

> The most well known styles of programming (imperative, functional, object oriented etc) have been unchanged for two or more decades as well.

This is not true. The state of the art in all of these has advanced considerably, and many things that were once considered good practice have been discarded over time.

> And a 10 year old c or html tutorial still works and still lets people start solving real world problems.

I'm not sure what definition of "real world problem" you're talking about. Certainly nothing I learned 10 years ago directly pertains to my work today... Not pure math; its quite rare to use C for that sort of problem anymore. Not networking problems, 10 years ago you couldn't write servers the way you can today (nor should you save for perhaps embedded systems like microcontrollers?) Not UI either. Perhaps simple text munging? Doing that in C is pure futility compared to what we have today.

As for HTML, a 10 year old HTML tutorial would give you almost no insight into modern webpages, and a very large amount of it would be "N-hancements".

> No, but you directed it at a new programmer who shared something that a lot of people in that situation seems to struggle with.

I'm not sure what your point is. Nor am I a huge fan of Beck's philosophy in this.