

Fairly Unremarkable Backgrounds - j053003
http://www.bigcontrarian.com/2010/07/02/fairly-unremarkable-backgrounds/

======
kenjackson
I'm not sure I'd want to work for someone who didn't understand the difference
between computer science and programming.

It really is like the difference between a degree in physics and being a car
mechanic. You can be a great car mechanic without a degree in physics, but the
intent of the physics degree isn't to create great car mechanics.

I was probably a better C programmer at age 15 than most professional
programmers I've run across in my career. With that said I didn't know about
the Halting problem nor the Chomsky Hierarchy nor even things like amortized
cost nor really any asymptotic complexity analysis. Do any of those things
help me at my day job... maybe a little, but not much. Certainly I'd be better
served reading the .NET Fx docs or Java docs or some JQuery books. But that's
not why I got a degree in CS.

~~~
jrockway
_It really is like the difference between a degree in physics and being a car
mechanic. You can be a great car mechanic without a degree in physics, but the
intent of the physics degree isn't to create great car mechanics._

But in the case of programming, it's the opposite. Computer Science is a
_subset_ of what you need to know to be a programmer.

~~~
pwim
I'm missing your point. Physics is also a _subset_ of what you need to know to
be a mechanic.

~~~
baguasquirrel
Do you need to understand what a metric tensor is in order to be a mechanic?

~~~
sprout
Frankly I don't think either of them have taken CS, and have no idea what the
word subset means.

Though I think pwim may have been pointing that out. There are elements of
each discipline that overlap, but you don't need to know any of the
physics/mechanics pieces that overlap to get a degree in one, and the same is
true of CS/programming.

In fact, you can be an excellent programmer and know no CS, be an excellent
mechanic and know no physics, and even be an excellent computer scientist and
know nothing that would serve you in a modern programming job. (Obviously you
could probably figure it out, but a code monkey would do just as well as some
computer scientists.)

But fundamentally they serve different purposes. It's almost conceivable
someone could prove P=NP without writing a line of code. Though decreasingly
so as computers become so ubiquitous.

~~~
kenjackson
Interestingly, one of the most brilliant theoretical computer scientists I
know only recently wrote his first computer program. Another very well-
known,although now deceased, theoretical computer scientist didn't even use a
computer. He would have his secretary print his emails and he would handwrite
replies and give them to his secretary. Not sure how he wrote his papers, as
he was prolific in his prime... maybe the typewriter?

------
thunk
I frequently hear that, at the very least, a degree shows that you can finish
something. If it's true that smart hackers can give themselves a better-than-
university education for the price of the books alone, and they discover this
fact early in their college careers, wouldn't finishing actually be a negative
indication -- a susceptibility to sunk costs? I know the case can be made that
college's _real_ education is social, but it seems like you could get that
part cheaper by hanging out around other hackers.

~~~
baguasquirrel
In hindsight, the biggest benefit for me, from going to college was not the CS
program. It was that the CS program actually had some really good hackers--
still to date the friendliest and smartest lot of hackers I'd met outside a
few particularly good Haskell meetups. So it's not mutually exclusive.

The second biggest benefit was that I was introduced to psychology as a
science, and not some pseudo-intellectual horsing around as it was made out to
be in high school. Ditto for economics. Taken together with the other cultural
studies I dropped in on, it was something that's been fairly difficult to
replicate now that I'm out of school. I'm actively trying to recreate at least
some part of that experience now (using technology of course ;).

The clincher is that my alumni meetups have been nowhere near as enlightening
as college was. I sometimes wonder if some people took boring pills during
graduation, or if it really was the diversity that brought it out in people.

In all, college is what you make of it, just like real life.

------
starkfist
I've worked with people who made a big deal about not having a degree. I've
also worked with people who made a big deal about their degree. Neither were
as good as they imagined themselves to be.

------
brianbreslin
formal education isn't for everyone. that said, what I look for when hiring
people is their independent drive. What have they built on their own for fun.
Also how they solve problems. These are things that show their true character
and aren't really taught in school (basic processes and theories are, but not
the creative spirit).

the whole argument about whether or not school is necessary is ridiculous.
each case has its own variables. the zoho case he references, they setup their
own academy to TRAIN their people to work the way they needed.

------
10ren
Someone who hires programmers told me that university vs. self-educated were
pretty indistinguishable, except for algorithmic problems - which over came up
very rarely.

Fred Brooks claimed that education and training for programmers was extremely
beneficial - but he was writing in a time when many programmers were writing
operating systems and compilers. Additionally, structured programming (ie.
without gotos) was a (relatively) new idea. Therefore, I tend to think that
today, when the vast majority of programming tasks aren't nearly so difficult
and our tools have improved so much, and good practices are generally known,
that programming is much easier, and training isn't nearly as important as it
was.

Even for creating new ideas and tools (eg. Thompson's regex search; pagerank),
it's more a matter of being super-smart, IMHO. Of course, it helps if you know
the basis of the idea (eg. what a regular expression is). If you want to
_prove_ those ideas, however, I think academic training is very helpful - but
in mathematics, not computer science.

~~~
donaldc
_except for algorithmic problems - which over came up very rarely_

I'd say that depends on what problem one is working on. I see algorithmic
problems come up all the time, and I occasionally see a total failure on an
algorithmic issue among the (largely college-educated) people I work with.

------
danbmil99
I think degrees reduce your hiring risk somewhat, at the cost of possibly
missing some real gems who dropped out for various reasons. You can achieve
the same thing by only hiring people to do X who have done X at their last two
jobs. It's a low risk, low reward approach to building a team.

------
jeb
I'd hire people who studied Computer Engineering. Ask the average programmer
how data moved around on the motherboard, or what exactly a processor does and
he has next to no idea. Computer engineers learn the fundamentals, while
computer scientists learn the abstractions.

------
djhworld
Most employers (here in the UK anyway) put a lot of weighting on education as
a barrier to entry.

A lot of the time it's a formal requirement to a job application.

------
bigoh
I'm not sure what's the point of this posting. Having a degree is just one
data point. Usually people that make a big deal about success without a degree
are those successful people that don't have one.

------
mml
i have a ged in computer science.

//hs dropouts represent!

