I'm constantly amazed by how self-entitled my fellow developers can be when it comes to anything offered as a perk. The coffee machine on a floor breaks and you'd think someone had asked them to take a 20% pay cut by their reaction.
A coffee machine breakage would be treated as a work-stopping issue where I work, considering our consumption. But I don't think it would be treated like a 20% cut (which would most likely impossible here), it would be just a big annoyance.
I don't think we're that reliant here (even excluding those who don't drink coffee), it's rather closer to an annoyance (a big one, like dealing with slow computer/bad network), but we could still get work done. It's just that since the coffee is free (and good), we're drinking a lot of it.
After reading "Why We Sleep" I've been led to believe it really ought to be just socially acceptable to consume this drug. Unless we challenge the culture of working early then it seems to be the case that many of us are physiologically dependent on caffeine because our work culture demands it.
I was strongly anti-caffeine for most of my life. Then, in my 30s, I started getting so sleep at work that I'd fall asleep at my desk.
I went to the doctor and got drugs and vitamins. One of the drugs was supposed to be for erectile dysfunction, but had the side effect of keeping people awake. I tried it anyhow. They didn't work.
I ended up drinking a little caffeine to fix it. It worked really well.
Now I drink a lot of caffeine to fix it, and if I stop, I go back to falling asleep in the middle of the day.
If I could, I'd gladly just take a nap in the middle of the day to "fix" this problem. I get plenty of sleep at night, and I have a regular schedule. I don't work overtime and my job isn't abusive on my work-life balance.
But now I just need caffeine to keep going all day. And so I deal with that instead, and I no longer tell people that I don't like caffeine.
When someone says that they need caffeine to wake up, I certainly don't tell them that they should get off caffeine... And I don't even think it anymore. They might actually need it.
I've had a similar experience. Caffeine is probably the greatest tool in my belt.
Something you may want to look into is how many carbs you are eating for lunch, and whether your blood sugar is being affected. An amazing number of people have minor hypoglycemia and a carb-heavy lunch can leave them falling asleep at their desk. When I switched to a low/no-carb breakfast/lunch it did help (tho did not cure).
In the last few years, I've started getting migraines from sugar. That caused me to look at carbs and start reducing them as well. I still consume more carbs than I'd like, but I think I'm definitely below average on that scale.
That said, you've made me think and it's worth seeing if I can't further move my intake towards proteins safely and cost-effectively. And then maybe next time I try to reduce caffeine, it'll actually work.
Do you think you're a representative example? As opposed to what I consider is more likely: People neglect sleep and water consumption combined with natural night owls being forced into a particular schedule.
As I sometimes stop breathing in my sleep, my wife made me take a study. They determined that there was nothing that needed correcting. But thanks for the thought!
Falling asleep after lunch in your late 20s is super common as you go through "second puberty". You should consider cutting carbs out of your lunch meal. This happened to me as well, I tried fixing it with caffeine. My solution was to change my lunchtime diet and eat a 200 calorie meal around 11 and another 100 calorie meal around 1-2pm depending on when I got hungry. What was happening was I would eat a carb-heavy lunch (hamburger buns, french fries and a coke) and my blood sugar would spike to the moon. Two hours later my blood sugar would crash and the only way to stay awake would be to take a walk. Around 4:30-5pm I would finally feel ok again.
Assuming you have, but if you haven't, might want to get a sleep study done. It could very well be the quality of your sleep. Also, it could be the pets/plants you have as well that affect you more at night.
Probably because the benefits heavily outweigh the negatives. Combine that with the cultural/historical significance of coffee and tea and I think we have a solid explanation.
I treat it as such... I avoid it for the most part, but will use it a couple times a week. I don't tend to have it too often. The diuretic effect doesn't hurt either.
As someone who worked in support and recently moved into the dev world. I both get why folks get concerned about all the perks, it can be a sort of canary in the coal mine signal about values and financials when you see things vanish, even if minor things.
At the same time I worked in a support department where getting one lunch of garbage quality pizza every quarter was seen as "too expensive", so they cut that.... so I also chuckle at other developers when they complain about their mountain of perks.
I think many really don't realize that most people don't get, squat outside of a place to go work.
That reminds me of the time that the free bagels weren’t delivered to a few floors of my office once on accident. It was an absolute riot on Slack (ok I’m exaggerating but I’m serious when the complaints had >100 reactions). God forbid the people walk to another floor.
I think a lot of this is due to developers having an odd fit in the office class system. They don't direct other humans, so they're not management; but they're not process-followers either who could be treated as interchangeable. They're not union labour and they're not chartered professionals. They're at the "bottom" of the hierarchy but their individual insight and contribution is indispensable. They tend to get high pay, but not participate in the normal status hierarchy - "normal" professionals buy nicer suits if you pay them more.
The perks are the claim to status. At the same time many people's choice of perks is a bit infantilising, which confuses people outside it.
(There is another, nastier kind of "perk" in many jobs which a few developers indulge in, which is the freedom to abuse lower status staff without real reproach.)
Is there a lower-status job that pays as well as software development? I guess maybe some very experienced skilled tradespeople, but even those folks are probably pretty high-status when around others in their business.
Software dev is weird. Mostly sneered at or patronized by those up the hierarchy, yet paid really well. Not especially well-regarded outside business hierarchies considering how high the comp is, in no small part due to its acquisition, deserved or not, of a reputation for being a He-Man Woman Haters' club, and also, you know, for being generally nerdy (which was entirely the historical reason for its being low on the social status ladder, until relatively recently).
That was one of the first results, but it seems like the average is generally lower, around $15 an hour. My first tech job was as a Linux sysadmin in a web hosting company in Houston circa 2011, which paid 17 an hour.
This was with no formal education or experience (I'd played around with Linux at home and wanted to work with it professionally). So I'd say the claim that garbage collectors make the same as programmers appears to be generally untrue.
Yeah, there is. In the oil industry (actually many jobs in the industry) there’s a job where you need only add and subtract, work odd hours, put yourself in no greater danger than delivering pizza except that you’ll pull $280k/year if you’re lazy and $320k+ if you’re trying hard.
Meant outside of management. Status among the general public. That's become one of the three main things associated with software development, from what I've seen, alongside "nerdy" and "kinda makes a lot of money, maybe".
> The coffee machine on a floor breaks and you'd think someone had asked them to take a 20% pay cut by their reaction.
It's a piece of infrastructure. It may not seem like 20% pay cut, but it might very well be bleeding out 20%+ of productivity of the floor until the problem is fixed or people find workarounds. Same with network issues or outage, or crappy work hardware.
I interviewed for a position last year where the company had a very successful product and was growing, but still small. They wanted to restructure everything (the way they code, teams, management style) to be more like Google.
I made it to the last interview stage, which would have been a 4 hour remote white-boarding session, where they would give me something to code and a team of developers would watch me. I turned it turned it down and found a much better position the next day.
The first stage of the interview was light technical and almost all a psychological test to see if I would be a good 'culture' fit.
The interviewer was a first-time 20-something manager that wanted to make a name for himself and had read a few silicon valley books about technical interviews. He actually told me this.
Most companies aren't Google and shouldn't be emulating much of anything there.
I don't think its any different than devs thinking they need to "future proof" (a silly idea anyway) their database design for millions of transactions , or needlessly fretting about scale problems that their tiny company is never going to see for YEARS. Or people who copy $famous_dev's coding environment, or coding style or whatever. All people do this in various ways. The only truth here is that it's far easier to point out someone else's flaws.
To take your interview example, you can't really convince a company (or anyone for that matter) they are doing something wrong, if what they're doing is making them money/success. It is a very powerful form of feedback that gets ingrained and is almost impossible to shakeoff.
> The interviewer was a first-time 20-something manager that wanted to make a name for himself and had read a few silicon valley books about technical interviews. He actually told me this.
Haha what a champ. I respect the hell out of that.
Certainly what environment you have should be a sort of organic / self developed / self serving kinda system. Make it your own.
I do think when folks talk about little perks and the environment they're not talking about how having the right kind of cake, or three kinds of cake vs two kinds of cake available (just a generic example) is important. What they are really saying is "I see this company has put some resources into making this environment better, and that reflects their values and makes ME feel valued." Heck even if you don't eat the cake it is a sign.
It's akin to the story (I can't find it) where a company stopped providing free soda (or maybe they stopped subsidizing the price, I forget). The engineers were very upset, but it was just soda and god knows they could afford it.... but really it wasn't soda, the fact that management thought it was worth their time to pull resources from soda of all things was a very worrisome sign that indicated the company's values and possibly their future. Soda was the canary in the coal mine.
I used to work at a company where each team member got a budget of ~£15 a month towards a team lunch which was typically saved up and spent once every 3 months. The bright spark who thought they could cut some costs by removing that perk probably cost the company 10x that just in the time people spent grumbling about it (it was eventually reinstated).
While I think the reactions are a bit OTT (see my comment down thread); it's certainly true that companies do a very poor job of evaluating this kind of decision.
One of my key indicators for when it's time to start brushing up my CV is when people spend an inordinate amount of effort trying to save a few quid on stationary when these things are rounding errors on the companies bottom line.
Yeah but you cut sodas and get fresh fruit, I absolutely agree that you shouldn't aid bad habits but just cutting that stuff hints at something else than "helping you be healthy"
More realistically, if the company is cutting little bits here and there (soda, coffee, etc.) then it usually means tough times ahead. If a ~$1k monthly expense will make or break the budget, it's time to jump ship.
That and / or you've got penny pinching management and if penny pinching is what they think of as valuable use of their time ... you don't want to work with those folks.
I've seen perks in place because the boss liked it, didn't have to pay for it personally, and almost certainly wrote it off as a business expense. That's also a sign.
a colleague told me of a 'remote-only' company which ... cut mobile hotspots for 'on call' engineers. "no no no, this isn't a cost cutting measure". But the 5 people who were expected to rotate being 'on call' 24/7 - who had previously been able to schedule some 'away' time knowing they had hotspots - suddenly couldn't. The hotspots were ~$60/month, maybe? So, cutting $300/month, but still requiring the 24/7 rotation - this was a big morale hit.
Oh, and later they gave every - (60+ people) a half-day 'off' to spend 'reducing your monthly bills' - they all got an email detailing how to call your cable company to save $10/month on your cable, and scripts to use to reduce your cell phone bill, etc.
Though free soda at work-place will probably sound like a cigarette tin at the receptionist, when a company switches from growth to cut-costs, it is a clear indication that there's a transition towards "dead wood" clearing layoffs.
And the more successful the first round of layoffs are (and they should be, because the hiring process isn't perfect), the more likely there will be more ... etc.
I remember joining a major company right after it went public. I was shocked at how little oversight there was at spending. There were also a lot of people who just weren't pulling their weight in the company and soaking up the freebies.
About a year later, the CEO was fired and we had a less than AWESOME quarter. We needed to do some cost trimming, like all well-run businesses need to do.
(The obvious thing to do was to scrutinize costs, and offer a few people a generous severance.)
I was shocked that a bunch of employees (and my manager) rallied around getting rid of free soda. It was like they just wanted to extend the free ride for everyone, so they suggested the most obvious way to feel pain instead of finding something to get rid of that we didn't need.
Cost cutting is such a weird thing as it is often so superficially measured.
I worked at a company that slowly but surely cut travel options in order to limit travel costs.
Except for the sales group.... the group the traveled the most.
After a couple quarters they hilariously sent out an email noting that travel costs were not going down fast enough, insinuated that people weren't watching their expenses close enough, and if everyone didn't do a better job that they'd have to limit the sales travel budget too.
I suspect the person who sent the email couldn't / didn't think critically about what message they sent everyone else in the company. Needless to say the costs didn't drop.
Even more amusing they decided that car rentals were too expensive, so they banned car rentals (but not for sales). I was to take a taxi or public transit wherever I went. The results was that it cost about 3x as much in local travel costs when I traveled. I actually accounted for it all, wrote up a report with charts about how a car saves the company money on my trips. I was told not to tell the travel team anymore as their management didn't want to hear it.
Cost cutting is the source of the most ludicrous penny wise pound foolish decisions in the world.
Spend $25k year on a SaaS? Throw it out and create an internal system. Nevermind that 4 people spend a month building it and you now 0.8FTE maintaining an inferior and buggy system. Employee costs are going on the big pile and aren't as directly measured.
Bad example, a SaaS dependency is a single point of failure and it's entirely proper to get rid of it. Of course it would be better to move to a wholly-open alternative, but if none is around an internal system is the next-best alternative.
It's a single point of failure, sure, but you have to consider... How likely is it that AWS goes down? How likely is it that your internal system maintained by a single person goes down?
On the other hand, there are companies that decide to put effort into little employee "perks" like that rather than putting effort into improving the things that really matter, because it's cheaper and easier to stock a soda machine than to solve institutional problems.
For this reason, I don't consider the existence of stuff like that to be a reliable indicator of anything at all. When a company does this, it neither impresses me nor puts me off.
Not really, I belive it's important. I worked as a teacher and we had to the handle coffee machine ourselfs. Every week there was a coffee teacher and we put money in a jar. Alot of energy and frustration was caused by this and most likely no money saved for the school.
I totally agree on the make-it-your-own bit being important. An awful lot of places are unable/unwilling to think about their environment holistically and from first principles. So execs cargo-cult the visible things from successful companies.
The classic example for me is the ping-pong table. Can they be a useful way to get cross-team interaction and bonding that increases the company's ability to solve cross-cutting problems? Sure. But they are often bought because that's what startups do. E.g., the photo recently going around Twitter of the ping-pong table marked with "NO PLAYING BEFORE 6 PM".
> the photo recently going around Twitter of the ping-pong table marked with "NO PLAYING BEFORE 6 PM"
I love how that completely sends the opposite message.
It is convenient though, it makes it clear that the management team (as a team, maybe some are ok) has no ability, or can't be bothered to imagine how other people think / respond / feel.
Oh God, my previous employer did that. We had a ping-pong table, because it was trendy. We had an open plan office, because it was trendy. And, because the person making decisions wasn't thinking of actual development, we had the ping-pong table in the open plan office.
Open warfare broke out between the people who liked playing it and the people who were driven mad by the noise while trying to get work done. It was the most successful team destroying exercise I've ever seen. It was banned and reinstated at the whim of conflicting managers. Eventually someone discovered silent ping-pong balls and order and harmony was restored.
A former colleague of mine worked at Time Magazine in the late 1990s, before and after the AOL Time Warner merger.
He said, “when AOL got rid of our Snapple, we knew it was all over.” (And for context, the salary/job stability for someone at Time Magazine in 2000 is very different than in 2019. As in, the pay was very good and there was job stability.)
Similar to the soda story — it’s not that the employees can’t afford it themselves, it’s what it represents about not just the changing culture at the company, but of the financial realities.
I once worked at a place where they suddenly started to decrease the snack budget (but didn’t say anything —- we just got fewer snacks and in fewer quantities each week). In hindsight, it was an indicator of some of the financial issues happening at the company. Ironically, after some layoffs (followed by the voluntary exodus of ~20% of the company), the snacks came back full blast as an attempt to raise morale, but by then it was too late.
> "We are going to make this environment more like a Google office"
> "I saw this presentation by a Google developer and I think we need to copy their release process"
One of these is very different from the other. Fancy coffee and whatnot affects your environment but release processes, frameworks, interview methods, etc, change your productivity and are all made to fit an organization of Google's size and bureaucracy. They're a terrible fit for most small/medium sized companies.
I also always find it weird how nobody picks other giant companies to emulate, nobody's like "Well JP Morgan has great employee mortgage rates!" or whatever.
The latter is rarely effective for a small company imo and is way more of a dangerous cargo cult in my experience. It's like trying to swim while wearing shackles.
One principle I think about when refactoring, is reversibility. If something turns out to be wrong, can you change your mind with minimal cost? To generalize, when trying something, can it be tried and backed out for minimal cost, while providing good information?
I also always find it weird how nobody picks other giant companies to emulate, nobody's like "Well JP Morgan has great employee mortgage rates!" or whatever.
For the answer, I think one can analyze their marketing and how the culture once perceived SV and the startup scene.
I'm surprised no one else has said it yet, but isn't, "We are going to make this environment more like a Google office," just the 20-teens version of, "No one ever got fired for buying IBM?" It was also what the article terms, "Lazy management thinking." It's imitating the surface level of big company success, without analyzing the how and why, and seeing if the cost/benefit factors also work out for yourself.
The amount of otherwise-sane developers that have created their own cloud provider on top of an existing cloud provider 'because Docker/k8s' scares me.
because that it the most mindnumbingly ridiculous and timewasting fad I've ever put up with on a development team or company "because Google does it"
maybe C-level management should just do it amongst themselves and just put their results on a list and it would be the same as a random directive coming down from high that nobody questions. most of your startup's "passionate team members" are lying about it and do not care if they the understood the direction the OKR process went or if they just did what was told, skipping the whole thing.
I’m always wary of the hip companies that offer all the perks and try and seem cool. It’s not altruistic. They expect in return to work you like crazy. I would much rather work somewhere boring where I work a solid day and go home, don’t have to think about work on the weekends with solid monetary compensation. Free donuts and coffee can’t make up for lost personal time nor can it pay for a mortgage. I’m a professional, treat me like one.
Different strokes for different folks. Some people (by which I mean me) honestly don't like the "work a solid day and go home" model; I don't have the kind of mental switches to stop thinking about personal stuff at 9 am and stop thinking about work stuff at 5 pm. My current company gets 50+ hours a week out of me, but nobody complains when I watch a Youtube video and I don't need permission to leave early when it's necessary - I consider that a fair trade.
Are you married? Do you have kids? Do you have a dog? Do you have hobbies that require you to be away from computers?
If you don’t answer yes to one of my questions I suggest you try one or more. I’ve gone through lots of hobbies outside my house (preferably outdoors) over the years including running, working out, walking my dog, and now kayaking.
If your able to get your work done you should swap the YouTube time for someone else outside work.
Speaking as someone who is now married with a kid who worked a whole lot when I was younger, I'd advise the opposite for the OP. Work as much as you can, and ideally get your employer (or customers) to pay you as much as possible for that work. Save that money, and invest it well.
Because you won't be able to do that when you have kids. The period from 0-5 years old is just brutal on all of time, attention, and finances. Having a financial cushion is pretty critical if, for example, you get hit with $50K in hospital bills while also needing to figure out daycare and baby supplies and your wife is spending 6-8 hours/day nursing and you're both sleeping 3-4 hours/night. Many new parent problems can be solved with money, and most of the rest are a lot easier if you're not worried how to get the money.
Does the US system not seem crazy to the people who are stuck inside it? I mean, I guess this is a low-effort comment etc, but I’m still staggered that pulling massive overtime in advance, and $50k for medical bills is seen as a potential part of having a kid.
It always feel like grinding in salt in open wounds when discussing US medical and family building. For example when we had our daughter 10 years ago, we had more than 300 days (can't remember exact) to share between us of paid time off work. All medical treatment and dentist is absolutely free up to 20-ish, as are schools. Child care is about 60 eur per month depending on salary of both parents. 70 eur is about max.
In the long run everyone will live in a society like that, not because America will suddenly become child-friendly, but because any country that massively discourages childcare will drop to zero population.
Depends whether you think the world will end in a bang or a whimper - whether we end up going to war and blowing everybody up, or stagnation will lead to a gentle dying-off of countries that make it difficult to reproduce.
It seems to me that the US is importing people from other countries en masse, so that's not likely to be a problem, especially if said people had lower standards of living and can cope with lacking child care through other means, like large families.
What I've found is that there are lots of people who base their lives and even their identity around their work/company. For these people, work life is more interesting to them and so these perks are great for them.
Most engineers I know at companies with all the nice perks (myself included) only work about 40 hours a week. It's not an either/or.
Besides, it's my most productive 40 hours a week, during the prime of my life. I don't want to spend that as a work-robot who dutifully produces exactly 40 work-units, no more no less, then vanishes into the night. I find it much more fulfilling to have both personal time AND investment in my job.
The average work life balance at Google is actually quite good, though. Hours are normal and there's a lot of flexibility. Hell, even when I was at Amazon my work life balance was fine.
The main downside of these high paying, prestigious companies is that the places they offer jobs in are usually the really expensive cities.
When I see the Google employee walkouts I begin to wonder what it takes to govern good people. Sundar Pichai must feel like the walkouts are a real headache sometimes.
Way back in 2007/2008, Google did a study on HDD failures not increasing when they had 80+ degree server rooms.
Someone at a company I used to work for, read that study in 2013, and removed the air conditioners from our server rooms.
We ran at almost 90 degrees from that point on, inside the racks it was much hotter. We lost a couple battery backups, internal fans, and power supplies before I could convince them to turn the air back on.
Having worked at a few places that aren't Google as well as a few places that are Google, here's what I think the meaningful difference is that makes the Google offices more productive.
1: The people are smarter. It's sort of cheating I suppose; better inputs make better outputs. Google doesn't have all the smartest people, but it's one of the few companies that get top-tier talent in a way that is meaningful. Everything else hinges on this.
2: Your manager (and their manager) cares a lot about you. That's a pretty broad statement and definitely not universal, but it's more often true than not. Managers are explicitly trained to focus on the needs of their employees, and the ones who don't are largely viewed as failures. No other success compensates for poor treatment of your reports. Again, there are plenty of bad managers, but they're widely seen as bad managers; justification like "demanding but fair" or "knows how to get results" or "evil genius" have little effect.
3: It's easy to move. There is no pay difference no matter what project you work on and internal mobility is encouraged and supported. People do what they want to do, and they tend to be extremely motivated as a result. It also helps remove bad managers: sinking ships get abandoned really, really fast. This is arguably the company's greatest weakness as well as it's hard to get people to work on something soul-consuming. But it's great for the employees and it's great for innovation.
> There is no pay difference no matter what project you work on
I've heard that you'll get raises for working on new things. That's why Google launches so many new projects (and closes so many of those projects) and that's why old projects are constantly rewritten/redesigned instead of just imprpoving and bugfixing. I don't like it as a user, I want to use the same interface for 50 years and I want all bugs to be removed, rather than learning new interface and new bugs every few years.
You get promoted by shipping stuff (at least, when I was there). You get a raise by getting promoted. So there's an indirect connection between launching things and getting more money.
I think that the OP's referring to a phenomena at different big companies where certain divisions get paid more because management deems that division more important. That creates a dynamic where everybody tries to get into that division, and the ones that can't end up bitter, demoralized, and resentful (and hence unproductive). Connecting pay to tangible accomplishments rather than where you are in the company avoids that dynamic, though it does create the one you've observed where everyone is hunting for tangible accomplishments.
I'd say failure to align financial incentives is a bigger problem than jealousy of colleagues in the staff cafeteria. Zoom has crushed Google Hangouts and is now a $27 billion company, yet the Hangouts team are still rewarded with sweet Google stock options.
Arguably both alternatives lead to the big company getting crushed in emerging markets. If you pay for performance in hot emerging markets you cause resentment in all the other divisions, which leads to them underperforming (which is often a more dangerous problem, since this includes the slow-growing cash cow divisions that finance the fast-growing emerging markets). If you don't pay for performance, everybody gets complacent, and you miss out on new markets to hot new competitors.
I spent 5 years at Google hoping the intrapreneurship thing would work. AFAICT it doesn't, and eventually I came to accept Paul Graham's conclusion that big companies are constitutionally incapable of innovating and that's why he makes lots of money funding startups. In my observations the biggest problem isn't even compensation: it's that there are too many roadblocks to launching things and trying things out in a big company, too much incentive to be risk-averse, and too little feedback from the market itself with too much feedback from irrelevant decision-makers within the organization. The flip side of fixing those is that it radically increases both the failure rate and the rate at which the company pisses off outside people, both of which would be fatal at Google's scale.
IMHO the way Google does compensation is the best I've seen, it's just that "the best" will still result in good companies getting crushed by upstarts. So just accept that and try to create a good working environment while the company continues to print cash.
It is true that people are rewarded for impact, which usually means new systems. But this does not necessarily mean new products from an external perspective. I know a lot of people who have been promoted really high based on stuff that they have led that has zero visibility to external users but ends up being worth oodles of money (or whatever metric you are trying to impact).
Zillions of product launches seems to arise from a combination of a largely bottom-up company with a ton of employees and a culture of building things themselves rather than using existing solutions.
> It's easy to move. There is no pay difference no matter what project you work on and internal mobility is encouraged and supported. People do what they want to do, and they tend to be extremely motivated as a result. It also helps remove bad managers: sinking ships get abandoned really, really fast. This is arguably the company's greatest weakness as well as it's hard to get people to work on something soul-consuming. But it's great for the employees and it's great for innovation.
This is clearly both necessary if they want to retain their "all our people are among the best (and therefore have lots of options if they want to leave)" workforce and harmful to their projects. There's plain flakiness to their approach to things that's at this point a distinguishing characteristic of Google products. Even things that stick around long-term and don't get cancelled outright show heavy signs of no-one wanting to do the boring work, and no-one making them do it. Or of half-assing the boring work and then never fixing it.
There is a really strong counter-argument to this that "the boring work" doesn't really matter in the long-run.
I've seen many great projects sink over time because management over-indexes on easily understood, time consuming efforts, with only marginal customer impact. These efforts are easy to justify quarter on quarter - but are incredibly generic.
Great big products tend to emerge from driving repeatable improvements in something everyone needs e.g. search, content, recommendations, servers, networks, data etc. and solving the hard problems that no one else has the dedication to solve.
The problem arises when you as developer rely on this thing that Google invented but suddenly got bored of and shut down or changed a lot so your implementation has to be rewritten. Many have been hit by this over the years so are reluctant to try again.
As of last year, the last time I tried, the Google backed maps app still works on my first gen iPod Touch - last updated in 2009 and the first gen iPad.
I've been hit by this at least a half dozen times over my career. Apps scripts are probably the latest one causing me pain. I love being able to integrate with docs & sheets, but man if that ecma version isn't ancient af.
It is incredibly ancient. It's possible to use Babel w/ it though, and write reasonably modern JS. There's a CLI tool out there to upload something into an Apps Script … app? too; at one point, I had a project w/ a Makefile that would run the project through Babel and then upload it to Google.
I didn't try all the features (and I didn't have any npm/package management), but things like format strings, for(… of …) loops, let/const, new Map() all worked. Babel is a wonderful, wonderful thing.
If it were simply ancient, that'd be one thing, but it's a weird hybrid of es3 with _some_ es5 features, and some es6 ones that often don't work the same. e.g. it has `const`, but no `let`, and it's not even block scoped so it's not that useful. Destructuring is there, but for arrays only and not object properties.
I built my babel config to balance clean, new syntax with the least intrusive transforms possible. e.g. I have loose template literals on, since `\`hello ${world}!\`` is an easy transform (and still readable in the final source) as `'hello ' + world + '!'`. Generators, for .. of, and object rest/spread, are okay, but babel puts a ridiculous amount of helper functions at the top to support this. I suppose I could always configure each project with a shim file, but that's extra overhead I really could do without.
block-scoping, arrow-functions, function-name, shorthand-properties, spread (for arrays and arguments), template-literals (loose, so `+` not `String#concat`), and exponentiation-operator I found give the most bang for your buck. `for .. of` is nice but if I can pass arrow functions into my `forEach` callbacks that's pretty clean too. Pretty great being able to say
This is leaving out the effect of headcount restrictions, which is how management keeps overall control over what gets worked on. Sometimes there are legacy projects that have headcount but trouble filling it. But sadly, sometimes there are people who do want to work on some important maintenance project, but they can't get headcount.
So, it may be easy to move, but only in certain directions where management wants people to move.
(Or see if you can make a case for increased headcount somehow. Being good at persuasion or having a manager who trusts you can work.)
>But it's great for the employees and it's great for innovation.
In which way is Google innovative? They have good products for sure, but I haven't seen much innovation at Google since a while. If anything the past few years have been mostly disappointing (Loon, Calico, Fiber, etc)
That's a measure of reputation, not innovation. Nobody denies that they have a reputation for innovation, but reputations are by necessity backwards-looking.
I’d phrase this a little differently: the people there can be relied upon to at least have some “baseline” technical ability. Having worked at both FAANG and more mediocre companies, one thing that stands out is that while not everyone at FAANG are super-wizards, you’ll never have to sit there and explain things like “what is a stack trace” and “what happens when you write past the end of an array” and “what is the difference between O(n log n) and O(log n)”. You’ll never have to argue whether using source control is a good idea. You’ll never have people who spend weeks just trying to get Hello Project” to compile. All of which I’ve seen in other companies.
The big guys hiring processes might not be great but unlike most companies they seem to be able to filter out the complete know-nothings, and that alone is probably what raises the average.
TLDR: it’s not that they hire smarter people—they just avoid hiring way-below-average people.
I work at Google, worked at Amazon, and you nailed it. Most people at Google are far from coding superstars. But basically everyone is fairly smart, nice, and hard-working. I basically never come across any dead weight.
That's funny, literally the only person I've ever had to explain a stack data structure to in my career was a Google alumni. He calls himself a "Chief Architect" now.
And therein lies the problem -- Google has been extremely successful at persuading itself and others that "can invert a binary tree on a whiteboard" is in any way synonymous with being "smarter". That's how we end up with at best people believing that ML will give us self-driving cars and at worst with all the societal problems that result from what these companies do, "but we just need to adjust that algorithm, train that model, and more, more, MORE of your personal data, and then we will lead the world to utopia" thinking. And they might even believe that.
Ed.: also appear to be very often very insecure about it.
Don’t want to give details but let’s say it was highly reminiscent of “The Brillant Paula Bean” [1] but without the “taking a few months to notice” element.
Not OP, but FizzBuzz interview questions are famous for eliminating significant numbers of applicants.
I've learned that once you're in a large and complex corporate structure, judging your value becomes difficult. In every job I've been I've found professional slackers who truly optimize to do the minimum. They can send all the right value signals while they keep their true lack of value hidden behind a complex maze.
The only way I can think of to minimize them is to set up high barriers of entry that require on the spot proof of ability: coding tests and programming problems. Everything else can be and has been bulshitted through.
Algorithmic Coding tests and programming problems don’t tell you too much about whether they can translate business rules into code or their ability to work in complex code bases.
If you are writing software - like most developers are - where the complexity is knowing the business process, how much good does it do to test whether the developer can reverse a binary tree on the whiteboard?
It doesn't have to emulate the work process as long as it is a good proxy. It doesn't have to do anything with what you do as work, as long as the correlation between them is strong enough. Might as well be an IQ test or logic puzzle but they have their own problems.
Many companies hire people before they decide their position. So your job tasks might wildly different.
It's important that this be a minimal qualification...the temptation is equate "can solve harder algo problems on the spot=brings more value," but that's not a great signal, and according it too much reverence overshadows other important traits (knowing which problems to solve ranking high among them)
I've read and heard many accounts of college admission officers and hiring managers who say that among the top 30%, it is essentially random. They don't know how or even need to differentiate between the 30%, 20%, and 10%.
So what it comes down to is selecting a random differentiator that can stand up against nepotism (objective and measurable), legal scrutiny (fair), audits (easy to comply with) and so on.
Essentially everyone who answers those questions reasonably well passes. But the one who answered best gets hired because at that point we don't even have a good differentiating signal.
> it's hard to get people to work on something soul-consuming. But it's great for the employees and it's great for innovation.
I would argue that the best innovations tend to also be "soul-consuming". If it were easy, someone else would have innovated in that area earlier, right?
I don't think he meant soul-consuming as in difficulty, but soul-consuming as in existentially unfulfilling or disturbing to your ability to sleep at night.
There is, in my experience, plenty of appetite for hard, risky, complex, grinding, ambitious problems, and very little tolerance for boring, unimpactful or evil projects, since everyone at Google can already feed themselves and is more towards the self actualization end of the hierarchy of needs, and has no strong incentive to not roll off onto something more interesting or fulfilling.
I said soul-consuming, I meant soul-crushing (there were a lot of distractions around at the time and I was having trouble remembering the idiom).
Point being, crappy work is hard to staff, and some work is just always going to be crappy. Nobody wants to maintain a hideous collection of accumulated bad decisions workarounds that exist for historical reasons but which have no value other than allowing lazy customers to avoid upgrading their 1970s client code. At IBM we maintained it anyway and hated it. At Google that sort of thing can't keep a team together.
> People do what they want to do, and they tend to be extremely motivated as a result.
To what extends does this work? Let's say I want to work on Chrome's WebGL implementation, but I've no prior professional experience with neither C++ nor 3D graphics - would they still take me as a noob that will take a couple years to ramp up? I suspect not. So, you're probably most likely just stuck with your current niche and can only move within it - which, to be fair, is still much better than in most other companies where you're just stuck with your current project.
For domain specific roles I ought to think that the members of the current team would be more than happy to provide insight/advice/coaching to someone looking to skill up and get involved. This is typically how I've seen lateral moves done at other companies that encourage mobility. For example, moving from a primarily DBA job to devops/operations/wahetever.
The typical route would be to 20% with the team for a couple quarters to learn the ropes and demonstrate your skills, and then transfer 100% once the destination team has the headcount to absorb you. I know multiple people who have done this, although not specifically to the WebGL team.
Not OP, but the ones I know of are RAND, SpaceX, Illuminia, RevGen, and Tesla, in no particular order. Not saying they are good places to work, but they do seem to have more smart people than not
My last job before Google was working as a security consultant to SMEs. My experience working intimately with some 400+ such companies was that of businesses with less than 40 programmers, around one in 10 companies had one developer who could build something durable and follow "industry standard" precautions and practices. All the others had zero. At Google nearly 100% of developers are of that same quality which was exceptionally rare in industry at large.
These companies should be much more skeptical of the desire to make code quality similar to that of Google. It must have been different in Google's early years, but now there's reason to suspect that Google succeeds in spite of their code/product quality, not because of it.
No exactly what I expected. I was thinking it would be more technical.
Either way, there is very little, possibly nothing, that a company not named Google can borrow from Google. The scale and venue that Google operates in too different.
Nah, there's plenty of things that would be cool to borrow.
Generous (by US standards) parental leave, lots of holidays, excellent 401k plan, work flexibility, ease of job transfers, open/critical internal culture, blameless post-mortems as a standard thing, and of course, free food and gym.
If my employer were to decide that we needed to be more like Google, my only thought would be "if I wanted to work for a company that resembles Google, I'd be working for Google."
Policies like "one-click deploy and one-click rollback" or "no long meetings" are the result of years of hard work.
An executive can't just decree "no long meetings" and have it stick. Avoiding long meetings takes a culture of preparation and transparency. It takes clear agendas. It takes people showing up to the meeting knowing the agenda and the material, and being ready to approve, review, brainstorm, or do whatever the agenda calls for. It's hard--and worthwhile--to work on developing that culture.
An executive can't decree "one-click deploy" either. Obviously. It too takes a particular culture and a lot of time.
As for the perks: it takes a "no magic" culture. If the coffee runs out, some real human has to get more. In a big company, maybe that work can be outsourced. In a pre-revenue startup, there's no magic. You want coffee? Go get some. (They sell it at Starbucks and Costco, you know.) If you have an intern who will tolerate being asked to go fer coffee, send the intern.
Dirty bathroom, small company? No magic. Clean the bathroom.
I can tell you that this line does not work at Apple.
If I ever questioned Apple's weirdly bureaucratic ways of doing things my manager would yell at me "I don't give a fuck what you did at Google!".
For domain specific roles I ought to think that the members of the current team would be more than happy to provide insight/advice/coaching to someone looking to skill up and get involved. This is typically how I've seen lateral moves done at other companies that encourage mobility. For example, moving from a primarily DBA job to devops/operations/wahetever.
Certainly what environment you have should be a sort of organic / self developed / self serving kinda system. Make it your own.
I do think when folks talk about little perks and the environment they're not talking about how having the right kind of cake, or three kinds of cake vs two kinds of cake available (just a generic example) is important. What they are really saying is "I see this company has put some resources into making this environment better, and that reflects their values and makes ME feel valued." Heck even if you don't eat the cake it is a sign.
It's akin to the story (I can't find it) where a company stopped providing free soda (or maybe they stopped subsidizing the price, I forget). The engineers were very upset, but it was just soda and god knows they could afford it.... but really it wasn't soda, the fact that management thought it was worth their time to pull resources from soda of all things was a very worrisome sign that indicated the company's values and possibly their future. Soda was the canary in the coal mine.
This is why I'm bearish on Kubernetes for most organizations. Not because it doesn't work great, but because its complexity is so high. I have this adage about not solving problems you don't have, but it's the same concept in the article. Kubernetes is for Google. And I guess Netflix could use kube. Amazon. Facebook, sure. But the complexity overhead is so enormous that you are probably causing more problems than you're solving, especially if you're already using something that works (since this is the same exact thing as rewriting the software from scratch, but for sysops).
164 comments
[ 1.9 ms ] story [ 238 ms ] threadMaybe I'm just getting old.
Or we could fix the culture problem.
I went to the doctor and got drugs and vitamins. One of the drugs was supposed to be for erectile dysfunction, but had the side effect of keeping people awake. I tried it anyhow. They didn't work.
I ended up drinking a little caffeine to fix it. It worked really well.
Now I drink a lot of caffeine to fix it, and if I stop, I go back to falling asleep in the middle of the day.
If I could, I'd gladly just take a nap in the middle of the day to "fix" this problem. I get plenty of sleep at night, and I have a regular schedule. I don't work overtime and my job isn't abusive on my work-life balance.
But now I just need caffeine to keep going all day. And so I deal with that instead, and I no longer tell people that I don't like caffeine.
When someone says that they need caffeine to wake up, I certainly don't tell them that they should get off caffeine... And I don't even think it anymore. They might actually need it.
Something you may want to look into is how many carbs you are eating for lunch, and whether your blood sugar is being affected. An amazing number of people have minor hypoglycemia and a carb-heavy lunch can leave them falling asleep at their desk. When I switched to a low/no-carb breakfast/lunch it did help (tho did not cure).
That said, you've made me think and it's worth seeing if I can't further move my intake towards proteins safely and cost-effectively. And then maybe next time I try to reduce caffeine, it'll actually work.
Thanks!
The most interesting aspect is that this acceptance is near universe across cultures.
At the same time I worked in a support department where getting one lunch of garbage quality pizza every quarter was seen as "too expensive", so they cut that.... so I also chuckle at other developers when they complain about their mountain of perks.
I think many really don't realize that most people don't get, squat outside of a place to go work.
The perks are the claim to status. At the same time many people's choice of perks is a bit infantilising, which confuses people outside it.
(There is another, nastier kind of "perk" in many jobs which a few developers indulge in, which is the freedom to abuse lower status staff without real reproach.)
Software dev is weird. Mostly sneered at or patronized by those up the hierarchy, yet paid really well. Not especially well-regarded outside business hierarchies considering how high the comp is, in no small part due to its acquisition, deserved or not, of a reputation for being a He-Man Woman Haters' club, and also, you know, for being generally nerdy (which was entirely the historical reason for its being low on the social status ladder, until relatively recently).
Garbage collectors fit this description in every city I've lived in.
https://www.indeed.com/jobs?q=Waste%20Collector&l=Austin%2C%...
That was one of the first results, but it seems like the average is generally lower, around $15 an hour. My first tech job was as a Linux sysadmin in a web hosting company in Houston circa 2011, which paid 17 an hour.
This was with no formal education or experience (I'd played around with Linux at home and wanted to work with it professionally). So I'd say the claim that garbage collectors make the same as programmers appears to be generally untrue.
This is wrong and revisionist to boot. You're projecting your own biases or poor experiences on an entire industry.
Management looks down on programmers because they are not management. When one has real power and status it's easy to look down on others.
It's a piece of infrastructure. It may not seem like 20% pay cut, but it might very well be bleeding out 20%+ of productivity of the floor until the problem is fixed or people find workarounds. Same with network issues or outage, or crappy work hardware.
I made it to the last interview stage, which would have been a 4 hour remote white-boarding session, where they would give me something to code and a team of developers would watch me. I turned it turned it down and found a much better position the next day.
The first stage of the interview was light technical and almost all a psychological test to see if I would be a good 'culture' fit.
The interviewer was a first-time 20-something manager that wanted to make a name for himself and had read a few silicon valley books about technical interviews. He actually told me this.
Most companies aren't Google and shouldn't be emulating much of anything there.
To take your interview example, you can't really convince a company (or anyone for that matter) they are doing something wrong, if what they're doing is making them money/success. It is a very powerful form of feedback that gets ingrained and is almost impossible to shakeoff.
Haha what a champ. I respect the hell out of that.
I do think when folks talk about little perks and the environment they're not talking about how having the right kind of cake, or three kinds of cake vs two kinds of cake available (just a generic example) is important. What they are really saying is "I see this company has put some resources into making this environment better, and that reflects their values and makes ME feel valued." Heck even if you don't eat the cake it is a sign.
It's akin to the story (I can't find it) where a company stopped providing free soda (or maybe they stopped subsidizing the price, I forget). The engineers were very upset, but it was just soda and god knows they could afford it.... but really it wasn't soda, the fact that management thought it was worth their time to pull resources from soda of all things was a very worrisome sign that indicated the company's values and possibly their future. Soda was the canary in the coal mine.
While I think the reactions are a bit OTT (see my comment down thread); it's certainly true that companies do a very poor job of evaluating this kind of decision.
One of my key indicators for when it's time to start brushing up my CV is when people spend an inordinate amount of effort trying to save a few quid on stationary when these things are rounding errors on the companies bottom line.
Plus it's difficult to resist temptation when constantly working around food that's unhealthy yet very sweet and 'free'.
Then you get both.
Generally I don't think much about those things, but it was often enough after awhile that it was "Yeah I'm stuck here and they...."
Pretty easy for everyone in the office to sort of "check out" when it becomes a visible issue.
Oh, and later they gave every - (60+ people) a half-day 'off' to spend 'reducing your monthly bills' - they all got an email detailing how to call your cable company to save $10/month on your cable, and scripts to use to reduce your cell phone bill, etc.
https://steveblank.com/2009/12/21/the-elves-leave-middle-ear...
It's a memorable one, because it was "soda is now 50 cents".
https://steveblank.com/2009/12/21/the-elves-leave-middle-ear...
Though free soda at work-place will probably sound like a cigarette tin at the receptionist, when a company switches from growth to cut-costs, it is a clear indication that there's a transition towards "dead wood" clearing layoffs.
And the more successful the first round of layoffs are (and they should be, because the hiring process isn't perfect), the more likely there will be more ... etc.
About a year later, the CEO was fired and we had a less than AWESOME quarter. We needed to do some cost trimming, like all well-run businesses need to do.
(The obvious thing to do was to scrutinize costs, and offer a few people a generous severance.)
I was shocked that a bunch of employees (and my manager) rallied around getting rid of free soda. It was like they just wanted to extend the free ride for everyone, so they suggested the most obvious way to feel pain instead of finding something to get rid of that we didn't need.
I worked at a company that slowly but surely cut travel options in order to limit travel costs.
Except for the sales group.... the group the traveled the most.
After a couple quarters they hilariously sent out an email noting that travel costs were not going down fast enough, insinuated that people weren't watching their expenses close enough, and if everyone didn't do a better job that they'd have to limit the sales travel budget too.
I suspect the person who sent the email couldn't / didn't think critically about what message they sent everyone else in the company. Needless to say the costs didn't drop.
Even more amusing they decided that car rentals were too expensive, so they banned car rentals (but not for sales). I was to take a taxi or public transit wherever I went. The results was that it cost about 3x as much in local travel costs when I traveled. I actually accounted for it all, wrote up a report with charts about how a car saves the company money on my trips. I was told not to tell the travel team anymore as their management didn't want to hear it.
Spend $25k year on a SaaS? Throw it out and create an internal system. Nevermind that 4 people spend a month building it and you now 0.8FTE maintaining an inferior and buggy system. Employee costs are going on the big pile and aren't as directly measured.
For this reason, I don't consider the existence of stuff like that to be a reliable indicator of anything at all. When a company does this, it neither impresses me nor puts me off.
For example, if you aren't impressed by free snacks you would be impressed by a strict policy of no food in the office with no place to eat.
The classic example for me is the ping-pong table. Can they be a useful way to get cross-team interaction and bonding that increases the company's ability to solve cross-cutting problems? Sure. But they are often bought because that's what startups do. E.g., the photo recently going around Twitter of the ping-pong table marked with "NO PLAYING BEFORE 6 PM".
I love how that completely sends the opposite message.
It is convenient though, it makes it clear that the management team (as a team, maybe some are ok) has no ability, or can't be bothered to imagine how other people think / respond / feel.
Open warfare broke out between the people who liked playing it and the people who were driven mad by the noise while trying to get work done. It was the most successful team destroying exercise I've ever seen. It was banned and reinstated at the whim of conflicting managers. Eventually someone discovered silent ping-pong balls and order and harmony was restored.
A few months later I quit for a 15% pay rise.
He said, “when AOL got rid of our Snapple, we knew it was all over.” (And for context, the salary/job stability for someone at Time Magazine in 2000 is very different than in 2019. As in, the pay was very good and there was job stability.)
Similar to the soda story — it’s not that the employees can’t afford it themselves, it’s what it represents about not just the changing culture at the company, but of the financial realities.
I once worked at a place where they suddenly started to decrease the snack budget (but didn’t say anything —- we just got fewer snacks and in fewer quantities each week). In hindsight, it was an indicator of some of the financial issues happening at the company. Ironically, after some layoffs (followed by the voluntary exodus of ~20% of the company), the snacks came back full blast as an attempt to raise morale, but by then it was too late.
http://archive.fo/TcUsg
> "I saw this presentation by a Google developer and I think we need to copy their release process"
One of these is very different from the other. Fancy coffee and whatnot affects your environment but release processes, frameworks, interview methods, etc, change your productivity and are all made to fit an organization of Google's size and bureaucracy. They're a terrible fit for most small/medium sized companies.
I also always find it weird how nobody picks other giant companies to emulate, nobody's like "Well JP Morgan has great employee mortgage rates!" or whatever.
One principle I think about when refactoring, is reversibility. If something turns out to be wrong, can you change your mind with minimal cost? To generalize, when trying something, can it be tried and backed out for minimal cost, while providing good information?
I also always find it weird how nobody picks other giant companies to emulate, nobody's like "Well JP Morgan has great employee mortgage rates!" or whatever.
For the answer, I think one can analyze their marketing and how the culture once perceived SV and the startup scene.
Any details on this? :)
because that it the most mindnumbingly ridiculous and timewasting fad I've ever put up with on a development team or company "because Google does it"
maybe C-level management should just do it amongst themselves and just put their results on a list and it would be the same as a random directive coming down from high that nobody questions. most of your startup's "passionate team members" are lying about it and do not care if they the understood the direction the OKR process went or if they just did what was told, skipping the whole thing.
If you don’t answer yes to one of my questions I suggest you try one or more. I’ve gone through lots of hobbies outside my house (preferably outdoors) over the years including running, working out, walking my dog, and now kayaking.
If your able to get your work done you should swap the YouTube time for someone else outside work.
Because you won't be able to do that when you have kids. The period from 0-5 years old is just brutal on all of time, attention, and finances. Having a financial cushion is pretty critical if, for example, you get hit with $50K in hospital bills while also needing to figure out daycare and baby supplies and your wife is spending 6-8 hours/day nursing and you're both sleeping 3-4 hours/night. Many new parent problems can be solved with money, and most of the rest are a lot easier if you're not worried how to get the money.
Besides, it's my most productive 40 hours a week, during the prime of my life. I don't want to spend that as a work-robot who dutifully produces exactly 40 work-units, no more no less, then vanishes into the night. I find it much more fulfilling to have both personal time AND investment in my job.
The main downside of these high paying, prestigious companies is that the places they offer jobs in are usually the really expensive cities.
Someone at a company I used to work for, read that study in 2013, and removed the air conditioners from our server rooms.
We ran at almost 90 degrees from that point on, inside the racks it was much hotter. We lost a couple battery backups, internal fans, and power supplies before I could convince them to turn the air back on.
1: The people are smarter. It's sort of cheating I suppose; better inputs make better outputs. Google doesn't have all the smartest people, but it's one of the few companies that get top-tier talent in a way that is meaningful. Everything else hinges on this.
2: Your manager (and their manager) cares a lot about you. That's a pretty broad statement and definitely not universal, but it's more often true than not. Managers are explicitly trained to focus on the needs of their employees, and the ones who don't are largely viewed as failures. No other success compensates for poor treatment of your reports. Again, there are plenty of bad managers, but they're widely seen as bad managers; justification like "demanding but fair" or "knows how to get results" or "evil genius" have little effect.
3: It's easy to move. There is no pay difference no matter what project you work on and internal mobility is encouraged and supported. People do what they want to do, and they tend to be extremely motivated as a result. It also helps remove bad managers: sinking ships get abandoned really, really fast. This is arguably the company's greatest weakness as well as it's hard to get people to work on something soul-consuming. But it's great for the employees and it's great for innovation.
I've heard that you'll get raises for working on new things. That's why Google launches so many new projects (and closes so many of those projects) and that's why old projects are constantly rewritten/redesigned instead of just imprpoving and bugfixing. I don't like it as a user, I want to use the same interface for 50 years and I want all bugs to be removed, rather than learning new interface and new bugs every few years.
I think that the OP's referring to a phenomena at different big companies where certain divisions get paid more because management deems that division more important. That creates a dynamic where everybody tries to get into that division, and the ones that can't end up bitter, demoralized, and resentful (and hence unproductive). Connecting pay to tangible accomplishments rather than where you are in the company avoids that dynamic, though it does create the one you've observed where everyone is hunting for tangible accomplishments.
I spent 5 years at Google hoping the intrapreneurship thing would work. AFAICT it doesn't, and eventually I came to accept Paul Graham's conclusion that big companies are constitutionally incapable of innovating and that's why he makes lots of money funding startups. In my observations the biggest problem isn't even compensation: it's that there are too many roadblocks to launching things and trying things out in a big company, too much incentive to be risk-averse, and too little feedback from the market itself with too much feedback from irrelevant decision-makers within the organization. The flip side of fixing those is that it radically increases both the failure rate and the rate at which the company pisses off outside people, both of which would be fatal at Google's scale.
IMHO the way Google does compensation is the best I've seen, it's just that "the best" will still result in good companies getting crushed by upstarts. So just accept that and try to create a good working environment while the company continues to print cash.
It is true that people are rewarded for impact, which usually means new systems. But this does not necessarily mean new products from an external perspective. I know a lot of people who have been promoted really high based on stuff that they have led that has zero visibility to external users but ends up being worth oodles of money (or whatever metric you are trying to impact).
Zillions of product launches seems to arise from a combination of a largely bottom-up company with a ton of employees and a culture of building things themselves rather than using existing solutions.
This is clearly both necessary if they want to retain their "all our people are among the best (and therefore have lots of options if they want to leave)" workforce and harmful to their projects. There's plain flakiness to their approach to things that's at this point a distinguishing characteristic of Google products. Even things that stick around long-term and don't get cancelled outright show heavy signs of no-one wanting to do the boring work, and no-one making them do it. Or of half-assing the boring work and then never fixing it.
I've seen many great projects sink over time because management over-indexes on easily understood, time consuming efforts, with only marginal customer impact. These efforts are easy to justify quarter on quarter - but are incredibly generic.
Great big products tend to emerge from driving repeatable improvements in something everyone needs e.g. search, content, recommendations, servers, networks, data etc. and solving the hard problems that no one else has the dedication to solve.
It is incredibly ancient. It's possible to use Babel w/ it though, and write reasonably modern JS. There's a CLI tool out there to upload something into an Apps Script … app? too; at one point, I had a project w/ a Makefile that would run the project through Babel and then upload it to Google.
I didn't try all the features (and I didn't have any npm/package management), but things like format strings, for(… of …) loops, let/const, new Map() all worked. Babel is a wonderful, wonderful thing.
I built my babel config to balance clean, new syntax with the least intrusive transforms possible. e.g. I have loose template literals on, since `\`hello ${world}!\`` is an easy transform (and still readable in the final source) as `'hello ' + world + '!'`. Generators, for .. of, and object rest/spread, are okay, but babel puts a ridiculous amount of helper functions at the top to support this. I suppose I could always configure each project with a shim file, but that's extra overhead I really could do without.
block-scoping, arrow-functions, function-name, shorthand-properties, spread (for arrays and arguments), template-literals (loose, so `+` not `String#concat`), and exponentiation-operator I found give the most bang for your buck. `for .. of` is nice but if I can pass arrow functions into my `forEach` callbacks that's pretty clean too. Pretty great being able to say
``` rows.forEach(row => { const payload = row.map(([name, rank, serialNo]) => ({ name, rank, serialNo })); SomeApi.doThing({ onComplete() { foo(); }, payload, }); }); ```
in gapps. That said, it took a while to even figure out how much was possible, but yeah it's a big step up.
So, it may be easy to move, but only in certain directions where management wants people to move.
(Or see if you can make a case for increased headcount somehow. Being good at persuasion or having a manager who trusts you can work.)
In which way is Google innovative? They have good products for sure, but I haven't seen much innovation at Google since a while. If anything the past few years have been mostly disappointing (Loon, Calico, Fiber, etc)
https://www.bcg.com/en-ch/publications/2019/most-innovative-...
I’d phrase this a little differently: the people there can be relied upon to at least have some “baseline” technical ability. Having worked at both FAANG and more mediocre companies, one thing that stands out is that while not everyone at FAANG are super-wizards, you’ll never have to sit there and explain things like “what is a stack trace” and “what happens when you write past the end of an array” and “what is the difference between O(n log n) and O(log n)”. You’ll never have to argue whether using source control is a good idea. You’ll never have people who spend weeks just trying to get Hello Project” to compile. All of which I’ve seen in other companies.
The big guys hiring processes might not be great but unlike most companies they seem to be able to filter out the complete know-nothings, and that alone is probably what raises the average.
TLDR: it’s not that they hire smarter people—they just avoid hiring way-below-average people.
Ed.: also appear to be very often very insecure about it.
I'd love to read the back story on this. Was it really a "hello world" project?
1: https://thedailywtf.com/articles/The_Brillant_Paula_Bean
Spill. The. Tea.
Spill. The. Tea.
Spill. The. Tea.
I've learned that once you're in a large and complex corporate structure, judging your value becomes difficult. In every job I've been I've found professional slackers who truly optimize to do the minimum. They can send all the right value signals while they keep their true lack of value hidden behind a complex maze.
The only way I can think of to minimize them is to set up high barriers of entry that require on the spot proof of ability: coding tests and programming problems. Everything else can be and has been bulshitted through.
Many companies hire people before they decide their position. So your job tasks might wildly different.
I've read and heard many accounts of college admission officers and hiring managers who say that among the top 30%, it is essentially random. They don't know how or even need to differentiate between the 30%, 20%, and 10%.
So what it comes down to is selecting a random differentiator that can stand up against nepotism (objective and measurable), legal scrutiny (fair), audits (easy to comply with) and so on.
Essentially everyone who answers those questions reasonably well passes. But the one who answered best gets hired because at that point we don't even have a good differentiating signal.
I would argue that the best innovations tend to also be "soul-consuming". If it were easy, someone else would have innovated in that area earlier, right?
There is, in my experience, plenty of appetite for hard, risky, complex, grinding, ambitious problems, and very little tolerance for boring, unimpactful or evil projects, since everyone at Google can already feed themselves and is more towards the self actualization end of the hierarchy of needs, and has no strong incentive to not roll off onto something more interesting or fulfilling.
Point being, crappy work is hard to staff, and some work is just always going to be crappy. Nobody wants to maintain a hideous collection of accumulated bad decisions workarounds that exist for historical reasons but which have no value other than allowing lazy customers to avoid upgrading their 1970s client code. At IBM we maintained it anyway and hated it. At Google that sort of thing can't keep a team together.
To what extends does this work? Let's say I want to work on Chrome's WebGL implementation, but I've no prior professional experience with neither C++ nor 3D graphics - would they still take me as a noob that will take a couple years to ramp up? I suspect not. So, you're probably most likely just stuck with your current niche and can only move within it - which, to be fair, is still much better than in most other companies where you're just stuck with your current project.
I’ll bite. Which other companies are like this would you claim?
Either way, there is very little, possibly nothing, that a company not named Google can borrow from Google. The scale and venue that Google operates in too different.
Generous (by US standards) parental leave, lots of holidays, excellent 401k plan, work flexibility, ease of job transfers, open/critical internal culture, blameless post-mortems as a standard thing, and of course, free food and gym.
Since you mention them though, many are not Google things. And others I would reject (ex: free food & gym).
What does this even mean? Most of the technical process stuff Google does isn't completely unique to Google either.
> And others I would reject (ex: free food & gym).
Why though? Honestly, having worked here, it'd be hard for me to go to a place that didn't have these things. It's just so convenient and awesome!
I heard exactly the opposite from some Googlers. That you DON'T want to copy their release process. At least, not without a good reason.
An executive can't just decree "no long meetings" and have it stick. Avoiding long meetings takes a culture of preparation and transparency. It takes clear agendas. It takes people showing up to the meeting knowing the agenda and the material, and being ready to approve, review, brainstorm, or do whatever the agenda calls for. It's hard--and worthwhile--to work on developing that culture.
An executive can't decree "one-click deploy" either. Obviously. It too takes a particular culture and a lot of time.
As for the perks: it takes a "no magic" culture. If the coffee runs out, some real human has to get more. In a big company, maybe that work can be outsourced. In a pre-revenue startup, there's no magic. You want coffee? Go get some. (They sell it at Starbucks and Costco, you know.) If you have an intern who will tolerate being asked to go fer coffee, send the intern.
Dirty bathroom, small company? No magic. Clean the bathroom.
It's akin to the story (I can't find it) where a company stopped providing free soda (or maybe they stopped subsidizing the price, I forget). The engineers were very upset, but it was just soda and god knows they could afford it.... but really it wasn't soda, the fact that management thought it was worth their time to pull resources from soda of all things was a very worrisome sign that indicated the company's values and possibly their future. Soda was the canary in the coal mine.
(I was ready to dismiss this article based on the title being too tropey, ironically)
Alas. New and shiny is a powerful temptation.