Hacker News new | past | comments | ask | show | jobs | submit login
Posterous: I went to etc., can I still work for you?
63 points by MicahWedemeyer on Sept 24, 2008 | hide | past | favorite | 176 comments
I saw your top requirement for recruits:

* BS / MS / PhD in Computer Science or related disciplines from a top CS school (Stanford, Berkeley, UIUC, CMU, etc.)

I went to etc. and graduated top of my class. Can I work for you? No? We'll, it's back to my job flipping burgers, I guess... :(

http://news.ycombinator.com/item?id=313311 <-- (for those saying WTF?)




This was a total oversight by us -- we didn't really mean "REQUIREMENT" in the sense. Of course that's insane. This is something that we actually discussed with our friends (some of them from Hacker News too). The top CS school discussion DID come up.

Here was our thinking: the true hacker badasses out there will see that and not really give a crap. They know they're good, and will just glide over that line.

What we really mean is: we want people who are smart and amazing.

I can show chat transcripts with dcurtis if you care to follow up with me directly (we really did discuss whether that line should stay or go). garry@posterous.com

But the point is: Mea culpa, we posted it at 2 AM and it was a mistake to put this down as a "requirement". It's absolutely a 'plus'.


The best hackers I know didn't necessarily graduate top in the class. A few did and a few didn't. The ones who didn't were usually contributing in other ways - open source or small businesses (sometimes startups but not necessarily). As you stated, most hackers who didn't would ignore any requirements and apply because they wanted to work on posterous.

Here are some of my own personal opinions on hiring / schools / etc.

Which school you graduated from and rank is rarely even discussed when hiring coders with a few years experience. After 2 years no one will ask you where you graduated in your class. After 8 years no one will care where you went to school, other than possibly as a plus. It's not a decision maker at that point. What the applicant did between graduation and applying to the job is really what matters. This seems to be different for other areas of study (and graduate degrees of course). But this is my experience with coders (bachelor degree holding computer scientist and the like). Both hiring and being one.

An individual's family situation, both financial and otherwise, can effect their decisions on schools. Some oft overlooked hackers went to state or local colleges for reasons outside of their control. An example - I knew someone in high school that got into MIT and Northwestern (Chicago area). They ended up cranking through the local college (Northern Illinois University) in 3 years instead. His family had a business and he had to be there to run it. After he finally found someone to manage the family business he ended up being successful and promoted up the chain in a huge company. There are plenty of opportunities outside of the norm. But the burden is on the person applying to show that they are worth investigating further.

[EDIT: Syntax]


Agree 100% -- these are all significant considerations.


I know this whole situation has pissed some people off. But what's sort of hilarious is that until today I had no clue (or I just forgot) that Garry and maybe Sachin went to Stanford. That part of the job posting, as interpreted by many of the people here, felt like reading a torture manual by the Dalai Lama - it just isn't their style at all.

Regarding college: I know Sachin sold computers and had a hell of a time dealing with Paypal as a fledgling entrepreneur and Garry...umm Garry was in chess club? I don't know - college discussions just didn't come up much.

The Posterous guys certainly don't "act" (and by act I mean the generalizations spelled out in these comments) like they went to one of those schools, let alone "elitist". Besides, most of the time when we hung out, they were more interested in talking about ideas or learning about my boring Ohio background.

So if you're hesitant to apply because of this situation, don't be. And if you do not want to take my word for it, I'd be more than happy to email you a list of references of my friends & family that have dealt with Garry and/or Sachin including my parents and a girl friend in Chicago that had problems setting up her Posterous. Or just ask Livingston - she loooves Garry.

As always dan at the domain for ticketstumbler.


But because of the Dunning-Kruger effect, such an advertisement will generally bring in lots of folks who _think_ they are good but are not perceptive enough to understand their weaknesses.


at least now you have your iterative feedback...


We try to iterate fast on Posterous... really with everything. =)


Like a true hacker, hack the system.

I agree, the company HR and recruiting are totally arbitrary and incompetent - most recruiters don't come from a technical background, and will only match up the buzzwords from their position requirement with those on your resume + the "name" of where you got your education (bingo! we have a winner!!)

But there are ways to get around to it:

a) Do a lot of open-source projects; it's actually not very hard to get involved in some of the top-tier projects. This spring, I was applying for jobs at hedge funds and investment banks. Before I put on my resume: "Google Inc. - Summer of Code," none of them wanted to talk to me. After I did, I re-sumbitted my resume to all of the same banks, suddenly, everybody wanted to talk to me. The world is a prestige whore.

b) Do a demo project specifically tailored for the job that you were shooting for. Send it along with your resume/CV from the get-go. This shows even to the HR people, extra-enthusiasm for the job - and might even get forwarded to the technical hiring manager, who's the person that's going to matter the most anyway.

c) F the system. Apply to YC. Corporate Serfdom is only a temporary sinecure for starting your company anyways. It's a means, not an end.


"The world is a prestige whore."...

...you said it. If you have lots of funding you can afford to pay the price premiums for people with resumes with prestige shwag on them. If you don't have that kind of funding and need to pay lower rates and are outside of the valley, you are better off being able to identify great programmers in other ways (which has been written about much).

I am a startup founder, http://shellshadow.com. I'm in Shanghai. Even if I had the funding to throw at prestige resumes, the supply of such isn't available in Shanghai. I have to rely on the fact that I maintain my own deep programming skills as a 40 year old programmer and therefore have the ability to identify and manage top developers without the aid of keywords on a resume.

But hey, if you've got the cash, go ahead and pay the price premiums...it can't hurt, right? ;)


+100 points if I could.

This is the most constructive comment in this entire thread.


"Yeah, I went to Stanford and got the $200k education so I can work as a JavaScript+HTML+CSS coder at Posterous.com. I'm a real genius."


It isn't uncommon for highly educated computer scientists to be working in roles "beneath them" in silicon valley.

The "softer" stuff is usually more fun, better working environment, potentially impacts far more people, and often pays more.


In fact I'd argue that is one of the defining qualities of a startup. At YC we have a tenured MIT CS prof as our sysadmin.


the single most important quality of a founder is having the discipline to do work "beneath" them. at auctomatic we had two oxford grads figuring out what sizes of t-shirt to buy and decorating stalls at ebay live.


Haha, no you can't -- we want people who can do that and Ruby on Rails too. ;-)

