Most Googlers will tell you that the best thing about working there is having the ability to work on really hard problems, with really smart coworkers, and lots of resources at your disposal. I remember asking my interviewer whether I could use things like Google's index if I had a cool 20% idea, and he was like "Sure. That's encouraged. Oftentimes I'll just grab 4000 or so machines and run a MapReduce to test out some hypothesis." My phone screener, when I asked him what it was like to work there, said "It's a place where really smart people go to be average," which has turned out to be both true and honestly one of the best things that I've gained from working there.
A lot of the observations in the article fall out of this, but in ways that are less sound-bitey. Google doesn't enforce set working hours - you can get in as late as you want (the latest I've been in is around 4:15 PM, but that was because I had a DMV appointment, the latest from just not waking up was about 2:00), stay as late as you want (my latest was about 1:00 AM, though I worked from home until 6:00 AM last Thursday), duck out during the day if you're meeting a friend or have a date or need to pick a sick kid up from school, or work from home as necessary. You also don't have a set workload: you do as much work as you think is appropriate and then go home.
The thing is - you are surrounded by incredibly intelligent & fiercely hard-working people. Many of them were used to being top-dog at whatever institution they came from before - hell, many were top dog (we have a lot of ex-startup-founders; there's a good chance that you're working with someone that's founded a company or originated a successful open-source project). And that can be a big adjustment, and the types of folks that Google typically hire usually react to not being on top by working harder. It's up to you to set limits on the amount of time you're willing to spend working, and most new hires at Google are used to being limited by "the amount of work my boss/professor/thesis advisor throws at me", not by the number of hours in the day.
Not all hours are created equal. In past jobs where I've worked set hours (whether 9-5 or 10:30-6:30 or whatever), I've found I spent half the workday surfing the Internet and then didn't have time for a life anyway because of the commute and set schedule.
I value being able to duck out of work for 2-3 hours mid-afternoon because a friend of mine who I haven't seen in 7 years is passing through on her way from Marin to San Diego. I value it a whole lot more than the actual 2-3 hours of work time that I'll presumably be making up later. I'll happily work 2-3 more hours in the evening if it means I can go out for dinner & a movie with my friends at the normal time and still sleep in until noon.
I don't have kids, but my teammates that do take similar advantage of this. If their kid is sick, they'll work from home instead of needing to scramble to find childcare. If their kid pukes all over their teacher in day care, they can duck out in the middle of the afternoon to pick him up. If their kid has a school play in the morning, they can come in late, no problem.
You're responsible for your work product. If you feel you need to spend extra hours to achieve it, then do that. If you feel you can do it by working smarter (which is absolutely possible and encouraged with some problems, and not really possible with others), do that.
Looking at both sides of this: the common complaint in most traditional companies is being under the thumb of the beancounters, and work being shipped incomplete, or buggy, etc. Or people working insane hours to make things happen.
It's a wish then for many in technology to eliminate this problem. At Google it appears this has happened. However, it seems to have introduced an entirely new problem...with no communication with end users, and no real deadlines, google's user facing software is often lacking obvious features that don't get worked on for ages...and forums full of users complaining without much of an acknowledgement or response from Google. The lack of focus and community interaction on certain Google products is at times bizarre.
It's an interesting note that you're damned if you do or damned if you don't. But it's very interesting to see both sides of this.
Good that they're intelligent. Fiercely hard working -- not so good. I don't want to be surrounded by workaholics, no matter how intelligent they are.
Ultimately, nobody monitors when you are in the office. All that matters is what you get done.
If they don't compensate by bring work home and continue doing it at home, than this is definitely a good thing.
"Ultimately, nobody monitors when you are in the office. All that matters is what you get done."
This is a better attitude than micromanagement, but it can still be abused if you are expected to do so much work that it forces you to work long hours, even if you are not explicitly told to work long hours to do it.
On the other hand, if you are skilled/smart enough to get done in a few hours what it would take someone less skilled to get done in 10, then you should (in theory) be better off under such a system -- except your managers could always compensate by giving you yet more work.
At a healthy workplace, the amount of work you're expected to do will fall within the range of what you are capable of doing and what you want to do.
I am getting the sense that Google is in fact such a place, and don't expect there are many deathmarches there. If there were, I doubt Google would be able to retain the caliber of talent it attracts.
Anyway, I'd still call even someone merely described as "hard-working" a workaholic -- meaning that they are probably working an excessive number of hours, and have an unbalanced life/work ratio.
The amount of hours Americans work compared to much of the rest of the world is already insane. It's quite typical for employees to be expected to work more than 40 hour weeks -- 50 or 60 hours is much more the norm. So when someone's called "hard-working" that means that they're probably putting in even more hours than that.
I don't even want to imagine the hours a "fiercely hard-working" Google employee puts in to compete with other brilliant employees who've all just gone from being exceptional at former jobs to "just average" at Google.
And don't even get me started on the startup rat race.
I'd take a cushy, "boring" job where I can work a sane number of hours without needing to impress anyone over an "exciting", high-pressure job at some trendy corporation any day.
I can find plenty of challenge and fulfillment outside of work, thank you very much. My life outside work means a lot more to me than any trinkets they can dangle in front of me at work, even if it is 4000 servers I can run map/reduce on at whim.
As for "accomplishing stuff", any company where you have to put in more than 40 hours a week to accomplish what you need is dysfunctional.
When I worked at Bank of America, I spent about 6 hours a day dealing with bullshit and 4 hours a day working. At Google, there is no bullshit. I show up and can work for 8 hours. That makes me twice as productive even though I'm actually working less.
(And, with all the great internal libraries and software... well, it was depressing for me to realize how little "infrastructure" software I would need to write.)
I get the impression from outsiders that they hear a lot about how great Google is and then assume that they can't work at Google, so they then decide that what Google does is actually bad. The flaw is thinking that you can't work at Google. You can! Apply, brush up on your algorithms a bit, and start enjoying the amazing coffee!
Trust me, I would. I would actually do a lot better. I am definitely far more productive people around me. And I can build stuff and do my regular work both at the same time. Every manager I have every worked with says, they have seen no one like me before. I have built endless stuff without getting anything in return.
Like you I'm also frustrated dealing with all the large corporate non sense.
But I don't have Ivy league college degree, and yes I am not too much of an algo guy.
Well, I think people like despite being having all it takes can never work there. You see I can research, think and build quickly. I can push long hours, I can do weekends. I can virtually work and solve any problems by reading manuals. I have worked at back breaking deadlines, delivered stuff when others said it was impossible.But I don't remember math theorems. And am not too much into text books. Unless those books are like OnLisp(Paul Graham), Higher Order Perl(Mark Jason Dominus)... Kind of books.
People like me can't get hired at Google!
Umm. This is exactly what Google is looking for.
Read Steve Yegge's post on what is typically asked in interviews: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...
Yes, you will need to know what a binary search is. But you can read "Programming Pearls" and that will be enough. (Good book, BTW.) You don't have to be an algorithms expert, you just have to be competent. It's not as hard as you think it is.
The recruiter agreed with me, FWIW, and got the results thrown out without me even asking, and I got the distinct impression that she and many other recruiters at Google are extremely frustrated at the how the technical interviews are conducted. In the end I couldn't be bothered, as I wasn't particularly interested in the first place and had another offer on the table (took less time from start to finish than it took Google to arrange the first phone screen).
Anyway, my recommendation to anyone that interviews at Google and think the interviews are unreasonable: If you want to continue the process, detail any issues to the interviewer, and give them a chance to fight your corner. Chances are good that they will as long as you give them ammunition. Of course that assumes you actually do know your stuff and isn't just trying to sneak one past them.
I remember early in my career, before I had the chance to really build an application of any major size, I was given the opportunity to look at the source code of an application that I used frequently. I always felt like it was built by geniuses working well beyond my skillset, but once I saw the code, I remember thinking "that's it?" It wasn't the flawless work of art I imaged. It seemed like something I could have probably written myself.
Google has always had the same aura to me. It feels like the people there are working on things I could never comprehend, building flawless works that I could only dream of writing. Even though by your description I think I might actually be a really good fit, the idea of working at Google remains intimidating for some reason.
The same thing when I started learning music. First every time I saw some one playing an instrument it looked like work of geniuses. When I started playing myself, I can now realize it is not that great after all.
Well, like they say.
Nothing is as good or as bad as it originally seems.
(As for level, I came in at 4/7. Out of college, people start at 1 or 2. So I'm not worried about the lack of a degree affecting my options or advancement at Google. If it does, Google will pay for the classes I need to take to get it :)
It turns out that living outside of the bay area/NYC is a fantastic filter for recruiters. Now they don't talk to me unless they actually want me.
That certainly wasn't my motivation for expressing my concerns. I guess I've just been bitten by having worked at too many dysfunctional corporations, and aren't as ready to believe the constant startup/corporate cheerleading that tends to go on at these places.
I've worked with too many people who work themselves to death for more money, or because they can't stand being with their family, or because they really just have no life outside of work -- their job has become their life.
It would be one thing if they were doing something really fulfilling and worthwhile, such as working for a charity or NGO that tries to help people, but it's quite another when their entire function in life comes down to helping the corporation make more widgets or sell more ads so it can make more money.
If you are fulfilled working your ass off in such an environment, you'd better be working on some terribly fascinating problems every day, or there is something wrong.
You were a pernicious negative force in moving our quantitative industry. We don't want to apologize for our employers which is why many of us don't work for Google.
Enjoy your perqs. We're glad it's all that took to make you a distant memory.
Are there effectively (company) political red lines at Google Inc. that preclude pursuit of solution to problems such as distributed, non-centralized, social networking, or, somehow the engineers unconsciously choose to [only] pursue solutions that fit with the corporations business model?
Like self-driving cars I guess.
Google had at least 3 goes at building decentralized social networking.
As an external observer the one time I've seen behaviour that could have been characterized as avoiding pursuing a solution because of Google's business model is that Chrome has decided not to implement the "Do not track" solution that Firefox has implemented. Google does have some reasonable technical arguments on their side (arguments that are best made by Apple, which doesn't really have a lot of skin in the tracking game). Still, if you want to look for political interference that's where I'd look, instead of expecting yet another tilting-at-windmill quest to build an decentralized social network.
 http://code.google.com/apis/opensocial/ (Ok, OpenSocial isn't decentralized. But it does allow application portability between social networks which certainly has the effect of decentralizing power)
Your examples are all things that were promised during the hiring process, not your own experience. This raises a red flag for me.
I also work on a team where I am the only one without an advanced degree, and all but two of the others' have Ph.Ds. Two of my teammates graduated college at 20. Many of them have published.
And I get to push cool things out to the results page with fairly little bureaucracy. Sometimes I even get to do it in response to HN users' comments:
The thing is, if I'd just said "I get to do this, and I get to do that", this comment would've read "Yes, but I doubt you're a typical Googler. I doubt that everyone at Google is always running interesting-sounding side projects." Damned if you do, damned if you don't.
(Truth be told, not everyone at Google is running interesting-sounding side projects. The point is that everyone at Google has the ability to run interesting-sounding side projects. Whether you make the time to do it is up to you.)
Is there any way you could give your first-reaction answer for "what is the worst thing about working at Google?"
I think this has a chilling effect on employees' participation in outside fora, leading to isolation between the internal community and the "real" Internet community. We have a lot of internal projects that could easily be Free Software, for example, but the person that wrote them got enough intellectual gratification from the internal community, and so never bothered. This is why you see people join Google and then disappear from the Internet. Google's internal community is like the Internet, but without all the bad stuff.
> For me, the worst thing about working for Google is
> how much I know about the future.
Although, chances are, if Google (or anyone else) ever invent time travel, you'd already know about it.
My first reaction would probably be "communication overhead". It is a big company, and while we try very hard to work like a startup, it usually means that you have to interact with a lot of teams to get anything substantive done. The great thing is that you get to interact with a lot of very smart people; the hard thing is that you have to interact with a lot of very smart people to get anything done.
I had a back-and-forth with another (ex?) Googler yesterday about this:
I came to Google and said, "how refreshing!" VA Linux Systems was too small (and taught me an awful lot about how not to run a startup). IBM was too large (and awfully bureaucratic). Google for me is a very nice mid-sized company.
If you care a lot about programming languages, you're going to be frustrated. Python: deprecated in production. That leaves Java and C++, which are le suck. Go is genuinely decent but none of the legacy projects (what you'll be tasked on in your first 18 months) are in it.
If you don't care about PL quality or actually like reading thousands-of-lines-long legacy C++ modules (some people do, and it's great for the world that "Sherlock Holmes" types exist).
Google has a lot of pluses, too, and if you get put on a good project it's pretty neat. Plus, the food is awesome (better than what most restaurants serve).
Working on (what you saw as) a legacy project was your experience. My experience was far different (I'm sure many others would agree).
Also, I know plenty of people that started working on non-legacy projects, and I'm working on a legacy project and find it fantastically fulfilling.
To be reasonable about it, I understand this impulse. Python is a pretty poor language to design large-scale systems in. I don't like C++, but one thing I've learned in using Scala and Ocaml is that static typing is a major asset, and that dynamically-typed programs can rot very quickly (even if written in the functional style).
> Python: deprecated in production.
I have no idea where this idea came from.
> the legacy projects (what you'll be tasked on in your first 18 months) are in it.
This is not an accurate generalization. I've been developing completely greenfield Java and Python code since about 3 weeks into starting.
> If you don't care about PL quality or actually like reading thousands-of-lines-long legacy C++ modules
I'm quite curious what role had you "reading thousands-of-lines-long legacy C++ modules" - all the typical C++ infrastructure modules I've used (eg Bigtable) have tons of resources to learn them, and after that I typically find what I need reading auto-generated docs (doxygen/javadox/pydoc/etc).
That really might be OK and might work if you are unmarried, without kids and living alone.
As you grow up to take more responsibilities. It definitely makes more career and financial sense to..
Be best among the average than to be average among the best.
Speaking from experience, Google's offer was lower than what I had in mind. But I couldn't find anyone else that would pay me more. That means I'm probably making the right amount of money. And the good news is, I know what I need to do to ensure that I get good raises. That's something that's never been clear to me at any other company; it was all "you did really well this year! thanks!" and then "oh sorry, no money for raises or bonuses". Google does not do that. It's the first place I've worked where I've thought, "wow, I won't have to quit in two years".
Also, you're not competing against other people, so being average is fine. To get promoted, you have to be good at your job and continually do good work. That's it. You don't have to be Guido to get promoted.
Nice perspective. I definitely agree that Google is probably paying best among all.
My point was, If I can be the best guy in a team of average everyday software engineers. It makes my appraisals, appreciations and growth far more easy. At the same time if I'm average despite my best efforts and then it makes things a little difficult for me.
One more question to you. Unless there is a next 'Google' aren't you worried that you are already in the highest paying company(Forgive my ignorance If Im wrong, or there are companies are that pay more than Google in the US) and moving onto something else may not get you a better hike than what you have now?
I don't think this is true; you'll be working on projects that are appropriate for your level, and improvements you make to these projects are what your promotions will be based on. If you're new to programming, your first task might be to rewrite library X to use library Y. If you're a PhD, you might be asked to make Google's indexing 10% more efficient. If you do a good job at the tasks you choose, then you get promoted. You don't have to be the smartest to be well-paid. Google needs average people as much as it needs geniuses.
One more question to you. Unless there is a next 'Google' aren't you worried that you are already in the highest paying company and moving onto something else may not get you a better hike than what you have now?
I'm not worried about this. Google has a career path that will last me for as long as I want to be at Google. If someone offered massively more money, I might leave. If Google is paying me market salary, then I don't want to leave. It's the best job I've ever had.
Someday I would like to work at a place like that.
I think even in the US you're still largely benefitting from the growth rate - once Google's growth slows down, and it will, Google will struggle with retention just as much as other large companies.
Just-under-geniuses -- and this is my observation only, as a guy who didn't make the cut to go to college when I was 12 -- have a desperate desire to prove their ability to whoever's in control. The closer you were to sparkling algebraic brilliance, or getting on Jeopardy at age-eleven, the harder it is. It can wreck your home life and your family.
The desire to prove your intelligence to your surrogate father figure is a sickness.
When you can run any kind of startup you want, and live wherever in the world you want while you're doing it, why's it better to be in an office that lets you come and go, and is filled with geniuses, but still looks and feels somehow like a preschool for kids with Asperger's?
Because most people are risk averse.
I'm asian, and most of my asian friends are highly risk averse. I think that the general tendency to favor medicine and engineering as careers are reflections of choosing stability than natural propensity.
To launch a startup, you need some sort of edge. But more importantly, you need to be risk tolerant. You need to be able to take the chance. Especially when you have the choice between relaxing at a job that pays upwards of 1M/year, to give up the lifestyle to pursue a startup really takes an adventurous spirit that runs counter to most animalistic tendencies.
I was talking with a friend last night, when I found out she got the exact same score I did on the SATs: 1590. She is younger than me, working menial jobs in the immediate post-college funk, and went to a no-name liberal arts college instead of even applying for big names like MIT or CMU.
And it occurred to me that I know 3 broad user-populations among my friends: 1570s, 1590s, and 1600s (yes, I categorize my friends by SAT score and have a sample size of at 3-4 in each; I told you not to take this post too seriously). The 1600s are grinds, but smart grinds. Think of Hermione Granger from Harry Potter. Google is absolutely loaded with these people - on my team alone are two people who graduated college at age 20 and numerous Stanford/UIUC Ph.Ds, and I've worked with IMO gold medalists, etc. My friend's boyfriend (also a Googler) scored a 1600 on his SATs.
The 1570s usually end up being reasonably happy in high-level professional jobs. They get a nice six-figure income, and then they concentrate on other things like their family. And they don't worry about it too much; they're doing just fine.
It's the 1590s that end up being crazily insecure. I know several of them, besides myself and her. And while the more well-adjusted of us hide it pretty well, it seems like there's always this desire to prove ourselves, which seems to come out in the form of occasionally odd behavior and attempts to push the envelope. My friend is always asking me why she's crazy - she's not really crazy, she just tends to make decisions that have an odd form of internal logic that makes sense to her but are probably not what other people would've done. Sometimes they work out, and people herald her as a genius (which isn't really helping); other times they don't, and they despise her as a crazy bitch.
The most famous 1590 was Bill Gates, and you can definitely see this pattern in his business decisions. Not all of us have wealthy, socially-connected parents and lots of money to fall back on.
You're right that this sort of behavior is a sickness, of sorts. And the cure is to realize that it just doesn't matter all that much. Whether you got a 1600 or a 1590 or a 1570, what matters is the people around you and the task at hand. And being smart can help you with those tasks and make it so that other smart people want to be around you, but it doesn't define you. It's a number that one test assigned to you back in your formative years.
As for why Google instead of a startup - it is much easier to realize that these issues don't matter when everybody around you has them too. It's like they fade into the background. Everybody has their 1600 SAT or Ivy League degree or IMO gold medal or past startup or open-source project, and so you can't measure yourself by your accomplishments. And so, if you're smart, you start measuring yourself by whether you're pleasant to be around, or whether you make the lives of the people around you easier, or whether you can understand & make users happy. Eventually this becomes a habit, and - I'm hoping - that can be taken to experiences throughout the rest of your life.
I speak from experience when I say that startups - unless you really luck out and find the right startup - generally don't offer this. It's far easier to lose yourself in the desire to prove yourself when the rest of the world doesn't give a damn about you.
Your story demonstrates precisely the "aspergers preschool" mood described by comment you are responding to: Google is a place where adults compare SAT scores 10 years after the fact...
I'm using the generalization as a form of irony to illustrate the point. Notice that everything from the 3rd paragraph to the end is about how it really doesn't matter, and you shouldn't be defined by the score you got on some standardized test?
(Meta-irony: notice how I also said that 1590s tend to say or do things that have their own internal logic that doesn't necessarily make sense to other people?)
-Said as someone who went to a big name CS place
A digression coming up! You've been warned!
I have a BA from a pretty highly ranked university in Canada, and excelled in academics. However, I always thought it was a breeze for anybody to do really well in. I always thought the Arts were stupidly easy compared to the Sciences. So, I always down-played my performance, because I always knew that, in the end, I had accomplished something very insignificant, despite being in the top 5%; and even despite various professors suggesting I could do really great things and one going as far as telling me I shouldn't be in university "since I already knew all the material".
Long story short, I graduated and, basically, failed in every other aspect of my life, including landing a good career and was getting paid minimum wage for the 2 years after graduating. I left the country, am doing OK now, but learning to program and interested in more of the sciences (lo and behold, right?).
But it is funny how now that I am surrounding myself more with science people and CS/IT people, I feel I have strong proof of how excelling in one subject or area can get to someone's head. I'm glad I never let it get to me. And I think back at the times I wasn't humble when trying to explain some esoteric concept to someone, or when someone didn't explain something properly or simply did not have the knowledge to fully make an adequate generalization of a given concept, and I was very indifferent and critical; I think back and feel bad and hope never to be like that. I'm much more of a humanitarian now, though, and feel a lot more compassion for humanity; for those who act in both bad and good faith.
I apologize for the long rambling post!
Thank you, again.
There are certainly exceptions, and someone who does great at CS and who at the same time manages to get their life balance right AND works hard at being a good programmer can be tremendously good, but they are exceptionally rare, and the longer the CS degree the rarer they are...
People with CS degrees have a "bump" in the jobs they can get. The ones who are really good get hired at better jobs than any that you can offer. Therefore your sample is biased towards people with CS degrees who have failed to get a better job, which means that they have some deficiencies. The better the degree, the better the bump, and therefore the worse the deficiency needs to be for them to remain in the pool that you encounter.
Conversely good people without a CS degree have a hard time getting into those really good jobs, and are therefore available for your sample.
Thus the negative correlation that you've seen between an obviously positive attribute (CS degree) and your hires is a result of your only seeing people in a certain band of desirability as a programming hire, and is not an indication that people who study CS tend not to be good programmers.
I don't believe that premise for a second.
My pre- and post- degree experience is that nobody cares about the degree if you have more than a couple of years worth of experience.
In terms of my ability to get high paying jobs, getting my MSc made no difference. I got great jobs before I completed my degree, and the same after. In fact, the only way my degree comes up in interviews is as a semi-suspicious "why did you bother, with your track record, it's not as if it matters?" For me it was a personal choice, not a career choice, and the research project was interesting.
The reason I didn't complete my degree in the first place, was that it was so trivially easy to find high paying jobs based on my skills and experience (I started programming at five, and did my first paid development at 13) and nobody ever asked about the lack of a degree. I ended up leaving to do consulting and start a couple of companies.
At the same time I also know that none of the places I've worked - including a multi-billion dollar company that certainly had the budget to pay extra well for the degrees if they'd cared to - has placed any preference on people with a CS degree. The few great programmers we've found with good CS degrees have been offered no more because of their degrees than equivalent developers with other degrees or no degree at all. By your argument these people should've gone elsewhere because we'd be offering them well below their market value by offering the same as developers with no degrees, or with say, a Linguistics degree.
That idea just does not mesh with any of my experience.
> The ones who are really good get hired at better jobs than any that you can offer.
The ones that are really good without degrees also get hired really quickly - it doesn't stop me from seeing CV's from, and interviewing, a lot of people like that, many of which we immediately pass on because we know they will get offers much higher than what we're willing to pay.
Sure, I don't see many CV's for people who'd be able to claim $1m+ base, either, but people in that range are so few overall that even if every single one of them somehow have CS degrees it would not make much difference.
It also ignores the issue of the contents of the CS degrees. See below.
> Conversely good people without a CS degree have a hard time getting into those really good jobs, and are therefore available for your sample.
Junior developers or mediocre developers without degrees might face more of a challenge without a degree, but for experienced developers, my experience on both sides of the table is that years of experience matters far more when considering whether or not to give an offer, or when discussing remuneration - both when negotiating with technical managers and when negotiating with non-technical HR people.
> obviously positive attribute (CS degree)
Here you let your bias shine through. Why is it an obviously positive attribute in this setting?
Software engineering is not computer science.
A big part of the problem I see with CS graduates is that most of them don't have the faintest idea about engineering discipline. Many of them have not had any exposure to testing practices; many have not had any exposure to software design methodologies; many have hardly written any programs, and if they do they often only know one language and don't understand how to generalize the concepts (sure, they know the theoretical underpinnings, but often don't know how to translated that into writing code). Far more don't have much domain knowledge in any fields outside pure CS - it doesn't help if they can write code if they need a business analyst to babysit them all the time.
The issue is not that a CS degree makes people bad programmers, but it does very little to make them good programmers and even less to make them good, well rounded software engineers. Many places you can pass through a CS degree without having had more than a passing exposure to programming.
At my university, you could've easily get as much programming experience while completing a biology degree (or pretty much any other science related degree; for humanities/liberal arts you'd have to work a bit harder to get there) as in the CS degree, and that's not unusual.
Personally, I passed through my entire degree with the equivalent of less than 2-3 months worth of actual programming and I picked a few programming courses on purpose because they were interesting to me (e.g. a class on Smalltalk, and a course on compiler construction), but it would've been trivially easy for me to opt for a more math or theory heavy degree and avoid pretty much all practical programming exposure.
And my experience - both from hiring, and from talking to people in the business - is that a lot of people do, and very few go the other way and try to pick subjects that makes them better suited as software developers. Most people that go that way end up picking other degrees - such as going to schools that actually offers software engineering as a subject.
But I'm not hiring mathematicians or logicians or people who are meant to run research projects where undergrads do the programming - I'm hiring software developers.
While it is perfectly possible to combine the two, the important part to consider is that a CS degree teaches you computer science, not software engineering, and while there is varying degrees of overlap at different schools, if you spend your time doing a CS degree you spend a lot of your time 1) not programming or learning about software development skills, 2) not developing communications skills or more business oriented skills that are generally far more valuable most places that needs software developers than the additional skills CS does give.
Over the years I've had far more use for my (natural) language skills and communications skills than I have had for my CS degree. And I've had far more use for programming experience I've built up than either. I don't regret my CS degree, because I get a lot of pleasure out of using those skills on a hobby basis, but if I'd gone back and were to pick a degree specifically to be the best possible software engineer, there's just no way I'd have picked CS degree.
I've had situations where we genuinely had use for someone with a CS PhD, but for most development the CS skills are not that interesting and what you need are software engineering skill sets that most CS degrees simply don't teach. In the cases we've needed someone with in depth CS knowledge, we've in some cases found it easier to pair up someone with the CS knowledge with a good developer rather than trying to find the perfect combination.
As for how it comes up in conversation - look at this thread, it's got 3 people's SAT scores already. It's not like it's particularly taboo. Usually it starts with somebody mentioning how much they hate/miss high school over dinner or a few drinks, and then soon everybody's offhandedly mentioning their numbers.
(Edit: Also, I hope that everyone reading this understands that the numbers, while inspired by real people, are completely arbitrary. I don't really care if the general HN community dislikes, misunderstands, or downvotes the post. I care that the people who would see themselves in the 1590 category, whether or not they actually scored a 1590 on some standardized test several years ago, understand the point.)
A fascinating circle you run in indeed.
He's probably early-20s, fresh out of school, and that's still a huge part of his life experience.
Though remember that most of these conversations happened when I was actually in college (a few even before then, while applying to schools), and I just have a really long memory.
(The conversation with the friend that sparked this musing was last night, but I've been friends with her since she was 14, and so our conversation topics include anything that was fair game back then, which is basically everything.)
Oh then...that makes sense. From the sounds of it I thought you were talking about say...a month ago over lunch in the cafeteria.
"Mmm...this Bruschetta is pretty good"
"Could use more diced tomatoes. BTW, I got 1573 on my SATs, you?"
"oh...1590, ain't that weird?"
"pass the pepper please?"
That's what I was also thinking. I don't think I've talked about SAT scores since I was a sophomore/junior in HS and was taking the SAT. My friends and I have occasionally talked about GRE scores, but that's only because one of my friends tutors/preps people to take it.
of course I didn't bother with the SATs at all, and have never even thought to ask another person what they scored on a standardized test they probably took 10-20 years ago, so I think I find all this fretting over these sort of meaningless academic MacGuffins absolutely fascinating...it reminds me of how many people who went to Tier-1 schools manage to slip in what school they went to in conversation several times a day instead of just saying "when I went to college". It's a weird verbal tick that becomes supremely fascinating (and annoying) once you become attuned to it.
And then it came up again here yesteday:
http://www.youtube.com/watch?v=APV_caBjO60 where Paul Reiche (the guy on the left) manages to slip in that he went to Berkeley every time he talks about his college experience probably 30 years prior. Even weirder, during his time in high school, he spent some time at LHS (Lawrence Hall of Science) and manages to turn that into a Berkely education credit.
Here's a guy who's incredibly accomplished in his own right, I mean he did Star Control and Star control II for goodness sake, and has to turn his time at a k-12 student resource center into a Berkely reference. It's like a weird form of academic credit Tourettes.
By way of comparison, the guy on the right, Fred Ford, manages to not do this and instead actually says "college".
On the flip side, if I ever move out to the Bay Area I'll have to start slipping in random institutes I've been at. "When I was at the Louvre" (I've walked two of the three wings" instead of "some art museums", and "when I studied music at the Music School No. 1 in Yekaterinburg" instead of "listened to a student performance while on vacation", and I'll save my trump card "when I was at Princeton" (I had a business meeting on campus once).
Come to think of it I could mine this sort of pseudo-academic inflation for weeks. Who knew going to the Ontario Science Center when I was 14 could give me so much street cred!
Also your high school level isn't very representative of your overall intelligence.
If I'd been 20 points lower, I probably would have gunned SAT-V hard like the AMC tests and scored a lot higher, maybe making it into one of those silly categories (oh, and is 800m/770v different from 770m/800v?). But I didn't. 1500+ was my stop-worrying cutoff. I don't think it reflects on my personality; I was just interested in other things.
> it just doesn't matter all that much.
In the real world, it doesn't matter at all. Finding cause/effect correlations between SAT scores and lifelong behaviors is folly.
> Everybody has their 1600 SAT or Ivy League degree or IMO gold medal or past startup or open-source project, and so you can't measure yourself by your accomplishments. And so, if you're smart, you start measuring yourself by whether you're pleasant to be around, or whether you make the lives of the people around you easier, or whether you can understand & make users happy.
This is both refreshing and sad. Refreshing because you've recognized that life's qualities are much more important than life's quantities. But, it's utterly sad, because my kids can explain this concept to anyone who asks, and they're in elementary school.
In my world, "not being an ass" or "helping others less fortunate" is considered an accomplishment. You should certainly measure yourself with your accomplishments, just make sure you're measuring what counts.
I've also never seen an adult (well, over 20 yo or so) compare SAT scores, with the possible exception of statistically at DE Shaw. Actually, I think getting >x when you did the SAT 7th or 8th grade (to get into JHU's SET or CTY programs, which IMO are awesome), is more likely to come up in conversations than the normal junior or senior year score (which I didn't take, as I was already at MIT).
GPA in college, which college you attended (and what degree you got), grad school, etc. are the most common, followed by IQ. Although actual professional achievements within a specific domain are far more commonly compared.
The nice thing about being an adult is that most people care about tests which aren't timed, can be retaken many times, and where you get to choose your own test from a wide selection. Some people are more impressed by annual income, some by how cool a tech company you can build, some by being a GM at USPSA matches, some by having filled up a bunch of passports. It's up to you what you care about.
So tell me, what bucket do I fall into? :-)
Personally, I'm not terribly impressed with the predictive value of standardized tests in general, and the SAT in particular.
I just did my taxes. I made a little more than $28k this year. And worked about 2 hours a day. And kept my clients happy.
Some of us just aren't made to run the race. Maybe it's not the shape or size of the brain, but how it works. Just can't take the pressure.
Thanks for your kind comment.
But I'm more interested in what the HN community thinks about a post than the standalone post. I get to see the amount of people who read this sort of news who agree with the post, and the people who disagree. I feel I can make a more informed decision about the content from reading several comments than reading just one opinion.
If there were a "save" feature (ala Reddit) that was separate from upvoting, I think that would help. Or maybe I'm the only one who does that and it wouldn't matter a bit. :-)