Your Credentials Are Worthless Here
iamexec.com
iamexec.com
I see this even more with MBAs than comp sci and particularly in downturns (having been in Silicon Valley a long time now) where weaker VCs invest in MBA buddies as easy decisions in tough climates.
Credentials are great as lazy decision making tools for big co hr departments - you don't get fired for hiring the Ivy Leaguer. But for startups make sure you're hiring for what someone can do and has done, not for what paperwork they've accumulated. I've made the mistake of hiring the high flying Ivy League wunderkind straight out of college, highly recommended... it was an absolute disaster but my own fault for taking this as proxy for being good on a startup.
Spin back to ten years ago and Silicon Valley wasn't wholly reliant only on institutional knowledge and skillsets were earned through work experience. Hiring a stereotypical computer hacker that's also a social misfit rebel was because those were the ones possessing the skills that colleges didn't teach.
My boss while I was at the big fruit company told me stories about how back then, back when it was still a garage startup of the literal sense, if someone showed up, poking around, and asked for a job was given some job to do. If they lasted and are competent they were hired. Only the true nerds came around, because only true nerds cared about computers.
That's not true nowadays.
Now that the body of knowledge has been collected and distributed, now that the lead time has diminished and colleges are teaching skills in almost real time, a college degree has a benefit of sorting those capable of finishing a 4 year project and those that don't.
The lambda between two candidates, one that earned his stripes while on the job while the other having a degree, has diminished. In that case, why risk it? No one ever got fired for investing or hiring an Ivy League grad.
I would feel better about this new status quo if there were more meaningful overlap between what they teach in universities and what skills one needs to be a successful software developer.
Are top-ranked colleges not adequately preparing their students paying hundreds of thousands of dollars to be a successful software developer?
Are there not enough work to go around for software developers of all levels?
I don't think it's reasonable to expect anyone to come from an academic field of study and immediately slot into professional work without having to pick up new skills.
People complain about a lack of talent in the technology world--some of that has to do with the absurd hiring practices of technology companies
That's a fantastic expression. I just looked it up -- the internet thinks that it originated with Barry Switzer, a former head coach of the Dallas Cowboys.
h/t http://www.barrypopik.com/index.php/new_york_city/entry/born...
> .. Silicon Valley is how much nepotism and old-boy-network
If I am ever in a position to hire (and affect through it entirely and only my own economic well being) I wouldn't mind having people I enjoy company of and can relate to. Genuinely awesome people are a plus point, but even in that category if I am able to find people who share the same background as mine, is it really that bad a decision?
> It was an absolute disaster but my own fault for taking this as proxy for being good on a startup
But there are bad apples in all baskets. I am sure there would be some evidence of great hackers without Ivy League credentials being poor matches for some startups. And I am not arguing that credential replace the need for a test of actual skills, interest and commitment; I am just arguing that the probability of the candidate possessing some minimum value for all three points is fairly high.
The question isn't whether "if all else is equal should I hire someone like me" it's whether you should prioritize a certain credential over other factors, as happens in a lot of hiring. But to come back to your "is it really that bad a decision?" I think most evidence points to YES, increased diversity of background and opinion benefits decision making groups - in this case companies companies - more than homogeneity, with its tendency towards systematic error.
To challenge your final point given the fact that a lot of the top schools have large numbers of legacy hires, and getting into them often involves far more factors than mere merit you're hoping that the delta in better schooling techniques outweighs recruitment drawbacks. Maybe, but I think it's far from proven.
Nobody is saying DON'T hire people from top schools, with great reputations, and track records of turning out quality candidates. Of course not. What's being said is that optimizing your hiring process to a handful of schools, given how many others are doing the same, makes it unlikely you're getting the very best candidates on the market - I don't see how this is anything other than statistically self-evident.
Yes, it's the opposite of a meritocracy, which i'm not sure if there's a specific word for. Very close to cronyism.
If that's what you got out of college, you were definitely doing it wrong. Maybe in a business degree, but most people who do a science, engineering, or math degree learn some, you know, actual science, engineering, and/or math, not merely schmoozing skills.
You could learn that elsewhere, but if you care about scientific progress, my experience is that few people without a science degree ever get around to developing a rigorous scientific education, whether out of disinterest, lack of time, or whatever other reason. Lots of people plan to one day work through some textbooks, but most people don't. You see it in a lot of self-taught programmers, many of whom have a weak grounding in computer science. That might be okay, depending on what you're hiring for, but there are many cases where you want some more solid foundations. For example, if you're doing anything with machine learning, you might want people who understand statistics. Oh, and if you're designing aircraft, you might want someone who's studied aeronautical engineering, or at least some kind of engineering, whether at a university or through equivalent self-study. Even Google, a canonical Disruptive Silicon Valley company, seems to prefer its technical employees to understand computer science, rather than to hire pure programmers.
If someone is a true autodidact, learning on their own the equivalent of what they would've learned in a rigorous 4-year degree, that's fine, and there are some of those, so I have no problem making sure to look out for them, or even actively seek them out. I don't run across them very often at all, however, especially if we're talking about people without any formal mathematical training who are able to do solid mathematical or engineering modeling work. When you do find such a person, they're often amazing, but they're not common. Maybe MOOCs will increase their numbers, but it's a bit early to tell.
That said, I agree in not caring about the actual credential. If someone studied CS at CMU but left without the piece of paper for whatever reason, but learned the kind of stuff people learn in the CMU CS program, I don't really care about the missing document.
Everyone seems to have a certain implicit sense that, sure enough, a CS education isn't crucial to work in certain sub-sets of software development. Likewise, it's well understood that such a foundation is necessary in others.
> For example, if you're doing anything with machine learning, you might want people who understand statistics. Oh, and if you're designing aircraft, you might want someone who's studied aeronautical engineering
Exec, of course, is neither doing cutting edge work in machine learning nor designing aircraft. Neither, if we are honest, are most startups or software companies hiring developers (including those who emphasize & prefer pedigree).
The question being posed (continuously) is :
To what degree is being self-taught (or, non-university taught) a hindrance in positions that do not explicitly call for it? If it's not a major hindrance, then is limiting the hiring pool in fact irrational?
I do not see this being answered adequately and directly. More often than not, we default to pointing out edge cases where a university education in CS/robotics/engineering/bio-engineering/what have you is necessary to perform the basic job functions. This isn't particularly productive.
Data should resolve discussions, not corner cases or anecdotes. Is there anything actionable or quantifiable that we can work with, or will this discussion inevitably lead down the path of opinion?
https://iamexec.com/meet_our_execs
the company may not care about credentials for hiring, but for marketing purposes at least they are creating the illusion that their menial helpers are in fact credentialed.
further off topic - it's a little depressing to me to see the "high tech" cradle of silicon valley creating a service to organize menial labor. wow, house cleaning online is sexy? i must be dreaming, is it 1999 again?
Regarding listing one of our Exec's degrees: credentialing clearly matters to people outside the company (customers), and there's little we can do to immediately change that. When we talk about credentialing not mattering for hiring, it's for core team employees (people who build the product), for which there are generally other metrics we can evaluate on.
i think robots picking artichokes would be cool in terms of both high tech and reducing the dependency on exploitative labor conditions. but moving robots and object recognition are tough problems, and when there's other "low hanging fruit" (excuse the pun) to be found in other startups the technically difficult stuff can get pushed off.
exec may also have longer life as a viable business than facebook. it fills a need that won't go away, whereas facebook has a major risk of having the fad end, or alienating users through ever-increasing invasion into people's personal data driven by the need to justify a ridiculous valuation.
only risk i see to exec is what happens to your quality labor pool if the job market tightened, but that doesn't seem like a big risk for a while. with 8+ million people dropping out of the labor force over the last four years, there's a lot of slack to pick up.
i agree that credentials are not necessarily indicative of on-the-job effectiveness. alternative and cheaper ways to hire people, like using programming tests (we use them at my company), are tricky and can risk running into discrimination lawsuits if they are not directly job related, esp at bigger companies. however, for some reason using tests to filter people out is considered OK if it is done through a university, and then employers hire on the back end, which leads me to think that it is partly employer laziness and partly fear of liability that keeps the credentialing system intact.
Generally, the hard problems with robotics are related to sensing. Stuff like inverse kinematics and gripper movement are mostly handled in ROS if you can build a model.
Recognising the artichokes is not that hard as you might think given OpenCV as a primitive, and if you could get a near-field sensor using structured light it would actually be easy. This is not possible right now but will be in the next few years (unsubstantiated prediction).
Anyway, what I am saying is that you would be surprised how fast the boundaries change between "hard" and "easy". The things people are doing now with a $200 irobot create and a $100 kinect are blowing my mind.
I do agree that house cleaning online isn't very glamorous, but if it helps people and makes money, it doesn't need to be.
What I really need is a decent tutor who is willing to help me specifically with the issues I have but I've sought in vain for one who is willing to free-wheel it with me instead of just copying out of a textbook. I tried one briefly and he came up with a cop-out shortly after our first lesson, because I don't think he liked the unconventional questions I was asking, like "Why and/or how are sine waves relevant to non-geometric data? The only definition I can find of a sine casts it in strictly trigonometric terms, so how is it applicable to non-trigonometric data? Is everything encoded into a representation of a triangle before these calculations are applied?" Heh, that one made him pretty annoyed and he didn't really have a good answer.
I would love to increase my background in statistics and comp sci theory (which is basic but imo sufficient, and I seem to have a better grounding than most of the CS grads I've worked with), but I don't really know of a good option to receive that training. If someone wrote tutorials for graduate-level math from the bottom principles up like they write out tutorials on PHP or whatever, I'd be all over it. I really want to increase my formal mathematical literacy.
Three answers (in case you haven't found one you like yet):
A set of sine and cosine waves whose frequency is a multiple of some value form an orthogonal set of vectors/functions, which means that for any given function or vector whose domain is at most the period of the lowest frequency wave, there's exactly one set of weights whose weighted sum equals the function (with certain caveats if the function isn't discrete). There are other such sets, for example the Hadamard series, so sines and cosines aren't unique in this regard.
A complex number can be treated geometrically, as a phase + magnitude (converted to a+bi using sin & cos of course). This representation has the benefit that the magnitude of the value is readily apparent, and makes certain calculations involving multiplication and exponentiation easier.
Sine waves arise naturally in differential equations, because they are the only functions which are the negation of their own second derivative. Hence they often turn up in second-order systems with negative feedback (e.g. microphone feedback is more-or-less a sine wave).
you can also show up to public lectures given by visiting math profs and afterwards ask them whatever theoretical background questions you want so long as it's not total spoon feeding
campus walls are also covered in tutor posters for hire and many of them graduate level
I am a mathematics professor. Where do you live, how is this advertised, what kind of audience does this attract, and what sort of questions get asked?
Here they mainly talk philosophy and crazy advanced, graduate level mathematics that are way beyond my comprehension and often there are industry programmers, visiting professors on vacation, math self taught geniuses who smoke a pipe with huge unkept beards that look insane, students and even this anarchist group that shows up sometimes to talk game theory.
A few Math dept profs hang out on Sundays here too where all the public chess boards are set up and are fully approachable to answer questions as long as they aren't engrossed in a game.
Clicking on the Events page for the UBC Math dept they always have visiting Math profs give free seminars to anybody who wants to show up, and it's easy to get to the university. Every month at least 5 seminars there's one coming up by a visiting prof from UC Berkeley on Lattice Poisson AKSZ Theory, a bunch of discrete math seminars, and 2 seminars today on chemical distances and shape theorems in percolation models with long-range correlations, and retractions of representation varieties of nilpotent groups.
These guys stick around afterwards and are fully approachable I would talk to them all the time about offtopic theory and went to the student bar with a few of them and other students for a few hours.
The universe likes sine waves. If you hang a weight from a spring and give it a yank, it will bob up and down according to a sine wave. Lots of resonating and oscillating things are also governed by sine waves. So scientists and engineers are forced by circumstance to learn all about sine waves.
This rings true to me. I have a degree in aerospace engineering, but I'm a self-taught programmer. I've worked as a programmer, never as an aerospace engineer, but to this day I have a much better theoretical grasp of the latter than the former. I was recently trying to understand bidirectional type checking, and I'm just stuck. I understand ML-style type inference based on unification, for which there are a lot of undergraduate-style descriptions online, but I'm clearly missing half a dozen classes between "point A" and "point B" when it comes to anything more advanced, and I don't know enough to know what I need to learn.
Some things are just not easy to pick up, even for people skilled at self-education. They require a level of background knowledge that has to be acquired incrementally, and it takes time and discipline to pursue that path systematically.
http://www.cis.upenn.edu/~bcpierce/tapl/ (It is very amenable to self-study)
and then:
http://www.cis.upenn.edu/~bcpierce/attapl/ (Began working my way through this, but haven't quite)
I think knowing abstract algebra is pretty helpful to understand types, but I'd imagine you were likely exposed to a great deal as an aerospace engineer already.
This brings out a point not explicitly mentioned in your original post. A key thing you get in college is access to people who know the topology of your field. It is a routine recommendation to start with TAPL. A map is invaluable in order to limit backtracking or dead ends.
In my field of reverse engineering, those who have produced the top public results are completely self taught. Advanced forms of reverse engineering require a large smattering of knowledge from many graduate level areas of Computer Science and Mathematics. Autodidacticism of some form is the only option, whether it involves complete self-instruction or designing a custom curriculum in graduate school. The aforementioned authors have described the process of learning without a roadmap as extremely painful. If you don't have to subject yourself to it, I don't know why you would.
I think that illustrates the real value of education, which has nothing to do with brand name or credentialing. I like that I studied enough electrical engineering to do hobbyist projects with FPGAs; enough physics, math, and other sciences to be able to make sense of Nature articles, as well stay up to date with relatively new and fast growing fields like neuroscience and molecular biology.
Not everyone will extract this out of their degree program and there are definitely a few universities that make it difficult to get this kind of background knowledge. However, I'd wager that most good universities (ABET accredited CS/engineering programs, most faculty having Ph.D.s and publishing, healthy portion of students going on to graduate schools, etc...) offer this to students -- irrespective of their USNWR rating is (which, I think, at least for general undergraduate studies becomes more of a game beyond a certain point).
Could MOOCs offer this? Probably, but having structure and providing a toplogical sort (just like you've described it) of disciplines -- as well as things like labs for hard sciences -- is also valuable.
==Very good point.
I wonder if some better way of discovering books suitable for self-study would solve at least a part of the problem. I find a lot of textbooks are aimed mainly at being used as a resource in a course, which isn't quite the same use-case. Others are more of a compendium or reference, which also isn't the same thing, e.g. you could learn algorithms from either CLRS or Knuth, but I don't think they'd be engaging as introductions. So far my method is to ask around and make notes when people suggest things in threads like this one.
An even rarer genre of books is the high-level, creatively written book that lets you understand why an area is interesting in the first place, but which still digs enough into the concepts that you learn something about it. Sort of the textual equivalent of the dazzling lecturers you occasionally run across in universities (alas, not most of them, myself included, though I do try to provide students with a high-level map of what's going on in an area). There are some good books in physics, which attracts a lot of good popular writing leaning toward the harder-science end of the spectrum, but not as much elsewhere. In CS, only Hofstadter's Gödel, Escher, Bach comes to mind, though I'm sure I'm overlooking something.
What Ivy League schools do teach better than other schools is exactly what Justin says: how to fit in to the elite.
Like Emmett point out, however, I think any potential incremental benefit of a CS education at a top school is very much overvalued by recruiters.
The "everyone" that you are referring to consists of the vast majority of university majors, which happen to be non-vocational. I would say that STEM majors are generally pretty close to vocational, but as you say lots of people can get the degree without actually learning anything useful to any specific employer.
Which is what vocational schools are for. The biggest pity is that vocational schools aren't held up as great opportunities - lots of them are intellectually challenging - can you name and describe the function of all of the moving and non moving parts in your car? Also vocational schools are just as social as long as they are encompassed in a normal junior college. Oh and JOBS that pay MONEY.
The funniest part of the tragedy is that (on average) someone going to vocational school for a law certificate is going to make less money than someone going to vocational school for an electrician or plumbing or automotive repair certificate. Have we mentioned debt and compound interest?
Yeah, well, you know, that's just like, your opinion, man.
Memes aside, that contrarian claim may or may not be true, but where's the evidence to support it?
On a related note, the OP lost me with the claim that "Speaking as a graduate of one, top schools [just] teach you credentialing and ladder climbing." That doesn't match what I've seen at MIT or CMU, but perhaps it's true at Yale? :P
At the very least, it's an extraordinary claim (for engineering majors) presented with something falling far short of extraordinary evidence.
I am a physics graduate of a state school. I thought my physics program was excellent. I have since studied some additional math from MIT's OpenCourseWare and some machine-learning classes from Coursera. In my opinion, the quality of the classes are roughly the same.
But what I have noticed is that a lot more of the original research comes from the big-name universities. (I suppose that professors compete to go where the most funding is, and also where they can get access to the best grad students.) If I wanted to get a PhD in machine-learning, I'd most want to go to U.Toronto or UCL (University College London). Because that's where the action is.
As a graduate student, if I'm studying the xyz algorithm, I might be learning it from the guy who invented the xyz algorithm. (As well as surrounded by grad students and post-docs who are studying the next version of the xyz algorithm.)
I suppose that, in the STEM fields, there's a trickle-down effect to the undergrads. Surely there's more energy in studying something right where it's being invented.
The comment was claiming that Justin claimed that education didn't matter. I was clarifying that his point seems to me to be that the prestige of the institution you attend doesn't matter, and that more prestigious universities do not offer correspondingly better educations.
Now, as to the truth of that matter, it's a topic there's not a lot of good evidence on.
Obviously MIT and Yale and CMU all select from the very best students, so their graduates are correspondingly better than average as well. The question is whether they are more-better after attending prestigious schools.
Anecdotally, my friends who went to state schools got educations every bit as good as mine, in terms of the quality of instruction and rigor of the classes. Ditto for me comparing my CS degree to a MIT degree (I don't know about CMU).
Also, the null hypothesis (or the dominant prior if you're bayesian) should be that schools provide equivalent educations unless you have some reason to believe that's not the case. What evidence do you have that MIT and CMU provide better educations than other schools?
Again, note that the claim is not "You don't learn anything in college", the claim is "You don't learn anything more at prestigious schools".
Fair enough.
Obviously MIT and Yale and CMU all select from the very best students, so their graduates are correspondingly better than average as well. The question is whether they are more-better after attending prestigious schools.
Sure.
[The] null hypothesis (or the dominant prior if you're bayesian) should be that schools provide equivalent educations unless you have some reason to believe that's not the case.
See, this is where the argument gets pretty flimsy. The prior should take into account the data we have on hand and practically all of it points in the opposite direction. Some data we have includes:
* professors (in many cases, learning techniques from those who invented them)
* quality of students you're interacting with
* laboratory resources available
* the "wisdom of the crowds" about the schools in question
Sorry, but the burden of proof is yours (or Justin's) — practically ipso facto — given that this is a contrarian claim.
From a pure common sense perspective, we should be surprised if there is literally no difference between the CS education at MIT and, say, UC Irvine, just as we should be surprised if there is literally no difference between the dining experience at a restaurant with multiple Michelin Stars and that at one without.
Well that's quite a bit harder to refute. ;)
For example I am in the UK and studied computing at an FE college (probably equivalent to a US community college) and also at a "red brick" university.
Both courses contained introductory Java programming modules. At university the first few lectures were spent whizzing through the Java syntax and by about the fifth lecture we were being introduced to BST implementations.
The college course took about the same time to explain the difference between an object and a class and many students still struggled.
Of course if you are comparing "good college" to "really good college" the difference in intelligence might be much more minimal and admission comes down to whoever studied the hardest for their exams.
At the time I got my engineering degree, my dept was in the top 20. It was pretty clear through the entire 4 years that educating undergrads was not a serious priority for the professors or the dept as a whole; research was king. I'd be pretty open to evidence that colleges without world-renowned research are actually better teachers.
Same here (DC' 04) but from my experience places like Waterloo produce graduates that are phenomenal compared to Yale. They leave Waterloo with such a wealth of actual working experience. Even when I was at Yale recruiters from Microsoft would complain to my professor that Yale graduates were lacking in actual experience. Don't discount the value of experience in learning theory because a great deal of CS is driven by real problems encountered. It's harder for the theoretical stuff to sink in without understanding the problem they can be applied to. I don't think I am alone in this regard.
In any case, dollar for dollar, if you're going to hire new college grads your money will go farther on graduates from schools that have a strong internship program. So in a sense, school does matter.
Maybe what is more true is the label "Ivy League" doesn't matter, not in CS anyways.
It's also not particularly prestigious, which just goes to prove Justin's point.
It might not be prestigious to some people but where I work Waterloo carries a lot of weight. We also love Brown.
I was simply appalled, when I noticed my co students in computer engineering had never seen a computer from the inside or knew that c was a programming language I studied. every single one of them has a ph.d now. I pretty much left.
And now that I moved to the US I can tell you each one of those who studied in a german engineering school is worth more than your average Ivy league candidate.
See, the thing is, the ones that actually do care drop out, because the system is made to find the highest common denominator. You want to get as many cs engineers out as you can from your university.
I often go on to tell people you should get interested high school students. Most of the ones in the University are already damaged. The ones that know coding at highschool age, are the later self taught wizzes
I was recently involved in hiring cs graduates for a university program, it was a horrible experience. They did all these capability assessments, grade measurement stuff, etc. In the end I got bored, and started asking them to solve problems(yes, like every half decent interviewer would do).
You'd be surprised how few people can break down a problem that would be 3 if statements into something that actually resembles a function. Sure, they can do exactly what you want them to do, but if that was it, you might as well just outsource it to some dude in india.
The foundational "computer science" skills held in such esteem by companies like Google amount almost entirely to an understanding of algorithms and data structures (you will almost never see an interview question based on, say, programming language theory), which was covered by exactly one semester-long course in our curriculum.
I think we learned a lot of cool stuff, but not stuff a working programmer really needs to know.
The one notion that always irks me though is talent. It seems to measure some combination of confidence and the amount of praise a person happens to have received in their life (i.e. how often someone told them they're talented) and is for the most part not well-defined. Yet, this article uses talent just like another credential.
I don't think talent is a thing that you either have or don't have. There's certainly some people that I'd like to hire that wouldn't with certainty say that they have talent. Vetting for confidence is a bit more interesting, but I also know plenty of confident people (i.e. that think they're talented) that can't get the job done.
The best way I've come up with to characterize what we're all looking for is people who can solve our problems/get the job done. That makes it mostly about what the applicant thinks they can do and less about the amount of praise they've received previously in live. This reminds me of how Kyle Neath posted yesterday that he thought he was not a great coder or designer but he could get the job done. When he was twenty, perhaps he didn't consider himself talented but I'm pretty sure nobody would have regretted hiring him.
Personally, I see the word used most often a kind of negative rationalization. A way to disregard success as lacking in effort, to say it's inborn, incidental.
I'd generally prefer to be described and to describe people as passionate, dedicated, capable or plain smart rather than talented.
I think those traits, often in combination with a lot of thought/practice, but not necessarily direct experience are the things that add up to what's often described as talent.
I've found this statement to be false, at least at my alma mater(UT Austin). My Honors OS class unquestionably made me a better programmer, teaching me about how programs I wrote interacted with the OS to a very deep level. My algorithms class gave me an extremely deep understanding of how algorithms+data structures worked, giving me a better intuition as to what tools to use when confronted with a problem. My HCI class made me acutely aware of how users interact with software.
I'll agree that the purpose of universities is not vocational. Without a doubt, a lot of classes I've taken will have absolutely no impact on my career (unless Buddhist Art becomes an in-demand field!). But a good school gives students the opportunity to gain applicable skills that are needed in the world.
If someone got an 'A' in UT Austin's honors OS class, I wouldn't even hesitate to interview them. It's a very good proxy for a good programmer. You can't do well in the class unless you truly understand code. Using a coarse grained filter of "Harvard University" is bad, but using a "Passed CS50 with an 'A'" filter is a very good metric to use.
- Memoization / DP
- Divide and conquer
- Using a bounded approximate algorithm in place of an exponential one for NP complete problems
I feel like it would have taken me a lot of time to internalize those types of algorithms on the job, but seeing them presented in my algorithms class made it easy.
There is a line to be drawn somewhere tho - what is considered basic isn't basic to some. I would draw it where 'basic' means you could have learnt it in a 3 year undergrad CS course - essentially what is covered in the text http://mitpress.mit.edu/sicp/ would be all i need from a grad, and domain specific stuff can be trained on the job.
In my experience, people who don't have a formal computer science education, who haven't taken any classes (or at least worked through the material in their own time) in algorithms or data structures, will muddle through and _will get things done_. They may also shrug their shoulders when it comes time to scale up their dataset input and their code takes 6 days instead of 6 minutes.
When the person lacking this education finds himself in a three- or four-level deep "for (...) { for (...) { for (...) { ... } } }" structure, (I guess) he feels mildly uncomfortable and thinks "yeah this is going to take a long time".
When the person with this education finds himself there, he has at his (I hate to use the word, but: intuitive) disposal some ideas for reducing some of the necessary computation ("I can keep a min-heap instead of scanning the list to find the minimum every time."). He has a toolbox of algorithmic knowledge that helps him without him consciously knowing about it. Some people reduce the complexity as much as they can and are still not satisfied, causing them to restructure the larger program or try to invent a new algorithm for this particular problem.
Ihave no idea if UT Austin is a good comp sci program or if you're being sarcastic. This is the first I've heard of it.
Assuming you're being serious, then Joel Spolsky mentioned something similar in one of the stackoverflow podcasts.
His point was that a "top" school wouldn't get you hired directly but it would get you interviewed before someone else all other things being equal.
[1] http://grad-schools.usnews.rankingsandreviews.com/best-gradu...
[2] http://www.cs.utexas.edu/lasr/
[3] http://amturing.acm.org/award_winners/emerson_1671460.cfm
I would strongly encourage any potential competitor to never recruit from UT Austin (or any UC school, U of Washington, UWisc Madison, Waterloo, etc...). Oh, and amongst Ivy League schools please be sure never to recruit from Brown.
Though judging by the negative votes on my post I guess I'm being punished for my ignorance.
I thought I made a decent contribution to back up the original posters claim. I guess its true that no good dead goes unpunished:)
UT Austin actually does have a wonderful CS program.* The reason you likely haven't heard about it is that it is notoriously difficult for out-of-state students in the US to get into UT Austin, so you don't have as diverse a student body (geographically speaking) as you do at many other top schools. Less than 10% of undergrads are not Texans.
* I didn't go there myself, but I've worked with people who did, and they are top-notch.
The reason some firms hire only top school kids is (apart from ego) they know that whatever test/puzzle/interview they give their decision in hiring candidates will still be fairly inaccurate.
However, good credentials (I'd normally include internships but it wasn't mentioned in the original article.) simply means that there's a higher chance of the kid having a better understanding of programming than another candidate coming from a less competitive pool. What the author does in order to suppress this statistical strategy is giving anecdotal evidence. Problem with that is for every example the author might come up, this community can produce 100 nontrivial counterexamples.
One other issue is most founders who do not come from top schools have a tendency to think that kids in these schools are simply giving so much money to have a cheesy-easy undergraduate life and are terribly spoiled (and that might be partly true). Yet the fact is those are the top schools because students have to produce work that is quantitatively and qualitatively superior to their counterparts in other schools. This is not because of everybody are geniuses in these schools but because the average student starts at a higher level so the academics can push the students further without overestimating their capacity from day 1.
But, strong disagree.
In my experience as a hiring manager (which stretches back quite a ways), I've noticed no correlation between school and on-the-job performance. I'm sure MIT does indeed present more challenging CS/EE curricula, but the inference I draw after stipulating that is that CS/EE curricula quality just doesn't matter much in the real world. Perhaps we just do our most important learning in our first jobs, or, even better, throughout our career? Maybe memorizing MESI cache coherence in school is just less important than, say, having to learn on the job how to do a u/k copy in an ioctl handler because that's the only way to accomplish what your next dev task is?
And, you suggest that tests/puzzles/interviews are "fairly inaccurate". Well, all of technology hiring is inaccurate. Compared to other professions, the recruiting/onboarding process in the tech industry is amateurish across the board whether you ask people to design manhole covers or review Github pages. The answer to this is to improve the tests, and, I think, to evacuate as much of the subjective stuff (school and GPA, yes, but also "interviews" as much as possible) so you can make apples-apples comparisons to candidates and discover what factors really correlate to good performance.
I think when hiring (or vice-versa, making a choice of people I will work with) I look for some evidence that they've done something they're "not supposed to" have done. Growing up in a slum and yet attending Berkeley/Stanford/MIT/IIT Madras is such evidence -- higher education _is_ an equalizer -- but growing up in a wealthy suburb, going to a great prep school, and then and attending a top-tier school is insufficient.
Real open source contributions, serious undergrad research (even if done at an obscure liberal arts college), writing your own screen replacement "just because", building and open-sourcing an impressive piece of infrastructure at a previous job, are other examples of such evidence.
Most hires were from their sophomore year, so they all had the same basic classes coming in and had a baseline of knowledge.
[1]There were a few exceptions, but they knew someone in our org before they interviewed
PhDs, from any school, are also something I've gotten to be wary of. Of the 5 best coworkers I've ever had, all 5 had PhDs, but there is a lot of variance. Sometimes they spent a lot of time understanding one very specific problem very well, and people who have that problem should pay a premium for that talent, but if you don't have that problem they won't be worth it to you.
On the other hand if you're meaning people with Computer/Software Engineering degrees then you're right.
At my university the curriculum was identical for both degrees, you basically got to pick what it said on your cert at the end.
For young firms in software industry, this is not true. Neither Google nor Facebook (disclosure: my employer) hires exclusively from top schools. These companies do spend more effort recruiting interns and new graduates from top Computer Science programs (which is a rather different set of schools than top schools in general), but the reason puzzles, participating in competitions like TopCoder or ACM ICPC, research, open source contributions, etc... matter is that they give smart people everywhere a chance to stand out and be noticed.
On the other hand, the technical interview process in these firms is known more for false negatives than false positives. These companies all explicitly track the relationship between interview scores and employee performance and tune the interview process accordingly.
Finance, management consulting, etc... firms do recruit exclusively from top schools -- but they have other reasons for doing so. If you're in technology business but only hire from top-tier schools and fail to setup a meaningful technical interview process, you're more than welcome to -- I would highly encourage all of my potential competitors to do so :-)
I made fairly silly choices as a high school student (as well as not-so-silly, e.g., interning at a startup junior and senior years of HS) which led to me having to "hack" my way through a higher education despite having high SAT scores: after high-school I attended a community college for a year, got a near 4.0 GPA, transfered to a university no one heard of (I had a chance to stay one more year and transfer to Berkeley or UCLA, but I jumped the gun out of fear that my performance was "illusory" as I've never had such a high GPA before) while interning at yet another startup. More traditional companies (think Cisco, Symantec, etc...) ignored my resume (unknown school, internships only at startups), but nearly everyone I actually wanted to work for gave me a shot and I had plenty of good offers. I'm now 29 and I don't feel my career suffered as a result of silly choices (e.g., getting modest grades in high school, transferring too soon from a community college) I made between ages of 14 and 19.
- Every real school, no matter how low in the ranking, produces at least one competitive graduate each year and rarely an amazing candidate.
- The top schools produce not only a large number of competitive graduates, but also at least one amazing candidate each year.
For companies searching for a large number of candidates, hitting the top schools makes a lot of sense. Further, you also start to get data on your hiring so you can know if your yield was low in a given year; if some bad attrition means the manager is likely poor or if that school's candidates are just larger flight risks; etc. Sourcing candidates from small schools, at least for us, usually meant that they had either done something noteworthy or an alum already at the company was contacted by a professor at their alma mater, who passed along a resume and asked us to interview them.
That said, the amazing candidates from top schools are usually funneled off to graduate school without ever touching the recruiting process, whereas at non-top-tier schools they are much more recruitable for either a startup or software development shop.
So Kan's companies are ageist, gotcha.
Bill made me look young, though. ;-)
So, he wants young creative kids, and also super experienced people. The obvious point is that he wants ambitious people who work hard, not that he wants young people. Some of those people are younger and some people are older.
There's so much funding in Silicon Valley, and such a talent crunch, that startup salaries are often on par with "real jobs" at established companies.
In the first dot com boom, startup engineers were often paid sub par wages because much of the funding was allocated to expensive infrastructure and for-show C-level execs. These days, infrastructure is cheap and startups don't hire MBAs, so virtually all of the funding is earmarked for engineering salaries.
I think the modern college market is just a credentialing racket, so I don't mind steps taken to disrupt it. That doesn't mean I'll support any step to disrupt it.
But of course.
The problem is that talented people usually do not carry the sign "I am talented" to make it easy for you.
It's up to you to figure that out.
And you never know who is "talented" upfront unless you give that person a space and time and let the person express himself.
So you may not give a shit, but you have to give it a time and take a risk of finding out that cool looking and smooth talking dropout you hired 6 months ago is not talented at all.
Also, while I realize you were speaking generally, I am familiar with at least one of Exec's non-traditional hires, and I sincerely doubt he will be regretting that decision.
Lots of fresh new startups with no money or traction take what they can get, and that perversely often leads to talent that would be rejected by more established companies. But you only have to read job listings to see how many of the well funded more established companies, out of the very early stage, look to hire from a very narrow range of schools. YYMV but I see ads like that ALL the time.
I think you are conflating coders with engineers. The latter entails a lot more requisite knowledge, and generally requires formal education of some sort.
Plenty of jobs advertised as "software engineering" are mainly about writing wordpress plugins.
That said, I also think there is nothing wrong with going after candidates from top tier schools since most of those people have been properly vetted in the past and will likely handle themselves well in high pressure situations.
All in all Justin's article is spot on that credentials really shouldn't matter all that much as long as the talent is there.
However, The fact that someone has to write a blog post stating that and calling it bold really shows the lack of direction our country has as a whole right now unfortunately
I'm not sure if the "attended Yale University" is part of the Google+ page layout or a conscious choice on his part, but either way it says something.
Not that I disagree with his point.
Not that I don't value my time at Yale, but I don't feel like it is particularly worth highlighting on my resume: tens of thousands of people graduate every single year from top universities. Hardly something unique.
In particular, my experience with top schools is that, more than "average" schools, they're often hard—the people that get in are very competitive and competent, and the material and pace reflect this.
It's useful information to know that somebody was up to dealing with all that, because not everybody is...
Top school == a signal, but it is a weakly correlated one with being productive in my opinion.
>Speaking as a graduate of one, top schools teach you credentialing and ladder climbing.
The best way to hire someone is to sit down and chat with them on multiple occasions for 1-2 hours at a time. Another programmer can generally tell when someone is incompetent and/or BSing. It doesn't guarantee the employment will work out, as working styles can be incompatible, employee can be/become depressed and/or unmotivated, etc., but it at least allows you to discern the competence to a reasonable degree of satisfaction.
When I interview programmers we're so busy talking shop that school doesn't even cross my mind. Thus far very few mention anything related to their schooling as a qualification while we're discussing, i.e., not a lot of "Yeah, I did a project like that in school once...". If one is hiring for a heavily theoretical position, academic credentials may be slightly more meaningful (though it's still about the final output, much of the personal research/development for that type of thing would occur at a university, whereas "working" software engineers mostly go through school as a formality), but for most other things, it's so irrelevant that it never comes up after several searching technical interviews.
If your credentials are worthwhile, that will become obvious. If not, then they don't matter.
For anyone other than recent graduates, I wholeheartedly agree. But for recent graduates, you may have little else to point to.
They should skip a few homework assignments and write a few simple yet interesting tech demos and upload them to GitHub.
(I was an example when I came out of pure math and looked for a programming job back in the 90s, with no programming background.)
They couldn't afford to help me pay for school, but my test scores were high enough to get a full scholarship to a public university near my home town, so that's where I went. I lived at home, used public transit to commute, and made due with what I had available.
It's easy for me to say that credentials are worthless, I went to a school you've probably never even heard of, so it's nice to hear this from a successful individual who graduated from a top school.
Being a college dropout doesn't necessarily mean they'll be a good hire, just like having a degree doesn't necessarily mean they'll be a good hire.
I think it's often safe to assume that if you went to a top school you have either (or both) determination or raw intelligence. If you didn't do this you'll spend forever screening dumb people.
Hiring decisions carry the same risk & reward pairing of an investment. You can take a risk on an un-credentialed candidate that you have a good feeling about, and in turn they won't expect the same pay as someone with a well-respected degree. Graduates from top schools get good salaries because there's a sense that these schools adequately vet candidates and prepare students for the real world. You could argue this is untrue, but it all depends on what you're looking for.
The truth is academia is less relevant to startups. MBA programs focus on case studies on Fortune 500 companies with multinational reach and departmentalization of business functions. Startups don't act this way, so hiring an MBA doesn't necessarily mean that candidate is going to perform better than someone without the same degree. What it does tell you is that they have some ability to organize, manage priorities, and ultimately complete a plan, which is still valuable.
As any statistician will tell you, citing anecdotal examples is misleading. Steve Jobs may have dropped out of college, but there's millions of dropouts that don't go on to create multi-billion dollar companies. I've worked with plenty of amazing people who were great at what they did without credentials behind their names. I've also worked with people I still have no idea how they managed to completed their programs.
I'm also questioning whether the article's claim could actually be proven with data. On the one hand I want to believe that credentials do in fact make no difference. On the other hand, it doesn't ring true when I think about my own experiences.
I'm the founder of a local not-for-profit community service organization. When I was still actively involved as president, we were very ambitious with our goals and therefore sought to recruit high quality people to join the board of directors. We interviewed many people, and the thing is, there was a stark difference between people who had degrees from the local Cal State college and those who graduated from the better schools in the Pacific West (University of Washington, UCLA, Berkeley, etc.). Over the course of three years, I interacted with both groups of people and found out that those who went to good schools actually had a superior breadth of knowledge and a much wider perspective in things they dealt with. They always had great ideas and often times took the initiative to make those happen. In contrast, those who went to the local Cal State college (Cal State Long Beach) were just lame. They were nice people, but they were generally unmotivated, bland, and never thorough with the things they did.
There's an upside to this, though: You can easily identify short-sighted companies that probably aren't worth working for based on the degree requirements stated in their job listings. If you require 3 years of experience and a CS degree for all your 'junior' and 'entry level' developer positions, there's a good chance you couldn't think your way out of a paper bag. That's often code for "I expect a lot out of you, but I'm not going to give you much in return".
Tech companies need to adapt more quickly than most others just to stay afloat. Following the same hiring practices that have been around since the 19th century is a great way to fall flat on your face in that regard.
* In general, I think there has been a strong trend away from investing in people, to treat them as interchangable cogs or simply farm out as much as possible. I've seen larger organizations which almost seem scared of having exceptional people, or more specifically allowing them to do exceptional work. It's actually seen as a kind of liability, that a great person could generate leverage to effectively demand more money or leave and take unique institutional knowledge with them.
* Assessing "talent" costs time. The time of reasonably talented people you are or will be paying, in some form another.
* Unless you find a way to turn it into an automated, repeatable process, the decisions made are subjective and subject to all manner of criticism and allegations. This might not rate in a startup, but once you're large enough to have anyone titled "hiring manager", I expect these things are going to be relevant.
* Scale is a problem. If I put out an entry-level job I'm gonna get 500+ applicants. Reduce it to something almost criminally narrow (You already know who you're going to hire, but you have to go through the motions and make the selection defensible) and I'm still looking at 100+.
* Not sure what exactly you mean by training. It's hard enough to find people who can drop into a new environment and apply their existing skills immediately. Finding people who are so smart and capable that they can drop and learn skills while applying them would be that much harder.
this begs the question - _just who exactly_ is the entity that is seeing this as a liability instead of an asset? I suspect its not the owner of the business, but a middle manager who needs to make themselves valuable, and their only value is in managing other employees. A self directed, motivated employee who has large leverage could pose risk to the said middle manager.
Of course, all this is just speculation.
You have to realize how there is a huge, huge amount of people incredibly full of shit. Everybody thinks, or at least says, that they are an expert hacker. The problem is that invariably someone who overstated and overestimated their skills makes it inside a company. Then the bullshit really starts flying. They want to hire their no skills friend, or sibling, or spouse because $$$. They talk them up and try to bully anybody who is against hiring the person. Suddenly it appears on the surface that the company IS trying to hire based on 'talent' or at least one persons biased perception of it. Talent is not going to work in the typical political business environment. Next, you go with degrees. Does your self serving friend hire at least have a degree? No? well too bad for you and your friend.
When you talk about "talent" it's almost funny because of how awful reality actually is in hiring. When anyone tries to talk up themselves or their friends, all anybody can think is 'full of shit.' When somebody says they dropped out and taught themselves, its 'full of shit.' When somebody says that the best employees don't need to go to college, its 'full of shit.' Do you think people who have heard and seen every lie out there are just going to take a person's word for it?
Of course, in programming specifically, it is so easy to verify expertise, relatively speaking, that observing any claim made by the applicant seems pointless.
In programming it is very difficult to verify expertise. Programmers, especially self taught programmers, are usually very myopic. Someone will learn one technology, and then they determine a candidates overall expertise based on knowledge of that one technology. The problem is they've built up their entire ego based on learning just one thing and even got a job as a rails hacker or a javascript hacker or whatever. That person thinks that they know how to determine expertise: just ask a bunch of very specific rails questions. In reality there's a huge range of necessary expertise such as problem solving, debugging, interacting with people, using other languages and frameworks, databases, testing, operations. But the ego takes over and says, "I'm an expert in html, therefore html is all that's really important."
Now you might say that if the interviewer finds someone who can do the specific skill, what's the problem? The problem is that in a larger company, that one skill is a dime a dozen. How is the candidate going to stack up when there are 400 rails hackers that can also do lots of other things. As soon as its apparent the person can only do rails and is kind of dumb about other things, that's inviting huge criticism and job peril for the interviewers. Small companies can enjoy their ignorant bliss.
The other class of interviewers are hiring managers who's egos are by their very nature amazing experts in all fields and technologies, but who's brains know absolutely nothing about software.
There was a high level executive from, I believe, Yahoo in somewhat recent times caught without having a degree, despite claiming to have one. It is clear that some people are definitely slipping through the cracks, even in large organizations who have the resources to do the requisite background checks. We also hear, over and over again, about the supposed college graduates who cannot even solve fizzbuzz which indicates that a lot of people are lying.
How many people, who actually have the skills and aren't foiled by fizzbuzz, are making their way into industry by lying about their education? I guess that is something we'll probably never know for sure, but what if it happens more often than we might suspect?
Fizzbuzz failures happen because people don't code every day and can lose their edge in just a few weeks or someone did a degree that has very little practical material. Obviously, having a degree doesn't mean someone is a great programmer. Its just another tool to form a basis of trust.
Obviously a lot of people do lie their way in and do nothing or do negative work. That's why a lot of companies are so awful to work at if one is serious about their profession and actually trying to move things forward.
Hiring is especially a problem in tech, because there's an even bigger disconnect between the hiring managers' understanding of the actual position.
The impression I got was more along the lines of "We're willing to overlook your lack of credentials if you can prove you're talented."
These articles always come off a little pompous to me. But, I guess if you have the money, and you're hiring, you get to say what's important.
I don't care if you're talented as long as you are good.
I think the word "talent" is getting more and more misuse in the startup field. Talent is innate ability. While it helps, it's not a prerequisite to being good.
Every time I see a senior exec leaving the company during difficult times, I see one thing manifest. The guy is super job hopper known to milk his Ivy league degree and networking potential to get anything he/she wants. Beyond that try to measure his performance or actual value he is adding to the company and you will see nothing substantial apart from making congratulatory noises during occasions, or blasting people when something went wrong or at most acting as a information aggregator/distributor to the rest of the company.
Big name schools serve as a aggregating points for good people, but many times you also get people fit for nothing.
The best test to hire an exec(or anybody) is not look at his degree or names on his resume. Do a good background research on the guy and try to see if he has actually done something nice in the past, what sort of contributions he has made to what kind of projects/businesses. Never hire people at senior positions just because some one from his network happens to be in your company.
Unless the guy has some good rock solid performance in his past, he is not worth your time. No matter from which college he comes.
1) People who hacked on projects on their own is WAY more important than "worked for a big successful company" or school. Even if the project fails.
2) Personality/performance traits matter a lot more than specific skills.
3) I'm generally biased toward hiring military veterans (US, Israeli, etc.); yet, there are parts of the US military which have a higher-than-ambient density of idiots, so it's gotta be selective.
4) Hiring mostly makes sense through network of existing people (founders, early employees), although "soft" connections to that network matter more than core membership.
I also probably shouldn't admit this legally (but I think it's safe) -- I would be biased toward 25+ year olds, vs. 18-25. I don't see much difference after mid/late 20s, but teens or early 20s, not so much. I would absolutely hire a qualified 18 year old, but I don't really look in the 18-25 year old range when hiring, and due to the historical accident of dotcom 1.0, people who were at least aware of their surroundings in the tech industry (even if in a junior role) in 1997+ would be a huge win.
I generally ask people "What was the last code you wrote for yourself that wasn't for work or school?". I learned that one from a friend and it is a great question that tends get to people who I want to work with.
Hire the undervalued "hungry" people who the Googles/Facebooks of the world won't even give an interview, and they'll 1) be easier/cheaper to convince and 2) work super hard to prove themselves (especially if it's their first job out of school). If the startup does well, it's a win-win.
I also like the idea of saying 'mention (some shibboleth) in your cover letter' to prove people read the add. If I was writing an ad I'd ask someone, maybe, to provide their favorite code snippet and describe why. Anything would be okay, as long as someone has an articulate reason.
I get disappointed in an interview if the company don't want to see code. Someone in this thread discussed how school doesn't correlate to the ability to ship code; I'm good at having an executable answer to a problem in minutes. If they don't want to see what I can do it usually seems like it's because they don't know how to judge it, and thus aren't who I'd like to work with.
This doesn't even come close to scaling when your applicant pool is 100 (or more) times the size of your interviewer pool. You have to have some quick filtering method, or you'll never get anything done.
It's not clear what he is doing to figure out which of his applicants are talented. That's still something important to do, even if you disregard schooling credentials. Disregarding schooling credentials has some warrant in research on company hiring procedures, but as long as you are blessed with more applicants than jobs, you still have to figure out whom to hire. I suggest using work-sample tests to hire, and backing up those work-sample tests with a general mental ability test whenever that is legally permitted. The full rationale for my advice appears in a previous comment, a FAQ post I developed for HN that appears to be my all-time most popular comment here.
When people learn things by themselves they tend to focus on what they love the most and have a tendency to ignore what they don't. Formal education forces you to learn all areas that are covered and often bring things to light that are very useful, but would often be overlooked in selfstudy.
So formal education provides a base-line level of exposure to a lot of topics, what a student chooses to do with this level of exposure is what will determine wether they will succeed.
I'm a Computer Science dropout myself, but I do work with a couple of people that graduated Ivy League schools (one of these schools is even mentioned in the article). What I did find out is that no matter what school you graduated or no matter what your credentials are, if you're always driven by curiosity ("hey, how does this work?") and always eager to actually build stuff that other people use than the differences easily fade out.
If you have some method of generating a higherEV applicant pool then by all means do it and print the money.
As Peter Thiel so eloquently put it, I inadvertently gave myself a dunce cap.
I've got a good hunch what that college is. A little hint: it was one of the top three Gates mentioned in "The Road Ahead" that MS regularly hired from, and with good reason.
(Although, honestly, a comparison to Harvard can't do the prestige of YC justice. It is far harder to get into YC then it is to most any college.)
A doctor wouldn't be too great if all he has done is read a lot of books, and attended a lot of classes but hardly treated anyone.
Even when it comes to things like law and medicine, practice and experience are vastly more important.
Yeah this is just pandering to the HN crowd. Also, come on, put some effort into that article. Say something that hasn't been said already.
A degree is honestly one of the least useful metrics for actual talent out there. Its value is basically limited to showing a tolerance (but not necessarily an aptitude) for bureaucracy and corporate mind games.
I don't live in San Francisco but everything I can tell about the cost of living shows me that a $100,000 salary in SF is roughly equivalent to what, $45,000 here in Atlanta, GA. (http://www.bestplaces.net/col/?salary=100000&city1=50667...)
Which is certainly a good salary for a college grad but it's NO WHERE NEAR "overpaid", in my opinion...
Living in SF: Eating out at restaurants, buying the latest iPhone, plane tickets, clothes shopping all relatively cheap.
Living in Atlanta: Getting a big house in a desirable neighborhood, parking are cheap.
So if you'd prefer to consume more real estate and real estate dependent goods, you should prefer to live outside boom zones. If you like to buy experiences and consumer goods, you should live in the boom zone.
Interesting to think about how the same kind of market differentials exist for companies in the area. People are super expensive (salaries, recruiting and retention, etc.). Real estate is somewhat expensive (but, not that expensive; even at $7/ft2/mo peak, giving someone 200ft2 vs. 100ft2 isn't going to kill you -- and you can get cheaper RE in some areas, especially if you get bigger areas. I'd kill to work near VMware.). Computers and outsourced (outside the Bay Area) services are cheap. Buying people out of their houses outside the Bay Area would presumably be cheap ($50k underwater on a house in Ohio is a big deal to some people, but $50k is a reasonable hiring cost for a senior developer).
Also, interesting how similar differences exist for VC funded vs. bootstrapped companies. (AWS is 3-10x more expensive than buying hardware and putting it in colo, but takes less time for some things (and more for other things...), but less upfront cash cost, and can scale)
I have a cushy job in Louisiana that pays me right at six figures and allows me to work only 15-20 hours a week most of the time, in my extra time I run a software consultancy that pulls in several thousand dollars a month as well.
This means for me to live the same lifestyle in SF I'd have to make $250k per year or more.
Even with that said I actually just accepted a job in the bay area and took a pay cut because I want to be around people who make me better and there is no better place to do that in tech.
At 100k/year eating out at restaurants, buying latest iphone, plane tickets, clothes shopping, etc are all relatively cheap most anywhere, aren't they?
There are plenty of Atlanta people who fall into the real estate trap, and it is a trap, but there are also plenty who live in slummy east atlanta, or get a reasonable condo/apt in midtown. Leaving them with relatively huge amounts of disposable income for experiences and shiny things.
Let me break down the math (all approximate):
SF: $100k/year income, $24k/year rent, $45k/year taxes, $31k/year disposable
Atlanta: $50k/year income, $8k/year rent, $20k/year taxes, $22k/year disposable
So if you live in SF, an iPhone is 1.6% of your disposable income. In Atlanta, it's 2.3%. That makes it "cheaper".
However, $24k/year in SF probably buys you a lot less house than $8k/year does in Atlanta. The SF real estate market is stupid.
And also, I don't believe it scales 1:1. The developers I know well here, 5 to 7 years out of school, nearly everyone in Atlanta is making close to 100k (almost all +/- 10k). Developers with similar positions and experience aren't making 180-220 are they?
Perhaps I'm wrong, maybe SF really is the promised land, but the numbers have never worked out on any positions I've looked at. YMMV of course.
The absolute win seems to be to work in Silicon Valley for 3-5 years, accepting a low "house" standard of living while enjoying consumer goods and travel, and then take your $100-150k/yr salary (and history of working at top companies) to do one of two things:
1) work remotely for top companies from a place like Seattle for $100-120k/yr (or, if you want to optimize even more, move to Thailand or something and work remotely for $60k/yr)
2) Found a startup, deferring as much compensation as possible into LT capital gains. Being much easier to raise money in Silicon Valley makes up for all the other things. Potentially open an engineering office outside the Bay Area to hire people who chose path #1.
$100k/year income, $8k/year rent, $20k/year taxes, $72k/year disposable
Outside of tech, where presence matters more, your scenario probably is fairly realistic though.
[1] Actually, I'm not. I took my ~$120k salary to another state and worked from remote for 3 years, getting the lower cost of living combined with the San Francisco salary, and giving myself an "effective" raise of about 80% (it wasn't Atlanta-cheap or it would have been even better). I kept everything well documented, but they still knew they couldn't easily replace me. YMMV.