I know you were just trying to be flip, but JavaScript is a pretty amazing language for writing frontend code.


Well, but if you got a PhD from Stanford with aspirations of being a Javascript developer, it would seem a bit like killing a mosquito with a thermo-nuclear warhead.


What is a "Javascript developer" exactly? Do you mean someone like Paul Buchheit?


I feel like there's a topical drift here that wasn't intended. Paul B's done some amazingly clever stuff, but would a PhD have made him better at that? My point wasn't that Javascript developers are dumb, but that a PhD isn't going to make you more qualified to do Javascript application programming.


Surely not him. The voting button code he wrote for news.yc is a total hack. I know, because I copied it and used it on my own site.


I guess it depends on what you're doing with the Javascript.


"I'm writing code that takes pictures from email attachments and displays them as web pages. I did the theoretical research for this at Stanford under Prof. Lewis."


Blogging is a huge market. And it's growing. And the big players are making tons of money. Seems like a great thing for a couple Stanford grads to be doing.

If you want to trivialize creating a successful blog platform, I suggest you try it, and let us know how it's doing in 6 months.


There are two kinds of untrivial - untrivial as in difficult and hard, and untrivial as in time-consuming and demanding a lot of work. Academic training prepares you for the first kind, professional - for the other one, and, suffice to say, this conversation consists mostly of elitist denigration of academic trivialities whereas you seem to be worked up about some disrespect of work ethic where in reality there is no disrespect.


If you want to trivialize creating a successful blog platform, I suggest you try it, and let us know how it's doing in 6 months

That's a bit of a strawman argument. I am willing to bet hard cash that the majority of web startups that fail do not fail because their programmers don't know enough computer science, or don't know JavaScript well enough (and the two aren't even really related).


The guy who started Tumblr, the leading tumblelog, didn't even go to college. I guess he'll be working the fry machine.


hey man, every person has their own path. garry and sachin went to stanford then worked at big co's before they started posterous, while david karp lived abroad and studied firsthand how people communicate in countries where communication is far more advanced than in the states. posterous and tumblr are both beautifully simple products made for their respective target demo's - posterous for everyone who can read/write, tumblr for every hipster living in LES or williamsburg w/ a fixed gear bike. haha.


also knowing garry and sachin and david karp, they are all product people at heart. they are building products with direct user feedback. i dont know many people who take their customers more seriously, and take more time tweeking and iterating their product than david karp. for someone who hasn't been to college, he is an impressive guy.


Tumblr also had that severe security hole back a few months ago that allowed anyone to go to /admin and see everything.


Yeah, that was definitely because the founder didn't go to college!


I can see how my comment comes off as that, but in actuality, the question to ask is, "Does going to college give you the knowledge to forsee a situation like that?" Or, "does one acquire this knowledge only from experiences in the real world?"

I was trying to imply that maybe going to college makes you more aware, but I have no clue if this is really true or not... (my assumption is no)


Your assumption is right


At the very least, very stupid people tend to have trouble getting into college. Except maybe if you're rich and go to Yale.


So did reddit. I suppose they should have gone to college too.

Oh, wait.


Hey man, not at our restaurant. ;-)

JK, I kid.


Thats the one line that stood out in the Posterous job announcement. Sounds pretty elitist to me. I went to one of those schools, but I can tell you that I've met far many brilliant hackers who didn't go to these schools.


Here's I think a much better way of saying it:

"Awesome at what you do and have some way of showing it."

I personally prefer links to past projects and code samples. Whether or not somebody knows their way around theory you can sort out in an interview (and having a degree from a top university is unfortunately a frustratingly bad indicator of such). Figuring out if they can code is a lot harder.


Agree 100%. We want projects and code samples... the school itself doesn't matter.


Whatever dude, everyone knows Etc U was a total party school


I can see them poring over their US News and World Report rankings right now.

Might I suggest another requirement?

* Expert at tying a full-Windsor knot


juding by the job posting, they also might want to include:

* graduation from Hogwarts, Beauxbatons, or Durmstrang at the Ordinary Wizarding Level or higher


Hufflepuff need not apply


Hufflepuff is the best, are you kidding? They are kind of just a vocational magic school though.


Expert at tying a full-Windsor knot

That would be me. I do a decent bowtie too...

aah the advantages of a classical education come to bear once again...


but what of the old boy network, sir? I am aware only of the PayPal mafia in these surrounds.


I wouldn't worry too much about those young chaps, I do hear they are quite civil once they've had a good talking to. The boys from the club are the ones giving them money to play with after all. I'll take it up with them next time we take tea at the countryhouse.


Righto, old sport. Where do you summer?


My villa over on Port-au-Patois, don't you know.


Out of curiosity, were does one obtain a classical education?


If you need to ask, then you don't need to know.


He means "... you needn't know."


i think that means you read philosophy, math, Latin and Greek: Homer, Thucydides, Aeschylus, Pascal, some Whitehead, Russell. Some Sartre and Camus and Nietzsche, Heidegger if you want a tortured existence. You want to go to St Johns college, i think, maybe Univ of Chicago .

With a rigorous math background and some linguistics , you have the foundation of a good programming career.


A classical education is more about technique than material or school. The standard education model is that students are told what is true and what is not, and then they need to regurgitate what they've been told. The classical approach is for a student to try to understand the material themselves, then interact with a teacher and fellow classmates through a discussion format based on the Socratic method to develop their understanding.

Here is an example of this technique at work with elementary school children, teaching them binary numbers: http://www.garlikov.com/Soc_Meth.html


Not where but when.


I've just heard about this place, don't know anyone who went there: http://www.stjohnscollege.edu/


Boarding school in London, economics in Denmark afterwards - complete with ugly uniforms and all.

Not really something you should strive for though...


Okay, there is a level of pomposity that has become associated with the full Windsor, I'll give you that.

The half Windsor, however, makes you look like a douche. If you can't be bothered, go buy a clip on. :-)


I'm with the Magnificent Bastard on this one -- the full Windsor is overrated.

http://magnificentbastard.com/posts/ask-the-mb-windsor-knot


I Tie the Half-Windsor because I'm too tall to tie a Full. All my ties are hand-me-down so getting longer ones ain't gonna work for me.


Full Windsor, Half Windsor, Four-in-hand, and Shelby. Do I get the job?


Hehe ... NO, over-qualified.


Are they serious? To parse an email and post the contents to a web page?


