Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was about to submit this one myself...

The article referenced does identify a major problem in an undergraduate programming curriculum. I like the idea of a BFA in programming (this idea has been around for a while), as well as a rigorous program that requires a much deeper understanding of programming languages. Java schools are a problem, no question about it.

But I'm a little sceptical about how much it will help in the grand scheme of things. I'm starting to figure that trying to create a truly talented programmer through a CS curriculum is like trying to create a truly talented novelist through a creative writing program. An intellectual environment is valuable... but how many students are there who would have learned the things listed in this report (functional programming, proper memory management in C, LISP, ada, proper use of threads, a deep understanding of what happens under the hood, as well as solid mathematics) if and only if the curriculum had been different? Or would these students, who will be few under any circumstances, find their way to these subjects anyway?

I don't know the answer to this question. I have a feeling that a better curriculum is worthwhile, and would improve the number of excellent graduates - in other words, while I think that some will find their way to this material on their own, I do agree that there are people who will not achieve the talent level they are capable of because of misguided course requirements. But I wouldn't expect this to turn lots of people into highly talented programmers any more than a writing program is going to produce a bunch of spectacular novels. It just ain't in a lot of people (including, I'm starting to suspect, myself).



"I'm starting to figure that trying to create a truly talented programmer through a CS curriculum is like trying to create a truly talented novelist through a creative writing program."

On news.yc we tend to only talk about truly great programmers because that is what is required for startups, but I feel like there is still some role in the world for programmers who are merely competent and good at what they do, in the same way that there is still a need for proficient writers to produce technical manuals and ad copy.


we tend to only talk about truly great programmers because that is what is required for startups

That's not what we look for. The evidence so far (and there is now quite a lot of it) suggests that it's more important that the founders be very effective people than great programmers.

I suspect this is true even in research, but certainly in startups, someone who is reasonably smart and very driven will beat someone who is brilliant but ineffectual.


Are there ways to make yourself more driven?


Definitely. Graduating from college, because you lose the option of going back to school if you fail. Having a taste of success. Doing something that will be judged by your peers. Feeling like what you do will make a difference to the world. Having people depend on you. Losing the illusion that you have infinite time.


Trying to increase your productivity by changing your intrinsic work ethic seems difficult and also inefficient.

How hard people work also depends to a large extent on the systemic environment in which the work takes place. The Hawthorne studies showed this back in the 20s. The basic idea was these researchers went to to study the effect of lighting on worker productivity. They went to this factory with two rooms, and they dimmed the lights in one and walked around and asked people how they felt about the change. The worker's output was measured in pieces produced, so it was easy to measure productivity. What they found was that when the room was dimmer, worker productivity increased. This didn't seem right to them, so they made the lights even dimmer and productivity increased again. And then they made it so it was almost pitch black and the productivity was at an all time high. What they found was that worker productivity was increasing due to having the scientists walk around and take interest in the factory workers. (I would have linked to the Wikipedia article, but it isn't very good.)

There are a whole series of studies since then showing that the idea that some people are hard workers and some people are lazy is misleading at best, because someone's work ethic is more determined by the environment than any intrinsic quality (although different people need different environments).

This is the same basic idea behind the Milgram experiments, where he showed that the majority of people had the capability to carry out the deeds of the Nazi's under the right systemic environment, and that the evil deeds of the Germans weren't so much intrinsic to the people themselves rather than the larger social system.

Even today there is a lot of really really valuable research coming out in this area. Just as an example, this is a good article on using psychology to motivate contributions to online communities:

http://jcmc.indiana.edu/vol10/issue4/ling.html

Bob Kraut has a lot of really good papers in this area relating to the Internet that are around online.


In many ways, PG's suggestions do imply a change in your environment as well. And so, it may not necessarily be contradictory to your position / the cited research.


I love this thread. Nothing wrong with having two superficially contradictory models of motivation.

I would keep PG's advice in mind when raising children.


train a monkey with a cattle prod to chase you around


And what about more effective?


If you crank up drivenness and hold intelligence constant, you become proportionally more effective.


burn the ships.


"On death ground"


one confounding factor is that software development, even more than programming, is a creative art with vague parameters.

I still remember visiting a music store and seeing this dude take a guitar off the wall and blow everyone away with his talent. The things he could do with his fingers were amazing. He was probably a better guitarist than Dylan, Lennon, and Springstein. He was certainly a better guitarist than Andre3000, who (I read somewhere) used G, C, and E minor as the basis for "Hey Ya" because they were the three chords he knew how to play on the guitar.

Unlike the musicians mentioned above, he was also available for private beginner lessons ;)


On news.yc we tend to only talk about truly great programmers because that is what is required for startups

While truly great programmers will help the business become profitable and successful sooner, they are by no means required.

I think there are plenty of non-vc funded startup businesses out there that do ok with so-so programmers. You just don't hear about them in the media because they are privately held.




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

Search: