There is no doubt that if someone's parents had the means to give them a computer, and that grade school student or high school students was able to start practicing the craft of programming early, they will have a huge leg up on someone who didn't have that opportunity. For better or worse, that's the world that we live in. Accept it, and move on.
OK, you weren't someone who had the opportunity to learn Cisco IOS at an early age, and was configuring core Internet backbone routers as a job and wearing a pager in high school, before you started at MIT as a freshman. OK, you're not someone who contributed so much to the Linux kernel in high school that you were invited to the annual Kernel Summit, which brings together the top 75 or so linux kernel developers, the summer before you started at MIT. These are two real people that I know. There's nothing I can do to change society to make things "fair"; and there's nothing you can do about either. So stop whining about it.
I've looked at LockeWatts's resume, and the problem as someone who has been a hiring manager, is there's absolutely no signal in his resume that he would actually be a someone who could "compete with the best of them". He's made that assertion, but lots of people have made that assertion. And while he might be really bright, unfortunately, I've met many people who claimed to be super bright, but then when I asked them to code up a simple function on the whiteboard, they couldn't do something incredibly basic.
Furthermore, although it will no doubt be painful for him to hear this, I very much doubt he is a rockstar. He might have the potential to be a rockstar, but takes a huge amount of practice to get there. It is rare, and no doubt requires privilege, for someone to have that status right out of college, or in the cases I detailed above, before they even started college.
The good news is that this is something that time and experience, and a lot of determination on Colin's part, can fix. You can't change your family circumstances; but you can control how much time you spend honing your art and your craft. Sure, you need to focus on bringing home your biweekly paycheck. But you can control whether you go to movies, or go out drinking with your buddies, or whether you spend that working on open source projects, or learning new computer languages, or taking time to read self-help books to do what Stevey Covey called "Sharpening the Saw" (cf 7 Habits of Highly Effective People).
Maybe it will take you an extra 2 or 3 or even 5 years. But you can give yourself rockstar-like skills and experience, if you are willing to make the appropriate choices and sacrifices.
I'm not sure the article is intended to be targeted towards people who want an excuse to blame for their lack of success. I guess it is aimed at employers to try and make them consider context and circumstances when viewing somebody's job application.
The problem with saying "Life is unfair. Deal with it." is that this argument could be used to justify many things that we regard as outright wrong. Born into slavery? Can't get a job because of your skin colour? Wrongly accused of a crime? "Life is unfair. Deal with it."
At some stage somebody has to say "life is unfair, how can I make it a little fairer?" or the problem will simply become self fulfilling.
Why should an employer consider context and circumstances? They want to hire a best programmer they can for the money available to them. A sob story about how someone hasn't had the luck to get the experience to achieve rockstar status before they graduated as an undergraduate doesn't change the fact that if I'm a founder of the startup, or a hiring manager I am trying to optimize the chances of success of my startup or my team. I'm not a social services agency.
Because if your startup is just another way for people to share pictures of cats, you can get things done perfectly well with a strong candidate from a state school instead of wasting months of time and thousands of dollars per month of burn rate on Stanford and MIT graduates.
I would guess the pragmatic answer would be that you could discard good candidates because of such reasons. However it may well be that there are enough good programmers who do meet your criteria that it is a benefit (in terms of time) to just ignore those that don't.
There is a broader issue though. If certain trends in hiring (that may be partly perpetrated by HN and the blogosphere) are preventing good people from getting jobs (to what extent this is true is up for debate) then what can be done by either individuals or society at large to somewhat reverse that?
Tech has always been proud to call itself a relative meritocracy compared to other more mature industries. As it matures how would we prevent the industry falling down similar pitfalls?
> "Why should an employer consider context and circumstances?"
Because we aspire to live in a world where we're not always entirely self-serving. Because a world where we operate strictly based on a hard cost/benefit ratio is really unpleasant.
> "I'm not a social services agency."
Neither am I, yet I still find ways to do a little bit of good in the world. The idea isn't "stop hiring from top schools", it's "take a look at people outside the top schools and give them a chance to prove themselves".
The articles you quoted about people being courted, as opposed to needing to find a job, apply to very few college Juniors. It doesn't matter whether you're at an Ivy League school or somewhat lower tier school.
You're going to have a much harder time getting hired at a startup, mainly because a founder can't afford to take any risks. And an unknown quantity (which is what most college Juniors are) is a risk, by definition. An Ivy League degree might make a difference, but at a startup, you're going to want to optimize for the very best people you can find, and that's in general going to be people with a lot of experience (not just in technical matters, which is why being interested in learning about business and legal issues on the side is no bad thing).
Also, while I wasn't at Google during the period when it was growing at an astonishingly fast rate, the stories that I hard was that they were taking busloads of candidates from schools such as Stanford (literally; they would bring them in buses for interviews in an essentially production-line fashion). I talked to someone who told me how hard it was interview a half-dozen people in one day, and then having to keep track of it all to write up the interview reports.
For companies going through a huge growth spurt, they are going to inevitably take some shortcuts to maximize yield, and lower the burden on an insufficiently staffed HR and interview-qualified engineers to do the bulk hiring. And stories about the hiring practices of companies who are going through that growth spurt might not be accurate when the companies' growth rate has slowed, and they can afford to be a bit more deliberate about their hiring process.
I've heard a large number of wildly inaccurate (at least from my perspective, only having worked at Google for 2.5 years) stories about how hiring works at Google, and I sometimes wonder if they are stories that reflected an era from a previous stage in Google's evolution as a company, and yet, because they are great stories, they keep on getting retold, even if in the end they are actually harmful for people who believe they are still true.
"I've looked at LockeWatts's resume, and the problem as someone who has been a hiring manager, is there's absolutely no signal in his resume that he would actually be a someone who could "compete with the best of them". "
It might surprise you to hear I'm happy to hear that. Tell me what it's lacking, I want to improve it.
"but then when I asked them to code up a simple function on the whiteboard, they couldn't do something incredibly basic."
What's your metric of incredibly basic?
"Furthermore, although it will no doubt be painful for him to hear this, I very much doubt he is a rockstar. He might have the potential to be a rockstar, but takes a huge amount of practice to get there. It is rare, and no doubt requires privilege, for someone to have that status right out of college, or in the cases I detailed above, before they even started college."
Okay. That doesn't really hurt, because I'm not asking for someone to just blindly accept that I'm amazing because I wrote a blog post. I want the opportunity to prove that I'm capable, that doesn't happen if you don't pay attention to my school.
"Maybe it will take you an extra 2 or 3 or even 5 years. But you can give yourself rockstar-like skills and experience, if you are willing to make the appropriate choices and sacrifices."
Besides working on my personal projects, working, getting an education, what else is on that list? Just more of the above? I ask that honestly, I want to know what you think will help.
"Tell me what it's lacking, I want to improve it."
What's missing is experience, or at least evidence of experience. That's OK; it's not your fault. There are design decisions I made in my first major large-scale programming project (and by major I mean requiring more than 10 person-years of effort) that I regret to this day. This is after graduating from MIT with a bachelor's degree and straight-A grades, including several graduate-level classes, and after working as a systems programmer part time during the school year, and full-time during the summer months for three years. I made mistakes which required the experience which only time and exposure could bring me, and I didn't have the opportunity to do large-scale systems work before I my college or high school career. (That's OK, most of us didn't; it's only the few lucky people who have.)
But that experience is necessary to be a "rockstar" who doesn't need to go look for a job, and who is courted. Very few people fall into that category right out of college, and when you say that you can compete with them, that's either arrogance or ignorance which is speaking.
So any job that you get is going to be an entry-level one. That's fine. We all have to start at the bottom at some point; it's only the incredibly lucky who are able to do this before or during the college years.
This brings me to the other thing I really want to say. In order to rise to the top of the heap, you need both opportunity (aka luck) as well as hard work. For some, the luck comes as an accident of birth; for others, it comes later in life. For me, the fact that I happened to be in the right place at the right time so I could become the first North American Linux Kernel Developer was definitely luck. But the fact that I was willing to pour all of my free time for several years into Linux was a vast amount of hard work was necessary or that opportunity would have completely passed me by.
The fact that I was able to get into MIT, and my parents were able to extend loans to me so I could attend, was certainly a matter of privilege. But the straight-A's came from averaging 4-5 hours a sleep a night, and going everything I could to learn everything I could, and work on as much as I could, during that time. The effort did come with some sacrifices; both socially, and from a health perspective (I became horribly obese due to the lack of sleep, lack of exercise, and vast amounts of non-diet Coke which I drank while honing my craft during all available free hours). I can't say that I would necessarily recommend the choices that I made to everyone. If you aren't sufficiently passionate about honing a piece of code to perfection, you're not going to stay up until 2am making that happen; and you won't be happy doing what you did after ten or twenty years. I'm fairly content with the choices that I made, even though they did come with drawbacks. (It's only now, 20+ years later, that I'm finally losing the weight so that shortly, I will no longer be obese, but merely overweight.)
So before you say that you want to be a rockstar, make sure you understand what the costs might be. If that really is your passion, then work really hard, so that when the opportunity comes your way, you can recognize it and take advantage of it. The fact that your opportunity didn't come as an accident of birth is just bad luck; but you never know when your incredibly great stroke of good luck will come your way, and the question is whether your skills will be ready to take full advantage of it when it does.
(I will note by the way, that my passions didn't extend to just technology; I also spent time listening to management and self-development books on tape when I commuted to work --- and I took advantage of a benefit from working at MIT as a staff member at the time to take a class every semester or two at the MIT Sloan School, where I learned took classes on negotiation, law and technology, etc. This was also on my spare time, while I was earning much less than my peers who had gone to work at big companies in the private world, since I was working for MIT that underpaid its technology staff by a factor of two or more at the time. So I was sharing an apartment with two other people, and driving the cheapest car I could find at the time. So I was certainly privileged, and I was lucky --- but at the same time, I very much paid my dues. I never graduated from MIT expecting that I would be recognized as a rockstar straight out of college!)
Internships are much more common than they were even 10 years ago, so it is no longer true that only a few people get entry-level experience before they are done with college.
"But that experience is necessary to be a "rockstar" who doesn't need to go look for a job, and who is courted. Very few people fall into that category right out of college, and when you say that you can compete with them, that's either arrogance or ignorance which is speaking."
I didn't define rockstar that way, and I've realized I had a complete misconception how people would perceive the term.
I didn't mean that I can compete with Google's senior architects, or you, or anything of that grandiose nature. I'm positive I can't.
I meant in comparison to all other college Juniors, I think I can compete with the best of them.
You should read the Joel on Software article you referenced very carefully, specifically, the bit which says:
"Astute readers, I expect, will point out that I’m leaving out the largest group yet, the solid, competent people. They’re on the market more than the great people, but less than the incompetent, and all in all they will show up in small numbers in your 1000 resume pile, but for the most part, almost every hiring manager in Palo Alto right now with 1000 resumes on their desk has the same exact set of 970 resumes from the same minority of 970 incompetent people that are applying for every job in Palo Alto, and probably will be for life, and only 30 resumes even worth considering, of which maybe, rarely, one is a great programmer. OK, maybe not even one."
Did you see what Joel did there? He's basically admitted that rockstar programmers are present in the population that he's interested in hiring at a rate of less than 30 to 1. So don't focus on the rockstars; it was probably a mistake for you to mention it in your blog post, because the reality is, you (or anybody else) has no idea whether you have what it takes to be a "rockstar programmer". Just settle on being a solid, competent developer, and then build on it from there.
The reality is that to achieve true greatness in almost any profession, you need to be lucky (either in the genes you received in the case of atheletics) or getting the right opportunity, but you also have to work really, REALLY, hard. People don't necessarily talk enough about how the Beatles were perfectionists, and how hard they worked on their craft and on their recordings; instead it's a lot more fun to talk about being a rock star, and all of the bene's that come from being a rock star.
So I'll repeat what I said --- work hard. Make a name for yourself (and not as a whiner). Contribute to the community. Be passionate about you chose to work on, so that you think it's wonderful to spend 60+ hours of your free time working on it. If you're not passionate about your day job, then start looking ASAP to find a new working situation for which you can be passionate.
Then be patient, and watchful for your specific opportunity to come by. And grab it when it does.
There is no doubt that if someone's parents had the means to give them a computer, and that grade school student or high school students was able to start practicing the craft of programming early, they will have a huge leg up on someone who didn't have that opportunity. For better or worse, that's the world that we live in. Accept it, and move on.
OK, you weren't someone who had the opportunity to learn Cisco IOS at an early age, and was configuring core Internet backbone routers as a job and wearing a pager in high school, before you started at MIT as a freshman. OK, you're not someone who contributed so much to the Linux kernel in high school that you were invited to the annual Kernel Summit, which brings together the top 75 or so linux kernel developers, the summer before you started at MIT. These are two real people that I know. There's nothing I can do to change society to make things "fair"; and there's nothing you can do about either. So stop whining about it.
I've looked at LockeWatts's resume, and the problem as someone who has been a hiring manager, is there's absolutely no signal in his resume that he would actually be a someone who could "compete with the best of them". He's made that assertion, but lots of people have made that assertion. And while he might be really bright, unfortunately, I've met many people who claimed to be super bright, but then when I asked them to code up a simple function on the whiteboard, they couldn't do something incredibly basic.
Furthermore, although it will no doubt be painful for him to hear this, I very much doubt he is a rockstar. He might have the potential to be a rockstar, but takes a huge amount of practice to get there. It is rare, and no doubt requires privilege, for someone to have that status right out of college, or in the cases I detailed above, before they even started college.
The good news is that this is something that time and experience, and a lot of determination on Colin's part, can fix. You can't change your family circumstances; but you can control how much time you spend honing your art and your craft. Sure, you need to focus on bringing home your biweekly paycheck. But you can control whether you go to movies, or go out drinking with your buddies, or whether you spend that working on open source projects, or learning new computer languages, or taking time to read self-help books to do what Stevey Covey called "Sharpening the Saw" (cf 7 Habits of Highly Effective People).
Maybe it will take you an extra 2 or 3 or even 5 years. But you can give yourself rockstar-like skills and experience, if you are willing to make the appropriate choices and sacrifices.