Maybe for today. But what about tomorrow as the product grows and they start to tackle other verticals?


I dunno; I don't feel comfortable working for a company that assaults tall people.


You mean like posting stuff to servers on Mars?


They might need someone with practical experience, rather than an academic.


Those sets are not necessarily disjoint.


I'm sorry, good point. Replace "web page" with any of the following: Facebook, friendfeed, myspace etc


> Are they serious? To parse an email and post the contents to a web page?

With this company name ?

But seriously, regardless of how irrational it is to consider the name of the company when accepting their offer, I bet a lot of people actually do that.


I love the Posterous guys (and their product), but I think they are wrong to require this. It would disqualify everyone on my team (which hurts my feelings) and also disqualifies some of the most brilliant/hardworking geeks I know.

If it's a buyers market for employers and you're buried in candidates, it's a great line to throw in to increase the signal-to-noise ratio. In a market like this (where every good coder I know is buried in job offers), you're not going to be too buried in candidates.


Mistake! Sorry! =/


This one's funny. In 1998 I built an app that does maybe 80-90% of what Posterous is doing under the hood. That is, a huge multiuser system that parsed incoming email, ripped out what's inside, stuffed that into the right places in a database, and displayed the right stuff to the right users via the web.

The experience at the time, dealing with email parsing, buggy DB drivers and crazy deadlines was so horrible that when it was finished, I specifically went back to school to finish my degree so that I would never have to work on an application like that again.

That said, I love Posterous - just wanted to suggest that degree from Stanford or not, one man's dream job can be another's worst nightmare. :)


When reading that line, I too thought it was somewhat elitist but if you are hiring you want the best talent you can get and more often than not this means people who went to an elite school. Most of the early hires in all the outstanding tech companies followed similar pattern.

However, if you can prove strong or exceptional skill and achievement in whatever you have done tech related, I am sure it won't matter if you went to an elite school or not (and if it does, you probably won't like it there anyway).

For most businesses (startups in particular) that do not have the time or resources to filter candidates, an elite school is a general simple quality filter, but the world is full of examples of people who did not go to school let alone an elite school, from Richard Branson to Dyson to Jobs to the mass of not-so-famous.

Worry not, shine and hopefully you will be noticed.


"... more often than not this means people who went to an elite school."

I'm not convinced of that. Sure, you can create an argument for the point that sounds good, but that doesn't mean it's actually true.

What I think that really does is get the person doing the hiring off the hook. If you hire a dud from MIT you'll get less flak for it than if you hired a dud from an unknown school. (Or someone without a degree.) It's the same idea as "No one gets fired for buying from IBM."


100% agree -- at the end of the day, no matter what your background is, if you are interested in building something, doing something, or working with a particular team, the bullet points on a job posting are worthless.

What matters is proving what you've done and can do.

We will take a hardcore guy who never even went to high school who codes open source projects or has built great things over a CS guy from Stanford but has never coded production code in his life, no question.

I think anyone who says they are looking for 'top CS schools' would agree. Except Google. They really want those degrees, go figure.


You can probably still get hired, I'm sure, but it reflects poorly on the culture there.


a) It was a typo to put it under 'requirement' (see above)

b) Joining Posterous is actually a cool way to avoid bad culture because you'd have a key hand in creating the what the culture would become. Say if you joined us at Posterous -- it would be you, me and Sachin, making great software and building a great company.

So, how about it? =)


No.


It's funny, almost the exact same conversation is going on at Reddit:

http://www.reddit.com/r/programming/comments/72uv9/want_to_w...


I found this comment particularly interesting from the Reddit thread:

I think it's interesting that I see a lot of people saying that computer programmers don't need degrees, but I rarely see anyone saying the same thing about physicists, biologists, mathematicians, or zoologists. I wonder why that is.

Maybe there really are people decrying degrees in those other fields and I just don't hear about it because I'm a computer programmer. But I suspect that degrees are actually required and respected in those fields. What is it about Computer Science that makes people think you can read a few books on your own and you are qualified? What is it about the other fields in math, science, and engineering that make that not the case?


That's an interesting question, worthy of its own thread.

I think the reason is this: programming is much easier to teach yourself than any of the others. And the reason is this: in programming you know when you're wrong.

