Jon A. Cruz said:
Unfortunately, my experience in regards to programming has been the
exact opposite of what you describe.
:-(
Rather, someone with a bachelor's in CS has been trained in the system.
Whether or not they will make a good programmer is something else.
More often than not those I've seen with 'the talent' do much better.
Those who have a love of the field and spend time learning on their own
are far more likely to pick up a new language quicker. Those who only
are getting a degree just get by enough to get the scores needed to
pass. (and some of the things the professors are teaching... eeek!)
Point taken. There is often a large disconnect between what business needs
and what schools produce. Talent can't be taught. It can be earned, but only
through much blood, sweat, and tears. A good school will provide the
framework around which to earn talent. A degree can be considered shorthand
for "the candidate might have talent." No degree means that whatever talent
is there is harder to prove. Not impossible, just harder.
Three years or so out of school, and the presence or absence of a degree
becomes almost meaningless; whatever talent the candidate has will be
reflected in the positions he or she has worked. Unless you're talking
Artificial Intelligence or really high-end number crunching, where the
degree might still matter. I suggested a CS degree because that is the
easiest route into programming positions. But it isn't the only way.
Now, I will not disagree that a person with 'the talent' who gets a
degree is more often a better hire. However, in hiring over the past 15
years I've seen that when it comes to programmers more often than not
having a degree is a sign of the people we don't want to hire. (Or more
precisely, those who rely on a degree on the ones we don't want).
So now we have a problem. In most cases, tech leads and senior engineers
don't do hiring. HR does. HR most often *only* looks at papers.
:-(
How does one judge talent? It isn't obvious. In someone fresh out of school,
I would look at GPA and ask about projects, particularly extra-credit or
independent projects. I might give a few short quizzes on the technologies
the project I'm hiring for is using. I'd ask former bosses, co-workers, and
professors about the candidate's intellectual curiosity. I'd seek evidence
of flexibility when it comes to solving problems.
But... the world is chaning a bit. Nowadays it is shifting to where
those with 'the talent' are also starting to follow up with getting
degrees. Just like the days where an engineer had to have poor personal
hygene to be percieved as being a good programmer have faded away, so
too the times when degrees are a negative when looking at programmers is
now fading also.
LOL. During the dot-com boom, it may have been possible (and even
desireable) to avoid formal degrees. You could pick up the language of the
day and get good money practicing your art. Things are different now; I
would expect most "programming" positions to be commoditized and shipped
offshore (well, out of the US anyway); the positions that remain will
require much more business savvy or will require a higher-level
understanding of what's going on than mere code. In this environment, a
broad liberal education is more likely to keep one employable than more
narrow technical know-how.
-- Adam Maass