Linked by snydeq on Thu 15th Jul 2010 18:31 UTC
General Development Fatal Exception's Neil McAllister asks whether the need for advanced development expertise is on the decline in an era in which tools grow increasingly more advanced, and coding increasingly moves offshore. 'Few companies share Google's zeal for academic credentials when hiring new developers. Many are willing to accept self-taught programmers, particularly if they have other skills relevant to the business.'
Thread beginning with comment 433623
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Comment by lucas_maximus
by OpenGLCoder on Fri 16th Jul 2010 00:49 UTC in reply to "RE: Comment by lucas_maximus"
OpenGLCoder
Member since:
2006-10-17

I am a little at odds with the comments above. Being self-taught, I can attest that a degree means nothing without passion. Most self-taught programmers have the advantage of being more passionate about programming than people with degrees. I do have an associates degree and will be getting my bachelors soon, but I can build an entire city - skyscrapers and all (code-wise) from the skills and perspective I've gained from being a coder both professionally and at home over the past 14 years.

That being said, I believe a degree does a couple of things. It proves that you can dedicate yourself enough to see something through to completion (your education), and gives you exposure to people who are most likely very good at what you are striving to do. In other words, it gives you a more humble perspective.

Reply Parent Score: 1

MarkTime11 Member since:
2010-07-16

Degreed people tend to vigorously defend their degrees, but the fact is, a degree is not required in programming.

Someone who spent 12 hours a night programming in their bedroom, learning programming languages from Assembler to Java, to C# to C++, who learns constantly, has far more real programming experience than someone who merely got a college degree.

In fact, getting a college degree distracts from learning - when you are focused at that level.

It may be great to study American history, international economics, a foreign language minor - it very likely has nothing to do with your programming tasks - imagine if you had spent that time learning more.

College has always presented a false goal - the degree - as opposed to the knowledge.

Bill Gates didn't finish college, I'd hire the man any day, he's pretty smart, and has a lot of experience, and seems like a genuinely nice guy on top of that.

But look - all this is anecdotal. If you are worried about someone really understanding the job - here's a tip - test them.

Don't ever accept a degree as a substitute for demonstrable knowledge.

Reply Parent Score: 5

bnolsen Member since:
2006-01-06

That depends a lot on the school you go to and the degree. The criticisms you point out IMHO apply more to people going for a phd, not at the bachelor's or even the master's level. General rule of thumb for phd's I've met is that they are far more interested in personal development and pet projects than they are in forwarding the goals of the company they work for, it's kind of an "entitlement" mentality rationalized by the level of their education. There are always exceptions to this, though.

Reply Parent Score: 2

RE[4]: Comment by lucas_maximus
by MacTO on Fri 16th Jul 2010 05:42 in reply to "RE[3]: Comment by lucas_maximus"
MacTO Member since:
2006-09-21

The quality of a self-taught individual depends upon how they pursued their education. If you're the type of person who learned how to program by solving a problem, then examined your solution critically in order to improve your techniques, you probably did a good job of educating yourself. If you enriched your education by learning about the theory, and the underlying math that it is based upon, you probably did an excellent job of educating yourself.

The thing is though, I see a lot of people learning how to use a language or a library by using popular books, reference manuals, and online tutorials. They may get the job done using that approach, but it is unlikely that they will do the job well. They are also, IMHO, missing out on some of the most interesting facets of computer programming and reducing themselves to code monkies.

Reply Parent Score: 2

vivainio Member since:
2008-12-26

Degreed people tend to vigorously defend their degrees, but the fact is, a degree is not required in programming.

Someone who spent 12 hours a night programming in their bedroom, learning programming languages from Assembler to Java, to C# to C++, who learns constantly, has far more real programming experience than someone who merely got a college degree.

In fact, getting a college degree distracts from learning - when you are focused at that level.

It may be great to study American history, international economics, a foreign language minor - it very likely has nothing to do with your programming tasks - imagine if you had spent that time learning more.

College has always presented a false goal - the degree - as opposed to the knowledge.


Quoted because this is true, as opposed to all the verbose drivel posted on this thread.

Some people seem to think getting a degree makes you capable of thinking of programming more deeply. I don't know where that comes from. Depth comes from staring at debugger and building your Nth architecture from scratch, with your mudstained hands.

I'll hire a basement coder over acedemic "programmer" any day. OTOH, acedemic programmers are dime a dozen while basement coders are actually hard to find.

Reply Parent Score: 3

lustyd Member since:
2008-06-19

You miss the point completely. University and college do not teach programming a language. Those people who proudly teach themselves Assembler, Java, C#, C++ etc for 12 hours a night are precisely the problem.
Knowing a language does not make you a programmer, it makes you a coder. Even if you know 12 languages.
Understanding design, algorithms, structured testing, how the computer deals with your data are the things taught on a degree, and until someone points them out, the coder in the bedroom won't even know they don't know them.
Don't ever accept demonstrable knowlege over a proven education. just because I can reassemble an engine does not mean I could design one successfully.

Reply Parent Score: 2

RE[4]: Comment by lucas_maximus
by ndrw on Fri 16th Jul 2010 11:45 in reply to "RE[3]: Comment by lucas_maximus"
ndrw Member since:
2009-06-30

the fact is, a degree is not required in programming.


It all depends on what and at what level are you programming. Number of applications that require some engineering skills is steadily increasing. To be fair, the number of applications that do not require such skills is increasing even faster but that doesn't make the previous statement false.

Word "programming" is simply not precise enough. Asking if you need a degree for doing it is a bit like asking if you need a degree for "writing". Writing what? A blog, autobiography, a screenplay, a novel, a scientific publication, a poem?

Finally, programming is just a part of the software development cycle. As software is getting more complex its relative importance is steadily decreasing in favor of the system/architecture design (that's what engineering skills are very useful for) and verification, deployment etc.

Reply Parent Score: 1

ebasconp Member since:
2006-05-09

Do not feel bad about my comments. I actually know a lot of brilliant people that has no academic degree and their work is amazingly good; in the other hand, there are a lot of people with not one, but a lot of degrees, certifications and that stuff that cannot write one line of decent code.

But I think that good programmers need to have a good theoretical background: data structures, algorithmic efficiency, good OOP basis, etc. Starting to develop professional web sites with one book of Java Spring Framework and the other one of HTML is not the way to go, IMHO.

Reply Parent Score: 3

vivainio Member since:
2008-12-26


But I think that good programmers need to have a good theoretical background: data structures, algorithmic efficiency, good OOP basis, etc.


All of this is pretty trivial stuff for someone passionate enough to dedicate significant amount of their freetime on programming.

Reply Parent Score: 3