You can spend three years reading textbooks on physics, or watching physics lectures on youtube, but you're likely to misunderstand some of it, and partially understand other bits of it. (Part of the difficulty for me in learning, say, quantum mechanics or relativity was the problem of unlearning misconceptions I'd picked up by reading popular science type books in my teens.) Without a bunch of professors sitting around to correct you when you're wrong, and point out the gaps in your knowledge, you'll never really understand it (and even if you do, you won't be sure if you do or not). That's the main value you get at university: some smart guys who sit around telling you you're wrong.

In programming, on the other hand, you don't need this. You get more-or-less immediate feedback when you're wrong because the code either won't compile or produces the wrong results. This is what makes programming one of the easiest things to teach yourself.


Just because somebody can get a program to compile and run doesn't mean that it was done right. Keep in mind, I don't really disagree with what you're saying, cause it's the mentality lots of coders have.

I also think that the discipline is so new that there are a good number of schools that don't teach it very well.


I've seen as many bad and good programers with and without degrees. The fact that you can teach yourself to program doesn't mean you will do it the right or wrong way. I don't have a degree, and consider myself a fairly good programmer, and after more than twenty + years I'm still trying to improve my skils. Is not about reading a couple of books. I've read a lot of books, seen a lot of online lectures and codeded and coded and coded, critiziced it, done it again and again. Although, regarding the issue of non degree professionals in other disciplines, there are with no dobut, but in ours is specialy noticiable due to it's recent history. Most probably will fall towards the side of other older, more mature sciences in the future.


Done right can be measured in terms of performance.

Any good algorithmic book would introduce the concept of Big O notation.


Whether a design is "done right" is about a lot more than just performance. Even being able to distinguish between good and bad design requires some considerable training -- ideally, both in computer science theory and in practical experience.


i thought we were talking about programming, not architecture or any other software engineering.


Precisely the same comments apply. Even the quality of two different implementations of the same algorithm can vary on a lot more dimensions than simply performance.


what are you talking about?

vary on lot more dimensions?? that's obvious. different people will code differently.

the point is performance which may suffer due to bad algorithmic knowledge or coding skills or due to the tradeoff for time to market. If you write a bad program it will not perform well. It's obvious.

don't really understand how you think or why you need to answer to something I am not saying.


But the same could be said of math, couldn't it?


Sometimes. Many parts of math are very difficult to tell whether you're wrong or not, except by reading through the proof extremely carefully. For example, about a hundred years ago there was a proposed proof of Fermat's Last Theorem, but it had a very subtle flaw: it implicitly assumed that unique factorization held in a particular set of rings. This turned out to be wrong in some cases. This error was very common back then, and many people believe this was the proof Fermat had in mind.

So, you see, in mathematics your unconscious assumptions are sometimes wrong, and there's nothing that would tip this off to you, like a compiler. In fact, very few areas of mathematics are the sort where you can easily tell when you're wrong.

I suspect you think of your high school math classes when you think of mathematics. That's really a very poor representative. Mathematics is about proofs, not answers. To be fair, though, the original post makes a similar misconception. Computer programming : computer science :: high school math : mathematics.


That's a good point, but the same occurs with programming. We generally can't catch every corner case. Of course, this is much more devastating in a mathematical proof, i.e. the proof is invalid. However, it is still very possible to develop good mathematical skills without a degree.

Also, this is somewhat unorthodox, but I've read that Godel proposed a new method of doing mathematics based on the experimental method, due to the implications of his incompleteness theorem. If that were the case, then math becomes more like computer science, or perhaps computer science is this new way of doing math.


> However, it is still very possible to develop good mathematical skills without a degree.

Absolutely. I don't think the degree is very useful for developing skills at all. I'm sure there are plenty who would disagree, but mathematics courses don't set a very high bar for how much you have to think about a topic. I learned more in the past month preparing for my algebra qual than I did during an entire year of an undergrad class at Northwestern (of course, I drew heavily on the basic knowledge I had).


I'm having exactly this experience, of a lack of feedback, with proofs. It also seems frustratingly ironic to me that you can never be sure that a "proof" of the truth of a theorem is actually true...

I'm learning COQ (proof assistant), to make some aspects of it automatically checkable.

The feedback of programming is also encouraging and satisfying, and this makes it more easily self-taught, like a (computer) game. Unit testing builds on this.

PS: My proofs are part of my compsci PhD, which began without any maths; so I choose a supervisor has some knowledge of proofs but isn't very experienced in them. Perhaps more guidance with proofs could really help...? Things are finally coming together for, but I keep stumbling on what I think are extremely elementary proof ideas (e.g. that f(AUB) = f(A) U f(B) ). My feeling is that rigorously understanding takes effort, no matter how good the guidance.


Progress in mathematics comes from research. To contribute something new, you often need a lot of background knowledge and university is the place for this. As with all things, there are exceptions - Ramanujan for example.

To be a financially successful programmer, you often just need a few books, courage to step outside your comfort zone, and a good idea. There are lots of examples of this, but for me the embodiment is Ken Williams of Sierra fame who made out pretty well, and I don't recall that he had a degree in CS.


Let's be honest, these days the damn receptionist needs a degree in certain people's minds.

I think the major difference is that in each of the fields you quoted, they only place to actually learn the skill is in the university classroom. The knowledge being passed on is hidden and selective. The same is not true with computer science. (Interesting though, that with things such as MIT Open Course Ware we may see this change in the future)

More and more, a college degree has gone from being a symbol of educational merit to being a caveat against absolute stupidity. It's lost all its original meaning.

I often see university being quoted as "showing that you can finish something/work hard to achieve a goal". Often, this line is spouted by those whose only achievement in life is that degree. It's simply not an accurate measure of anything, but it's the only thing in that a person in that position can relate to.

As somebody that spent my early 20's slogging through mud and being responsible for the lives of 8 men while surrounded by explosives and live ordinance, I personally find the argument that I didn't drink like a fish and attend a few classes hungover and therefore don't have a commitment to finishing what I started insulting.


Mathematics can certainly be learned outside of a university. Look at Ramanujan. Or go find any math professor at a decent university and ask if the majority of his/her learning happened in the classroom. You'll get a resounding no, if not laughter.


"Mathematics can certainly be learned outside of a university. Look at Ramanujan."

I don't think illustrating your point by naming an absolute mathematical genius is very optimal.


I think ideas like "Oh, that guy was a genius. Normal people could never do that." are fundamentally misguided. He worked tirelessly on mathematics, filling notebooks in his spare time for the pure joy of it. If you can find somebody else with that kind of devotion to mathematics who is hopelessly average at it, that would be something.

I mentioned Ramanujan because he's famous, and he obviously didn't get it from taking university classes. I used to do math competitions in high school, and I'd meet the best students in the state or country. You know what? All of us learned the same way Ramanujan did: we read number theory books for fun, continually asked questions that were interesting to us, and then worked on them until we answered them. Not a single person in the group learned by attending lectures or even through supervision by experts. It's just not how it happens. That's the point I was trying to make concisely before.


Certainly. Mathematics is a bad example, but the theory holds for other concepts.

Math, like CS and say, any of the arts, live on their own. I think then what we have is perhaps an improper classification: Math and Computer Science are arts! :-0


Well, someone did once propose instituting an MFA program for programmers, in which the emphasis would be on practicing The Art Of Programming under the guidance of mentors, rather than on learning theory.

http://www.dreamsongs.com/MFASoftware.html


Ramanujan: exception proving the rule.

A huge chunk --- maybe 30-40% --- of dev practitioners aren't degreed in CS.


Don't you mean "live ordnance"?


I think the case here is also what got me into computers at a young age. What makes computers, and software specifically, so appealing is its accessibility and control.

To feel a sense of true accomplishment as an architect, physicist, or biologist you generally need something to happen that can be completely out of reach: erect a building or collide particles. Writing code had a profound effect on me when I was eight. I realized that me, sitting at home and banging away on my keyboard, I had potentially the same power as scientists and corporations with much, much larger resources than me. The fact that a few guys in their early twenties can compete with multi-billion dollar corporations is not to be taken lightly, and isn't exactly shared by many other vocations and industries. Not to mention the existence of an open community, willing to share methods and hacks.

Also, when someone codes a very cool tool or program, many can appreciate it; even if they don't understand it. It's hard to say the same about math or physics theorems.

Basically, the notion of an ivory tower is less evident in programming than in other fields.


In my mind, computer programming and computer science are different things, but get confused by people because they share a name. Computer programming, I find, is more about structuring and designing a program. Computer science is more about algorithms and fundamental limits of computation.

That's not to say they don't overlap in theory or in practice of either. However, the opinion held by one depends on the work (or play) that they do.

If you mostly build blogs, consumer apps, desktop apps, scripts, then you spend most of your time structuring programs, and occasionally have to delve into algorithms. I suspect you don't think a CS degree is required.

If you mostly do computer vision, AI, image processing, databases, networking, then you probably spend most of your time fiddling with algorithms and less time structuring and designing programs. I suspect you're more likely to think a CS degree is required you do.

Not that one is better than another. Just different experience in what one does with a computer gives different perceptions. Game programmers seem to break the mold.

And if you do scientific programming, you think CS and programming is a tradesman's job, and your program is one long main() nested 11 levels deep with if/else and case statements. (har har)


"one long main() nested 11 levels deep with if/else and case statements ??" Come on that's way too easy ! I am currently doing an audit for a big bank, and I have seen a 59 page long method that has 22 nested levels !! No kidding ! I have my "once in a lifetime" DailyWTF nugget.


PG talked about this in his essay "Hackers & Painters": http://www.paulgraham.com/hp.html

The general idea is that for the most part, programming and hacking are nothing like a science. They are much more like painting, etc. You learn by doing.

4 years of school isn't going to impart upon you the magical ability to paint a masterpiece, just as it isn't going to teach you to be a good coder. You might get the fundamentals out of it necessary to make it easier to do either, but that's about it.

It entirely depends upon your approach, but my experience has been that the best programmers I've worked with don't have compsci degrees. They are self taught - they learned by doing, acquired gobs of hands on experience, brain dumps from smarter peers and sucked up content online and in books.

And going toe to toe against the "Degreed" programmers there was no contest. They were smarter, more focused and better able to handle the task because they learned what they NEEDED, rather than what the school taught them.

That's not to say people with degrees are useless, or by definition have been fleeced or anything else.

The majority of software development doesn't require anything special that you magically acquire with a degree. Business logic can be acquired on-the-job, but it's the core skillset that's important.

I am also an undegreed person, and what I found was that school bored me - I could be out coding, and getting my hands dirty instead. A lot of the others I've spoken to had similar experiences.


"And going toe to toe against the "Degreed" programmers there was no contest. They were smarter, more focused and better able to handle the task because they learned what they NEEDED, rather than what the school taught them."

Now you are say that programmers without degrees are better?

Come on.

It has to do with how smart and how much practice the person has. But they way you put it sounds like it is better no to have a degree.


"It has to do with how smart and how much practice the person has"

Well the person who didn't get a degree has 4+ years of practice on the person who spent that time at Univ.

And who's to say the smart ones tend to decide a degree isn't worth the time and expense?


Being degree free myself (and knowing others in the same boat) let me put it this way: with four years of school you may be able to start at $50K a year. With a good head and practice you may be able to get a job at 20 for $50K. With 6 years of school you may be able to start at $60-80. Again, with practice, a good head, and a good company you can be in that range by the time the schooled person is ready for the work force and you don't have the debt.

By and large programmers solve problems. If you can solve problems well enough they'll pay you. They may pay you more when they see that magical degree on your resume, but that doesn't mean you can solve their problem any better than the person without a degree. Likewise if by the time you are 30-35 you can be at or near 6 figures the actual pay difference you could earn matters less and less.

There is a lot of value in a formal education in computer science or software engineering. So much so that I am tempted to go and attempt to get a degree in one or the other. But it isn't so I can work in the field. There are so many lazy people that if you just show up and dig ditches you'll find work and become important to the company. If you think a degree (or even the ability to do things text-book right) means anything to a firm that just needs an apt to store customer contacts than you are fooling yourself. I doubt I could ever work at Google, but I really don't care that much about missing out on that rat race.


I think it's a misconception.

Computer Programming !== Computer Science


- Technicians implement others' designs using skills

- Engineers create new designs using knowledge

- Scientists create new knowledge

"Pure" programmers are technicians. Computer scientists are engineers or scientists.

Plumbing, like programming, offers immediate feedback, is cheap to try on your own, and is useful even if you're not an expert. But plumbers aren't the same as hydraulic engineers or fluid dynamics experts.

Faraday taught himself physics by reading the books he was binding as a journeyman, but he was a rare specimen. I'm sure engineering Faradays must exist, but as an electrical engineer I've never seen one.


Substitute "Computer Engineering" or "Software Engineering" for "Computer Science" and the argument remains valid and interesting.


I once heard someone say, programming is to computer science what skating is to ice hockey.

(Just don't tell that to a theorist)


According to wikiquote, this quote is unsourced, attributed to Edsger Dijkstra:

  Computer Science is no more about computers than astronomy is about telescopes.
http://en.wikiquote.org/wiki/Dijkstra


Show me an ice hockey player wo can do a Bielmann spin or a triple Lutz jump.


You're not familiar with Doug Dorsey?

http://www.imdb.com/title/tt0104040/

I'm a little embarrassed that I know that movie, but I have an excuse; it's one of my wife's favorites.


I totally agree with this. And that gives the answer author is looking for!


There are a lot of great things computer scientists did in the beginning to make it easy for use to write code. And I know the computer scientists of today are doing things to make it easier.

The problem with your question is that your focusing on the word 'science'. Math, Physics, Biology, and other sciences tend to increase in difficulty as the general knowledge increases. More discoveries equals more knowledge.

Computer Science is more akin to Music, Art and Literature. Its something Humans created to advance Humans. These things all get easier when methods for creating Music, Art, and Literature get easier. These things are not searching for a truth, or one great theory or proofs. They search for beauty, elegance, and a pleasing aesthetic for humans.

Computer Science is called science cause it involves math, physics and history but really the act of programming is akin to art or literature then actually researching.

Think of it this way. How hard was it 200 years ago to pick up and learn a musical instrument? How hard is it now? Programming used to be more difficult now what languages are becoming more popular? Ruby, Python, Java, and C# these are simple languages with simple syntax allowing you to do very powerful techniques that where hard before.


My guess is that CS degrees are not valued because most of them are not particularly valuable.

The average CS department would flunk out most of their students, whither away, and die if they demanded the level of ability that MIT or Berkeley (for example) demand. It would be better for the industry as a whole if this were to happen, but not for the instructors teaching in those average CS departments.

Top schools can afford to be demanding because they have talented people trying to get in. Top schools can afford to teach theory and start with Scheme, because their students have some trust in them. If Unknown U's CS department started with SICP and Scheme, a bunch of their students would go "This is useless!" and leave, so they use Java.

As it stands, a motivated self learner who buys and reads the textbooks used by top schools is likely to end up knowing far more CS than the average person with a CS degree. Of course, this same motivated self learner, if they got a CS degree, would probably also end up knowing far more CS than the average person with a CS degree. Net result? You need to judge each individual on their own merits, and most CS degrees won't give you any shortcuts.


My take on it is that CS degrees aren't that tightly coupled to programming aptitude. Lots of folks get CS degrees and aren't good programmers, so the value of the degree seems questionable. And, let's be honest: for a lot of standard IT jobs, it probably doesn't matter that much. Navigating office politics may in fact be a much bigger predictor of success.

It could well be that the value of a CS degree isn't a linear effect but an interaction: it makes the best programmers better, but doesn't do much to lift the median.


There's an easy answer to this: programming is not a science, it is a form of engineering. Think about most code jobs you see out there - you don't need to know fundamental CS theory to do the vast majority of them. Some programmers hate it when I say it, but we're technicians and engineers, not scientists. And as all technical trades go, experience is the bulk of your value, theory helps, but is not strictly necessary if you have the bulk of experience to back it up.

I know plenty of electrical engineers who are likewise self taught.

Compared to biology, zoology, etc, where the work is by nature far more theoretical, and you're screwed if you never studied it academically.

That being said, there is a side of programming that is theoretical, where having a degree matters - and that's the fundamental, pure math level research that's being done in CS. But let's be honest, the VAST majority of programmers don't have jobs like that.


> Compared to biology, zoology, etc, where the work is by nature far more theoretical, and you're screwed if you never studied it academically.

That's probably not as true within the field as it seems from outside the field.

I have a couple friends that majored in biology in school and then got jobs in biology research labs (NIH, UCSD). Y'know what their day job consists of? Killing rats. And checking rats to see if they're dead yet. And feeding rats so they don't die quite yet. And sitting around playing solitaire while they wait for rats to die.

There are people with Ph.D's seeking these jobs, and every time my friend interviews one, she thinks to herself, "You want this job...why?"

Similarly, my sister is a petroleum geologist, and she needed a master's degree to get her job. You know what she spends most of her time doing? Coloring with crayons. And looking at core sample muck. And poring over maps. And the odd PowerPoint presentation.

I think lots of people think of scientific jobs as being ones where you just sit around and think all day. There is one job with that description: tenured professor. And you need to be tenured, with a bunch of grad students to do the work. Otherwise, your day job consists of dealing with whiny entitled students, lecturing, writing grant proposals, and building experiments in the machine shop.


I think the main issue is the disconnect between "Computer Science" and building computer programs (computer programming, software engineering, etc.)

I think Computer Science has the same gravitas as the other professional fields you mention but that isn't the mainstream concept of what computer programming is all about...

Building computer programs is much more akin to other acts of creation. People don't really require artists or authors to have degrees in their respective fields.

People can and do start painting/writing/programming without any academic qualifications. These same people frequently give up after a short time because becoming a master of such fields takes a lot of work.

That said, computer programming is about the only such field where unexperienced practitioners of the art can make a decent living (e.g. they are paid to practice).


It seems to me that most of what programmers do is more like a craft than a science. By analogy, a carpenter doesn't need a degree to make beautiful or useful things -- but knowing some engineering can't hurt.


The field of CS is still too new that people can't tell the difference between someone who can spell PHP, a good software engineer, and a theoretical computer scientist.

In other professions, they'd have titles like: lab assistant, chemical engineer, chemist.

In CS, they just have CS. So people talk about the minimal requirements to fall into that (overly broad) label.


Well,

* The tools to teach yourself are mostly free, for one. If you can invest a few hundred for a computer and have an internet connection (not entirely necessary), you're on board.

* Being so new, Computer Science and Software Engineering have nowhere near the academic clout of these other disciplines for which curricula have been refined for quite some time. Think of it this way: How much woud you have valued a doctor's certification in 1650, or even 1850, compared to today? I don't think that very many people really trust a CS degree in the same way that they do a law or medical one.

* There's a lot to learn, but you can begin to be productive wth very little knowledge of programming. The nature of programming lends the discipline to a master-apprentice style of training over the highly theoretical.


Because of the empirical observations of the performance of "qualified" people in real dev teams.


I think it actually has a lot to do with the disciplines of Computer and Software Engineering being so new (relatively speaking to pretty much every other arena of engineering). Because of this a couple of things are quite unique to programming (but also quite similar to the other disciplines when they were young):

1. Things change at a much faster rate. As theoretically useful it is to pick up a text book from the 70s, it's not going to provide you with the practical on the job experience needed to work in, say, Ruby on Rails.

2. There's not as many codified ways of working. This means there's a much larger reliance on the 'talent' of the individuals working in the field.


When I was an undergrad I chickened out of majoring in computer science, and I'm still kicking myself for that decision, because now I realize I like the heavy theoretical stuff, and I'm no longer in an environment where I can spend 20 hours a week learning it.

Every so often at the job, I'll come to a problem and think, "if only I knew all that algorithms and data structures jazz I could solve this much more quickly". But to be honest, those moments don't come more than a few times a year.


I majored in CS, and went into financial software (where I thought I'd be able to work on interesting hard problems), and found that in the two years I worked there, I can count the number of times I needed something from my degree on one hand. Yeah, it was nice to be able to see a problem and immediately think "Stick the intervals in a heap; modify the top element each time a new quote comes up; pop it and output an element for each trade". But that was about 3 hours out of 2 years employment. 99% of my work was boring UI plumbing or dealing with bugs in 3rd-party components.


Simply put, what industry rewards is the ability to grind out code. Computational theory and other academics are less necessary than the practical experience of having written reams of code. Software is more craft than engineering, and anything but a science. The fact that it's taught as a mathematical subject has more to do with university and industrial politics than the demands of the subject matter.


I agree with the programming/computer science distinction; in my experience the skillsets are fairly disjoint, and having a CS degree (or knowing what school it was from) bears very little correlation to someone's ability to code. Honestly, having an MS or a PhD often has an inverse correlation to someone's ability to code, since it probably means they're more interested in the theoretical side and less concerned with the practical side (though I don't think that's true for a BS).

I have, however, found that a college degree in general, regardless of the field, is often a good proxy for someone's communication skills. Someone with a degree from a "good" school is, in my experience, more likely to be a clear thinker/writer/talker that someone without a degree or with a degree from a middle-tier school, regardless of their ability to code. I don't want to hazard a guess as to which way the causal arrow points there, but it's definitely a pretty clear trend I've noticed from interviewing several dozen candidates over the last few years.


Because programming and a computer science degree aren't the same thing, at least not in the way that being a physicist and a physicist degreee are. Computer Science is much more about the theory than the doing, and programming is much more about the doing than the theory. As i see it, programming is CS as to engineering is to its physics underpinnings. Now, you might say that you need a degree to be considered an engineer, and that's true. But there's also a long tradition of self builders, tinkerers, and people that just genereally get things done. Take the Wright Brothers for example - bicycle mechanics (not degreed engineers) tinker and come up with an airplane.


It's all about "systemizing".

The inability of current degrees at predicting the actually efficiency of the programmers explains their lack of credibility.

The day a degree will correlate with skills in computing, that degree will be needed.

The reason why current degrees don't match industry needs is because what is taught is irrelevant for the job, probably because it is taught to the wrong people.

There is a paper about a test to determine who will succeed at programming. That test points out that a special ability is required. That ability is related to systemizing.

The usefulness of that ability is recent, much as computers. This explains why the academic system hasn't embraced it yet.


If you ever wonder why that is, get a degree in CS and a degree in another engineering. I am a senior double majoring in CS and mechanical engineering, there is just no comparison. My mechanical engineering gpa is a 2.8, my computer science gpa is a 3.9.

Why is that? Because programming is to CS as being a mechanic is to mechanical engineering. I started rebuilding cars with my dad as a kid, and I started programming in middle school. All my CS assignments tap those skills I learned but none of the mechanical engineering assignments tap my mechanical skills.

That said, I will probably be doing more CS than ME after college.


GPA is not an indication of anything in this case... You might just be bad at classical mechanics... I'm majoring in cs right now I and I wished I add programming assignments... I only have either to prove stuff or create algorithms..


Computer science is still a pretty new industry. Any new industry where there's opportunity is going to draw a mixture of both those with formal degrees and the self taught.

Eventually over time it will grow more regulated and structured. There will come a point where to improve the lot of programmers the industry will welcome regulation and certification.

They will grandfather in the self taught but slam the door shut on those coming in later. Course at that time programming will become decidedly less interesting and those searching for opportunity will migrate to another new emerging field.


It's because many people mistake learning a few programming languages as a computer science education. In fact, a degree in computer science education does not even include these things - they are assumed to be easily picked up in a students own time - just as they are in other degrees that require programming (math, physics, etc). What a (good) computer science degree teaches is how to think, reason about a problem, and other theoretical tools useful in computation. It is more like a type of math than any thing else.


I thought long and hard about getting a CS degree, then I decided to "learn by doing" instead and started working on an open-source project in my free time. Eventually, I used that app as a code sample when applying for jobs as a web developer. Now, I'm learning while doing while being paid. All in all, I think I've had a much better 2 years than I would have at school - but maybe that's just me.


Probably because some of the pioneers of Silicon Valley had dropped out of either graduate or undergraduate programs in order to start companies...the products of which we started using like hair on a gorilla...and then those same dropouts were glamorized to no end by the media...

...but that's just a crazy guess on my behalf.


Computer science models physical problems on computers - polynomial time is the ideal.

Programs are just concrete implementations of such models.

A software developer should study computer science (I dont care for a degree) else he/she is a programmer. Designing software is hard and lack of computer science skills make it even harder.


It's kind of like demand paging. When you're coding on your own, you learn what you need to learn to get the job done. This way you can learn most of what you need know for a job by working on your own hobbyist projects.

Ironically, the PC eliminated the need for a CS degree.


"Anything which uses science as part of its name isn't: political science, creation science, computer science."

- Hal Abelson

I would also recommend the first minutes of http://www.youtube.com/watch?v=zQLUPjefuWA


People should get the degree because it's easier (and probably more fun) to get it now, as young as possible, than wait. It also gives you options to study advanced topics or do research in the form of a graduate degree.


I think it's because it is easier to tell if someone is good at programming then at other disciplines. If the only thing people can rely on is education, it becomes important.


Do people actually think that qualification in the CS field comes from reading a few books?


> physicists, biologists, mathematicians, or zoologists

I think there are more than a few people without specifically relevant degrees doing things in those fields...

Anyway, the difference is that programming is a practical craft done for cash. The question is whether you can get paid to program without a degree, and the answer is yes. Those other fields are more exclusively academic, so you need to satisfy the arbitrary requirements of academia. If there were a big demand for "physics type work" across the private sector there would be plenty of people doing it without physics degrees.


Exactly my thoughts. In fact there are probably countless people toying around with maths problems that don't have a degree. They just don't earn any money with it.


Haha, I found that part of the job posting to be a joke for multiple reasons.

For example, given that their enumeration of the top CS schools doesn't include the best computer science program in the world, I wouldn't worry too much about being in the "etc." :P

* http://grad-schools.usnews.rankingsandreviews.com/grad/eng/c...

* http://colleges.usnews.rankingsandreviews.com/college/spec-d...


I became an expert at queuing theory during a summer of employment at McDonald's.


I hear the Starbucks program is a little more advanced though.


It works in the same way as the Google Minimum GPA. The probability that you are wasting your time reading/interviewing a candidate from Etc. U. is simply higher. Is it a better criteria than other bits of info on the CV? I don't know, but I wouldn't dismiss it offhand. If you get a very large number of candidates and time is short, why not?

Everything you have on your CV is ground for similar discrimination. Judging from the response, this is a politically incorrect statement around here (cf.: What You Can't Say). Maybe they should have silently trashed all documents, if !doc.contains(topUni)

Before anyone points it out, yes, this line of reasoning supports gender and racial discrimination. Indeed, anti-discrimination laws make hiring a less efficient process. We have them because discrimination against gender leads to other social evils. Can anyone make such a case for university-based discrimination?


>Can anyone make such a case for university-based discrimination?

That's not too much of a difficult case to make. You'd do it the same way you highlighted gender and racial issues: measure levels of income, access to schools for their children etc etc.

I think that those that don't have university degrees are "discriminated" against is an accepted given. This is why you see such an uproar over tuition fees and the like.


I can't think of any real hackers who honestly think that this is required to be good at the art of writing software. That being said, I'd imagine that a number of very highly skilled software people probably have an interest in NOT working somewhere that fosters such blatant snobbery.


Maybe they were expressing an extra preference for CMU's Entertainment Technology Center grads:

http://www.etc.cmu.edu/


What I want to know is how to get the telecommute job working on Final Cut Pro from my NYC apartment, now that you guys are working on Posterous...


If I were interviewing there I'd just ask straight-up, are there any major universities, elite or otherwise, whose graduates you wouldn't consider?


relax guys. we just want smart people. that's all. if you are smart, please apply. simple as that. why all the fuss? stanford has an amazing cs program and has been where some of today's greatest companies started (google, yahoo, etc). But of course not all of the great engineers out there go to these schools.

maybe this was all a test. do you only apply to jobs where you fit the description perfectly? When it says 3-5 years experience, do you skip over it? if i had followed all the rules, i wouldn't be where i am today. "video experience required" - ok so much for final cut pro. "discounted computers 1 per person only" - gee, i paid for college by selling many of those on ebay since I couldn't afford it otherwise. "cs degree required" - my cousin didn't even get a cs degree (he's EE from UCSB) and now he's a director at yahoo.

some people want to be challenged. they want to take positions that are above them, and then work hard.


If you had graduated top of class from /etc that would be a different story...


Soooo.... politics is not "things hackers would find interesting" and causes numerous histrionic fit news items, but some random guy begging for a job gets 16 points and numerous discussion comments?


Random guy? I'm offended sir! I graduated top of my class at etc. Could any random Joe do that?


Geez, these lines of inquiry are murder on my karma. But I'll continue because I'm hardheaded, and because I'm not nickb with a bazillion points to lose.

Micah, that's fine and congratulations. But, uh, do you really think that your request for a job deserved >30 points and a hit on the first page? Meanwhile the very interesting Project 10^100 link has 19 points and is falling off rapidly?

And this isn't the first time Posterous-related contentless posts have shown up on the first page: http://kirindave.tumblr.com/post/50264813/the-problem-tm-wit...

I don't have anything against you, but if everyone did what you just did, Hacker News would be worse than useless. And crazily enough we can't seem to flag your post down. I'm baffled why so many vote for this story, but your job hunt is not "news" nor is it something that a vast majority of hackers should care about.


Okay, so there's a large number of people here who have opinions on, or an interest in, the hiring of hackers. This seems natural -- this is after all "Hacker News" and a large number of hackers will at some point or another participate in the hiring process. This is a recurring discussion here, so we should not be surprised to see the topic come up again.

Curiously enough, there's also a large number of people who have an interest in YC and companies that have received funding from YC. Bizarre, I know.

So, is it really a surprise that people would want to discuss a controversial job advert posted by a YC funded company?

The only disappointment is that these comments couldn't have been added to the advert posting itself.

As to your karma, I think people get tired of meta-discussions / whining about why one item gets more points than another. At the very least it's off topic here.


Your deadpan delivery makes me think that you didn't get the sarcasm. I'm not really asking for a job. That's clear, right?


I didn't realize you were being sarcastic. I don't think I'm alone in this.

Either way, I don't care. Posterous is surrounded by an aura of crap news.yc posts and I'm tired of it because that aura shines in my eyes.


You just wasted 15 seconds of my life that I will never get back. But somehow you still made me laugh in the morning.


maybe you could, but why in the hell would you want to?


The one that always makes me laugh is when a job spec asks for a "PhD from an Ivy League university". Apparently, no one only told HR that:

(1) "Ivy League" means absolutely nothing in the context of graduate programs, as the rankings are discipline-specific and many Ivy League grad programs are mediocre. For example, Harvard's computer science program is strong, but not remotely in the same league as CMU or UIUC.

(2) In any case, "Ivy League" is not a synonym for "elite college"; well-regarded universities such as Stanford, MIT, and Michigan are (surprisingly?) not Ivy League.

(3) Related to (2), emphasizing "Ivy League" pisses off nearly everyone who went to a good college. Those who went to non-Ivy elites (like me) consider themselves excluded when they see these ads. Those who went to Ivy League colleges generally dislike the snooty, stuffy connotations of "Ivy League" and don't like the sorts of people who emphasize "Ivy".


Eh, I never feel excluded when a job ad says "Ivy League" (I went to a top liberal-arts college). If I like the company, I'll just apply anyway. Most job ads are more like guidelines, anyway.


I'm the complete opposite. If I think a job looks interesting and see that the company has elected to limit their candidate pool by putting a lame qualifier like, "a degree from a top-tier university," I don't waste my time. It shows that the company is more concerned with how their employees are perceived than what they can accomplish. Pass.

I sometimes have similar reservations about companies that list arbitrary experience requirements too, especially when they're clearly just going off some industry norm. That's just me tho. YMMV.


That's how I feel if, given an obviously qualified candidate, they then reject him.

But I try to give them the benefit of the doubt on the initial job application. They have to put something down, and as spez pointed out on the Reddit thread, it's an easy way of disqualifying people who like to complain instead of do something about it. It's an unfortunate filter that probably turns off a few well-qualified candidates, but nobody's perfect.


Perhaps I was exaggerating the sentiment, as one generally applies to a company and not HR. :) I find it amusing rather than vexing, seeing as it's socially quite gauche to make any reference at all to "the Ivy League" among educated people (regardless of whether or not they attended Ivies).

What college did you go to?


Amherst College.

Also, I use the degree requirement as a filtering mechanism on the jobs themselves. I figure I don't want to work for anyone who cares more about titles and appearances than ability, so if that's a disqualification, I don't want to work there anyway.

There are plenty of startups around - more than there are skilled developers, actually. And if you are a skilled developer, you can always start your own.


The Ivy League is an athletic league consisting of private schools in the Northeast. It was created for the purpose of playing sports! I wish people would stop using the term for other purposes.


Except that nobody uses the term in that sense anymore.


I'm not going to deny that there are filtering systems out there that are crazy.

Also: The Ivy League typically doesn't have great CS programs... ;-)

ps, see my other comment -- as much as a top CS school is nice, this was essentially a typo on our part.


Those of you saying the Ivy League doesn't have strong CS programs must have never heard of Cornell.




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

Search: