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

I don't know about gp, but the most common ones I see are:

  - Algorithmic complexity analysis ("big-O")
  - Being trapped in a single paradigm
    (e.g. loops vs. recursion)
  - Not understanding the underlying hardware / protocols,
    what they guarantee, and what they don't guarantee
  - Software design knowledge can be spotty; someone might
    know about high-cohesion design, but not know about
    use-case analysis.
  - Not valuing version control, though this is rare now
    it used to be very common
Now, it's not at all true that every self-taught developer has all of these problems. Some have none of these problems; they are just the most common I've seen.


To me this reads like a list of problems of self-taught programmers who've only ever worked on their own.

I've met a fair few old school programmers who were around before CS courses really took off, they know everything on this list.

I disagree with all but the third, and I especially disagree with the 4th, the worst designed programs I've seen were written by CS trained people. They try and implement overly complex models because they've been taught them. Pure experience trumps book knowledge every single time in software design.

I know I have gaps in my knowledge, but if that's the best you've got I'm still happy I got a Philosophy degree!


You're absolutely right that every one of these problems tends to go away with time; that was the one disclaimer I forgot. The more dev work someone has done, especially on collaborative projects, the less likely they are to have these problems.

You're also absolutely right that CS training isn't a panacea. Actually I tend to suggest math or electrical engineering training to people looking to get into the field. CS programs tend to overcorrect in some areas. For example, new CS grads often want to overuse regular expressions.


Just the same, at my first internship I has bosses with Bachelors or Master degrees in CS that had those problems. One went so far as to call version control itself "a problem"...

I think its really up to the individual person to gain those skills. If you don't care the concepts won't mean anything, even if they're spoon fed to you by a university professor.




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

Search: