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

I remember when I went to programming competitions ACM, Topcoder and like, we would have to solve 5 to 8 hard problems in like 4-5 hours. After that most homework CS assignments seemed like a joke, yet most students would spend days just to compile something half-working.

Most CS students are not trained to solve problems. They are taught algos, some language basics, but they only have to code 2 or 3 small programs per week.

We had a programming club where we would solve 4-5 problems in one hour, and only like 5 people attended it, out of ALL CS majors of ALL years.

And that's, kids, why it's so damn hard to find good developers.



I also did CS competitions in college, but I always felt they over-stressed speed. They are for quick problem solvers, who are also comfortable with the languages the competition accepts. However, the way I see it, merely being sharp and knowing a language well isn't good enough to be a good programmer. Programming to me is a strange mixture of problem solving, technical knowledge, design, writing, and typing and a good programmer is good at all of them (throw English in there as well if you're not a native speaker). Problem solving and typing are things they teach you to get a CS degree, and it's what those competitions measure, but most of our submissions were really poor code, even by my standards at the time.

[Edit] Add discipline to my long list of essential virtues for a good programmer. Discipline is a big one.


Agreed, that was similar to what I've seen with other programmers and with my only education. I profited greatly by taking engineering courses for a while, and they teach how to problem solve. I've also observed that others who have had a similar experience do well with problem solving (but also those with math background, which is counterintuitive to me). Small sample sizes for both, but they have been pretty consistent.




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

Search: