Tips for Noogler Engineers (Noogler = New at Google)
piaw.blogspot.com
piaw.blogspot.com
> Finally, if you get fed up of working for a big company, consider joining a startup.
This one posting probably did more damage to google hiring from the HN ranks than all the others that I've seen to date. With friends like that who needs enemies.
Actually I found myself thinking "that's not so bad..."
"(Exception: War-room firefighting. Google loves those, and loves heroic performances from people in war-rooms)"
The whole "war room" concept in IT has always bothered me -- it's what managers do when they have a crisis that they don't know how to deal with. It's usually a crisis that they could have avoided if they'd actually done their own job in the first place. War rooms are also invariably where the worst of the developers end up -- at Disney the war room period was one of our most product weeks as a result. Of course, the folks who got rewarded were the ones in the war room, even though their primary contribution was to strut around in front of a bunch of executives while the rest of the team got project work done and the operations team had already figured out what went wrong.
No you're not tigers. You're a bunch of middle-aged middle-managers in a medium sized IT organization. No-one thinks you look like a helicopter pilot with your stupid Bluetooth headset. Grow the fuck up!
And said crisis is something that was probably caused by their poor decision making in the first place. Umm hello McFly, cutting 50% of the features to save 5% of the budget is not a bargain...
Keep in mind that management wants things that are good for Google. You care about what's good for you
This isn't true either. A manager wants what's good for his or her career 10x more than an engineer does. As I have said before, the only people who become managers are those who want to, which implies they want it more than doing engineering. If they convince you it's "for the good of the company" well that's just a tactic to get you to put their interest ahead of your own.
Not that companies don't need management. But don't get starry-eyed about it.
Some points here:
The key point that starts off #1 is more or less a side effect of any company where you hire folks who have a need for stability in their life. The unpredictability that he refers to is little different than how startups need to pivot. The only difference is that at a big company, it's management's job to hide that from the masses, and there's a limit to how well that can be handled.
Now as startup folks, you may find this abhorrent, or as big-company peons, you may still find this abhorrent, but all the organizations I've seen, from 200-man high school volunteer clubs all the way up to multi-billion dollar corporations, all of them have to deal with this. It's just that a tiny startup where people feel like they're on the same boat and have the emotional fortitude to handle it, then it may be better to be direct and honest.
The no-interviews bit is mildly troubling, but every engineer who's thought about company culture has probably come to this question eventually: if it's not to one's own benefit to interview engineers, then doesn't it seem likely that interviews would devolve into intellectual hazing sessions?
Points #3 and #4 are typical at any company larger than about one or two hundred. My hypothesis is that once you have more than 3 layers of management, the folks at the top who've been there and know what they're doing can't help your direct manager when he needs it. And again, as I see it, this is little different from how startup folks have to go through the process of finding the right company, the right founding team, and so on. People want to go to a big company and think that it will suddenly all be magical but of course there is no shortcut for the biggest challenges in life.
Like the one I had for my Google phone interview earlier this year... when he asked me to code up a simple sorting implementation (an array with an empty slot, and you can't use extra memory) the FIRST thing I described was a swap method that took the two indexes to swap, as well as the index for the blank. (I also at that point mentioned saving the location of the index in order to avoid having to scan for it for every swap). Two minutes later when I said we would simply swap two items, he asked me how, and I ended up describing the swap function AGAIN. And he also didn't understand the part about remembering the location of the blank, he brought it up in the performance analysis -- even though I'd mentioned saving it in a class variable already, I had to explain it yet again.
I didn't get a call back and I didn't expect one, but I was sorely disappointed with the quality of the interviewer, so I can't say that not getting a call back was much of a disappointment after that.
Basically, it's just putting all the developers involved on a project in a room together and giving them a clear goal (launching). Other firms might call this "Agile" or even just "development". Heck, still others would call this a "startup".
"We've always been at war with Eurasia..."
http://www.google.com/search?q=war+room+software+development
From the Joel-on-Software thread:
It raises the question: if this works, why not do it all the time?
Which to me meant, "You use Agile(tm) methods when your project has already failed."
The problem is that they usually use the same approach without the phrase "war room" to create the original product, which lead to the problem they're now trying to solve in the first place.
I'd look at it more as a cyclical thing than as a "dying breed". Google itself, after all, is barely more than 10 years old... New ones will come and go.
Every company will have its flaws. Google has over 20000 staff now so there's always going to be some politicking required if you want to get ahead. It's still probably a lot better than other companies that size.
If you are dreaming of joining Google, this is the article to read. Really.
Having said that, I've been at well functioning startups, and I've been at Google. Google when I joined was better than many many startups. Google when I left was not so.
The best piece of advice in there (I think) is to pick your team carefully, and more importantly, don't feel shy about switching if you aren't making headway.
http://youarenotsosmart.com/2010/06/23/confirmation-bias/
For people that already have misgivings about interviewing for a position at Google, I'm sure this post was a god send.
I mean, after reading all those "google is great" love-posts, you read one that points out flaws, and all of the sudden that's the one to read? All the others go out the window? How does that work?
That said, he does have a lot of experience, so you shouldn't lightly disregard what he says either.
But, more fundamentally, ask yourself what your goal is. If your goal is to move up the ladder as efficiently as possible, his advice is probably pretty good. If your goal is to enjoy your job, everyone will like you better if you feel free to disregard whatever doesn't fit who you are.
If you want a big payout, you're much better off working for Google for a couple years to build experience and a reputation, quitting and founding a startup, and then getting reacquired by Google in a $5-20M talent acquisition.
Most people I know at Google are there because they want to work on interesting technical problems without dealing with all the bullshit that comes from running your own business. Google is still very, very effective at that - quite possibly the best place in the world for an engineer that wants to do cool stuff, launch to millions of people, and not push their way through lots of hassles.
For instance, getting the big Android founder's award probably beat being the 10th employee at Aardvark.
When I look at the dollar amount of some of the largest-ever Founders Awards and then see how many people they're split between, I can't imagine that the payout is anywhere close to even an employee's payout for an acquisition. I dunno how the Founders Awards are divided up, but I'd imagine that it's a skew distribution, with most of it going to the initiators and key early team members of the project. Some of these teams have hundreds of employees; I really doubt that someone who joined six months before the Founders Award makes off with any more than a "Hey, that's a nifty bonus" amount.
Google can and does hand out big bonuses. There's so much cash flowing through the company that a little sprinkle of it (by Google's standards) is still a lot of money. If you're one of the fast-tracked folks at Google, there is no reason to join a startup just for the money.
Having an opinion resulting from direct experience with the matter under discussion is not bias.
In my experience so far, Google is not the kind of company that's going to come find you in the trenches and pat you on the back and give you a cookie. You have to seek that out yourself if you care about it.
[edit: clarity]
I think this post skips a big part of the experience at Google. One important use of the 20% time is to check out other areas and projects within Google. If you like the project, consider requesting a transfer to that project.
Once you keep that as the background for the article, then you realize that the article is meant for Nooglers interested in a certain career path. It is not for everyone, but it is certainly the most common expected path for the majority of their engineers.
It is odd to see HN jumping to conclusion reading one article without any background. I think thats part of the reason why bloggers stop blogging because whatever they say is taken to mean something else.
So far in my own career, I have recognized a few situations where I could choose to climb the career ladder. In all of those situations, I have chosen not to. The new responsibilities did not seem to be worth it. I believe I have a much more interesting job as a consequence, and as far as I can tell, my salary has not been hurt noticeably (I do fight for my pay rise).
Do you really have to add "flare" to your title in google to be successful? Makes me not want to work there.
I left a few months ago after four years. I have nothing but great things to say about Google. I loved my job, the environment, the people, the perks, the feeling of being privy to the most closely held secrets in Silicon Valley. Most of all, Larry and Sergey, who have always - always - kept their employees at the top of their priority list, even after the company went public. These guys really mean "Don't be evil", but you need to work at Google to really understand what this means.
Why I left? Career, mostly. I had reached a point where it was hard for me to get promoted. I could have settled for an easy job that is very well paid but without much hope of going much higher. A lot of people are okay with this and I was for a while, but then I realized I wanted more.
If things don't work out at my new gig, I'll try another gig. And if this doesn't work out either, I'll go back to Google in a heartbeat.
Keep an open mind, if you get a chance to interview, take it. If you get a job offer, take it, even if it's just for a few months. At the end of the day, the only person who knows what's best for you is yourself, not a blogger, nor an anonymous Hacker News commenter.
SRE: Site reliability engineer
SWE: Software engineer
The tried and true American Association for Acronym Abuse can help there.
(I think 8 hours is way too long to spend working in a single day anyway, so company-sponsored mailing lists seem like a nice distraction. I would rather just go home and read Internet mailing lists though.)
Alas. I had hoped for another nuclear engineer HN reader.
Past a certain point in the ladder, promotions were a big deal and those who got promoted to that point got it publicly announced. Past another point, the CEO himself announced it in a company-wide e-mail.
I heard that the job titles for engineers above a certain level are shared publicly with in the company.
Deleted comment
Alas, for confidentiality reasons, such cannot be shared :|
Suffice is to say, do be sure to take this as but one data point of many :)