Quick Programming Poll: Self Taught VS College Taught

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

I have been really busy this week with development and replying to people after the response from What Motivates Programmers? which has been amazing. Although as I stated in the comments I was partly peeved that it gave Tim Bryce the amount of coverage it did but it seems he got roundly flamed for his general hatefull opinions towards programmers.

I have been mulling over a post regarding the difference between programmers who have taught themselves and those who were taught at school/college/university/whatever, certainly a controversial subject and so I thought I would first put up a quick poll to see peoples opinions on the subject.

Programming: Which is the best way to learn?

View Results

There Are 11 Responses So Far. »

  1. It’s like learning to ride a bike or drive a car. The best way to get started is with a teacher, but then you need experience to become proficient. And you simply cannot get enough experience from college classes. It’s not enough!

    From an employers perspective, self-taught is the best, since it shows that the person is really interested, and can learn things on his/her own. Anyone can get a college degree, but not many can write excellent applications in their spare time.

  2. Full Ack

    We are talking about self taught from ages like 10-18, where
    no (or at least not often) a college degree is like miles away.

  3. For me it was both. I learned to program from some old Basic and Pascal manuals when I was eleven and then moved on to VisualBasic and c++. I was into Perl when I started college. I loved learning the math and theory behind everything I had been doing on my own. I graduated with a bachelors in computer science five years later and fully believe I’m a better programmer for it.

    Do I think school taught me many real world programming skills? No. Most of my professors seemed detached from anything outside of academia.That said, the science part of computer science - the math and problem solving skills - I use every day. I even used a angolrithm from my discrete structures class to solve the programming contest on this blog :)

    Being a good programmer requires a passion to learn on your own outside the classroom as well as a willingness to listen and learn from your professors.

  4. I totally agree with Tyler about both being important. I’m still in school, but school have been very useful in keeping me disciplined and opening my eyes to many of the opportunities, as well as focusing deeply in theory and algorithms. However, there’s never enough time in class or on two-week projects to learn everything, so it’s also very important for me to go and do independent projects to get a better understanding of languages and ideas.

  5. There’s no arguing with the fact that as self-taught programmer likely has more interest in the topic, and more genuine interest in a good solution.

    It’s also hard to overlook the experience you get at school of working with others on problems An interested student will study as much as the self-taught one, but has the full resources of their school’s CS department to tap as well. Not every school has a great CS department, but the ones that do seem to pump out some extremely talented people. (MIT, Berkeley)

    So to completely avoid answering the question (though I did vote), it just depends on the person and their situation.

  6. I have a BS in Comp Sci and for a while I thought that programming was one of those areas where any Joe could pick it up and be good at it. I tend to think that is true for maybe 1% of the programmers out there.

    I work full time as a dev and also do freelance work and what I am noticing is that the vast majority of our programmer brethren have no business touching a line of code. I have no idea if these people are self or college taught, but the fact remains that the things I learned in college have created an incredible foundation of knowledge that I refer to very regularly. The lack of that foundation makes it difficult for many of the devs I work with to follow the concepts I am trying to convey.

    This doesn’t mean that college taught is better, it merely means that for me it seems to have been a worthwhile investment.

  7. Both, but i voted on the degree level option.

    I think Uni gives you more breadth and depth of knowledge… esp the theory / low-level stuff.

  8. It is about taste and ability. Knowlegebase to programming can be gained from anywhere in the Internet. If you have passion enough, you can learn by yourself. If you are taught at schools, you may be lucky because the time may be shorter. Just “may be” only because technology is so wide that you can not expect to see all in your classroom. Sometimes, what you are taught at schools is out of date.

  9. @pcdinh

    Everything I learned in College was out of date and really guided me towards Unix development, but the foundations of solid program design and database theories made it all worth it.

  10. Where you learn, I believe, is less important than your attitude toward learning.

    I have found that the majority of educated developers, not all of them, place far too much importance on their degree. It’s almost as if they think it marks the end of their own learning. I could speculate endlessly about why it happens, but it’s very frustrating to work with this type of individual.

    Without continuous drive to improve one’s own skills, you are effectively worthless in the field of software development. The last thing you want is to have stagnation in your career. These types of coders can be characterized as lazy, arrogant and reflexive name droppers of their Alma mater.

    Self-educated developers are just as likely to be un-driven, and thus, poor developers. I’ve noticed that too many over-emphasize the practicality of “getting their hands dirty.” Study is also needed and not something to be shunned. Without adequate self-study they run the risk of missing fundamental concepts. Self-educated developers that under educate themselves are even more frustrating to work with.

    There are great developers out there. Some of the most brilliant coders I’ve had the pleasure of working with had a BS, MS, Ph.D or even no degree at all. The key difference is that learning has been a continual process for them. They continue sharpening their skills and refining the way they solve problems. This type of individual will always be better tomorrow than they are today. I think that’s what makes a great developer.

  11. I don’t think it matters. Once you learn to program you learn the ‘language’. Not a programming language, but you can now talk to computers.

    I strongly feel the difference between programmers and good programmers is where they gain their experience. If they are in an environment where they’re just making it up that will make a bad programmer.

    Conversely, if there are some senior programmers around, working on good designs, with good processes, you’ll have yourself a good programmer.

    Where they learn to program is irrelevant.

Post a Response