I can tell that this was written by an outsider, because it focuses on the perks and rehashes several cliches that have made their way into the popular media but aren't all that accurate.
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.
I don't see how smart it is to work 10-12 hour days and for sure you are underpaid. Think a bit , you work 3000 hours a year as opposing to 1800-2000 , which turns your 250K/year salary to 160K and you don't have life. Sure it works for single under 30 kids , but how that would fit in 40+ group with regular family ?
Don't get me wrong I was working in startups (and I was over 40 at the time with regular family) insane times (100+ hr weeks) but just for year stretch ant that barley makes sense because of gold rush to the pushing product out of door.
Otherwise I prefer "work smarter not harder" way and seems google has "if you work hard it will seem smart"
I don't think I work 3000 hours a year, or if I do, it's probably time I would've otherwise spent surfing Reddit or Hacker News.
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.
"You also don't have a set workload: you do as much work as you think is appropriate and then go home."
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.
I have not noticed this. On my team, people start showing up at 10. By 7, nearly everyone is gone. (Dinner starts at 6, so most people stay for that.) I'm at work later than that, but mostly because I only have a temporary apartment and have better food / coffee / computing equipment at work.
Ultimately, nobody monitors when you are in the office. All that matters is what you get done.
"On my team, people start showing up at 10. By 7, nearly everyone is gone. (Dinner starts at 6, so most people stay for that.)"
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.
The OP didn't say "hard-working". He said "fiercely hard-working".
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.
This is not what Google is like. Google is a normal workplace but with smart people who care, and with all of your needs taken care of. Need a USB cable or a new laptop battery? Grab one out of the storage closet. Need a coffee? You're never more than 100ft away from an automatic coffee maker, premade iced coffee, and a $10,000 espresso machine (and burr grinder, of course). Need a new monitor? Open a ticket and it will be on your desk in hours. Need an adjustment made to your desk? Open a ticket and someone will do it for you today.
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!
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.
I have no college degree. It did not come up during interviews at all. Having a degree gets you into Google at a higher pay grade if you have no experience. Otherwise, it's experience that matters.
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.
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.
Having dealt with the Google interview process and declined to continue: Maybe that is the typical process, but for me the experience was a long series of ridiculous questions that went into details about stuff that it makes no sense for anyone to memorize, and where the interviewer didn't seem to understand when I pointed out issues with the questions. Frankly, if that guy had worked for me, I'd have wanted to "manage him out" (and if I'd taken the position he would have worked for me).
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.
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.
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.
I was not told what I would be working on when interviewing, but I was told before I accepted the offer. I work on the test infrastructure for payments (which is Wallet / Checkout / buying books and Android apps, etc.).
(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 :)
You really can get hired at google. I've gotten a recruiter ping email from google once and I work with many stanford grads and PhDs and so on at my startup and my degree is from a city university in Canada. It's about your skills and abilities.
I'm not sure how meaningful recruiter pings are; before I moved out of the bay area, I was averaging about 2/month from Google, and only once did the recruiter have a clear description of a position that was actually a good fit for my skills. In my group (at another big corp), the conversion rate of recruiter pings into actual interview offers is in the single digits. Recruiters are pretty bad at identifying candidates that you (the hiring group) want to interview, especially for more specialized positions.
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.
"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."
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.
I think I speak for the vast majority of the finance industry when I say, "Good riddance you you, jrockway."
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.
The thing is, thanks to the net and open source, I can "surround" myself professionally with very smart people from the comfort of my home office. Of course it's not the same but it's close enough that other concerns dominate. At 25 I would have jumped at the chance to work at a place like Google but at 41 it just doesn't appeal to me.
There are some "really hard problems" that could definitely use the brain power assembled but apparently are never pursued.
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?
There are some "really hard problems" that could definitely use the brain power assembled but apparently are never pursued.
Like self-driving cars I guess.
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?
Google had at least 3 goes at building decentralized social networking[1][2][3].
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[4]. 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[5]). 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.
[3] 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)
Maybe none of the stuff that he/she does sounds as cool as just grabbing a couple thousand machines to run some MapReduce... just for kicks. I doubt that everyone at Google is always running interesting-sounding side projects.
FWIW, I regularly grab a couple thousand machines to run some MapReduce over all of Google's copy of the web. This is not a one-off occurrence, it is (for me, someone whose "official" job duties usually focus on UI) a roughly once-a-month occurrence. It can be as much as several times a day for people whose daily job is crunching data.
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.)
"Oftentimes I'll just grab 4000 or so machines and run a MapReduce to test out some hypothesis"
Fuck the food. Who cares about hammocks. Isn't this most geek's wet dream?
Only if they're hypothesis on something I care about, and not about how I can get people to click more ads or make more money for some trendy corporation.
gnosis' arguments seem worth refuting. I can see how someone outside of Google would assume that using 4000 machines to scan the Internet on some whim would be a big deal. But at Google, it's not. That's why working at Google is so cool.
I'm saying somebody who blithely asserts that Google is just "about how I can get people to click more ads or make more money for some trendy corporation" is a troll and not a comment worth responding to.
It's makes financial sense to get someone to pay you your market value. Google knows how to give people good raises without them having to float themselves on the open market and threaten to leave. The process is transparent and well-documented.
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.
Firstly I'm from India, our salary structure differs from you in many ways.
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?
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.
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.
Maybe in the US. Here in the UK, several recruiters I know are actively targeting Google as they find it an easy place to dislodge good developers from with better offers from elsewhere.
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.
Why? It's not as if you risk job stability working at Google. And at least while I was there, I didn't get the impression that devs were overworked (slightly different story for PMs).
Well it's no surprise that different jobs are better for different times in a persons life. I don't work at Google, but I'm still at a point in my life where I want to be average surrounded by smart people (I've been the smart person surrounded by average or worse and it stinks). Doing this will help me grow faster and get farther with the time I have. When I reach the point where I need a slower paced job maybe I'll look to DoD or teaching.
I don't work at Google, but I must say that being surrounded by incredibly intelligent & fiercely hard-working people is awesome- among other things, I always have something to aspire to, and somewhere to grow.
Sounds brilliant. It definitely makes me wish I could go be among geniuses for a day. Went to Mirman, though; so I know what it means to be dull among geniuses while you're being probed, overworked and experimented-upon. I especially know what it feels like to have your own sense of obligation turned against you in the service of your employer.
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?
"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 ..."
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.
Your post is grey right now, which I think means it's in the negative points, and I don't think it should be. Anyway, you've touched on something I've been thinking about a fair bit lately, though perhaps bystanders shouldn't take this post terribly seriously. Just idle musings...
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.
The SAT thing is a pretty weird generalization.
Some of us just took the test, got the score, and that was that. "1590...good enough."
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?)
The generalization is weird, but the odder part is that you know your co-worker's SAT scores. How does that even come up in conversation? It makes me miss the old silicon valley where every other person was a weirdo who never even went to college.
I don't mean to cause offense, but I find people who never went to college or did not major or focus heavily on CS or engineering generally more interesting to both work with and as people. Somehow college grads (especially in math heavy fields) seem to believe that their scores or grades are a reflection of their intelligence, drive or even personality. Not to say there are huge exceptions; both among people I know, and among famous thinkers- I find Poincare, or Mandelbrot to be great 'broad' thinkers who totally understand the fallacy of such numbers in both life and science.
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.
Personally I find that most of the best developers I've hired were people without CS degrees - a CS degree does not make someone a good programmer, and the intersection of people who are interested enough in the science part of it and the people who are prepared to work hard at being good programmers is smaller than some people seem to think.
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.
> People with CS degrees have a "bump" in the jobs they can get.
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.
These aren't Googlers I'm talking about, except the boyfriend. Most of them are friends from college, along with a few online friends and a family member mixed in.
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.)
No, it's really quite strange. This thread has got me thinking, until this thread, I can't even recall the last time somebody mentioned their SAT score. Probably more than 15 years ago? I've heard more IQ scores, GRE scores and even TOEFL scores than SAT scores.
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.)
The generalization is weird, but the odder part is that you know your co-worker's SAT scores.
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.
Your undergrad degree is just a noisy and expensive proxy for your SAT score anyway. And that's not taboo to discuss. Paradoxically, it's less declasse to mention the subjective measure that takes four years and costs a quarter million bucks than the objective measure which takes two hours and a number two pencil.
I always find this kind of self-analysis via comparisons with others interesting, having done it many times myself.
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.
When I first moved to the Bay Area, I was surprised by the number of people who would ask what school I went to, or casually drop their school name (I was in my mid/late 20's). When asked what school I went to, I took to responding, "STF U". It seemed like the type to name-drop their Alma mater were least likely to catch on.
I've been reminded of this bizarre habit half a dozen times in the last week, most recently with an accountant, who's nearing his second retirement, who manages to slip in "when I was at MIT" at least twice a day - like nothing else in his entire life gives him the cachet he needs to validate himself.
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!
Just a note for hezekiah - you've been hellbanned (as of http://news.ycombinator.com/item?id=2751543). Not sure why - and from looking at your comment history prior to your ban you seem like a reasonable person, so I thought I'd let you know.
But the fact that you even know the SAT scores of people around you is weird. I'm not in the US, so I haven't done SAT's, but I couldn't tell you a single test score or grade average of anyone I know or went to school with. Why? Because it's just not interesting.
That's especially true as the SATs are not very challenging... Anyone with a decent math knowledge can get a 800 on that part. There's no way to discriminate the very good students from the truly exceptional ones.
Also your high school level isn't very representative of your overall intelligence.
Sorry but that is flat out wrong. The SAT math and verbal sections are not about knowledge but about reasoning abilities. In fact, the "knowledge" (rules etc.) is given right along with the questions. Not anyone can get 800, only 1% of all test takers manage to get 770 or higher on the Math section. The reading section is even more difficult, the scores of the top 1% start at 760 there.
Same here. Took it once. Got 1510. Didn't take it again.
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.
Wow, there's a lot of insight here. While you mentioned not to take this too seriously, my gut reaction is that you take it more seriously than is advertised.
> 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 fall into the "crazily insecure" category in your world, but I don't feel particularly insecure.
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.
I had a 1440 SAT, and I still got into MIT. And while I did have straight A's at MIT, I also minored in student activities; I was Treasurer of the computer club, Refreshments and Sunday night director of LSC (which showed 2nd run movies on campus and used the profits to subsidize paying to bring famous lecturers to speak at MIT), Treasurer of the New England Lutheran Student Movement (even though I am an Episcopalian; I just happened to wander into the business meeting at a joint retreat); oh, and I was producer of an operetta with the MIT Gilbert and Sullivan Players. This omits some student activities where I wasn't an officer, such as Alpha Phi Omega, and the Technology Hackers Association, and the MIT Science Fiction Society, but you get the idea.
Well, even taking into account the 1995 recentering, according to the College Board's table, a 730 Verbal / 710 Math translates to a 1500 under the new system. Which is still pretty far from a 1570, 1590, or 1600...
Personally, I'm not terribly impressed with the predictive value of standardized tests in general, and the SAT in particular.
Well... thanks for the post. I'm not sure you're talking to the right guy, lol. I got a 1420. Scored perfect (was that 800?) on the SAT II writing. The math was a joke. Might as well have gone to Uni. But I still wrote almost 500,000 lines of code since I graduated high school, that businesses around the country rely on daily. Never went to college, so all that SAT stuff was for naught, lol.
I also spend my whole workday smoking, and at least half of it drinking. A good third is devoted to drugs; and all of it takes place in a stone structure from the 15th century in central Europe, a lifetime from my taxi in LA. So I'm constantly going out to drag frozen wood into the fireplace.
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.
For me, the worst thing about working for Google is how much I know about the future. Reading these discussions is difficult because I have enough information to say a lot more than I'm allowed to. Google does not keep anything from their employees, but they do tell you to be careful about discussing it with anyone outside of 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.
I'm assuming you're talking about the future as it relates to Google (future Google projects, future directions for current projects, what Google's end-game is for the self-driving cars, etc). No Google Time Machines in the works or Google Future Viewer for Android? ;-)
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:
Oh, you haven't seen "big company" yet, if you think Google is a big company.... I came from IBM which has something like 350,000 people working world-wide.
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.
Is there any way you could give your first-reaction answer for "what is the worst thing about working at Google?"
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).
I don't know where you get the notion that Python is in any way deprecated. I'd hope to know, as both a customer of Python @ Google and a part maintainer of some core Python libraries there. It _is_ discouraged for large projects, but there's a ton of glue in Python and more shows up all the time.
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.
"Deprecated in production" may be taking it too far, but there's an attitude there that Python is a third-class citizen and the Real Language Of Google is C++, with Java a solid second in the context of acquisitions.
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).
Hi, I just started at Google ~4 months ago in NYC.
> 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).
I agree. HN often seems to fall prey to these linkbaity articles about trendy subjects. As users, we do a poor job of filtering for quality before we click the upvote button.
For articles like this, I find it more interesting to go to the comments. Sometimes I'll read the article first, sometimes I'll start with the comments and read the article if they are interesting enough.
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.
Part of the problem is that "save" and "upvote" are the same thing. I am an obsessive bookmarker, so I "upvote" stuff all the time, without reading the article, just because the title strikes me as sufficient to into "Hmmm, look at this later" territory.
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. :-)
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.