Live data from Hacker News

Why Good People Leave Large Tech Companies

thinkgrowth.org

121–130 of 265 posts

Re: Why Good People Leave Large Tech Companies

#121

This post rings eerily true. Recently had a company all-hands where the CEO said basically the exact same lines. The whole "if you don't love working here, then you should leave" bit made me cringe. Easy for you to say when you've got a significant equity share in the company. The saddest realization I've had working at companies is how power-hungry people are, how little respect the people in power often have for th…

I'll take the unpopular position of supporting a small room of a few "higher ups" making decisions. This is exactly what you want: a small number of people with a lot of skin in the game making important decisions. Good leaders gather feedback and counter-arguments beforehand, but then make a firm decision, and it's diminishingly rare for that decision to please everyone. The people who are not pleased should still f…

It's the feedback and counter arguments that are often lacking, and being unwilling to admit the decision was wrong.

I've been in this situation a few times and it's very hard to push back on a decision that's been 'made' even if it's not appropriate for the team you're on.

Re: Why Good People Leave Large Tech Companies

#122
post #60

Earlier quoted context omitted.

> Emphasize that the most important part of software development is moving fast. This doesn't seem to me to be true. Can you expand on your thoughts here? I'd agree that the ability to move fast is an essential part of effective software development, but I don't think it's the most important (the most important is producing business value accurately and reliably), and I think that moving fast for the sake of moving f…

Unless you take conscious steps to remain flexible and to eliminate barriers to productivity, you're going to find your ability to "produc[e] business value" diminished because effort will get sucked into process instead, and for reasons nobody can identify. Soon enough, you'll find yourself wondering why you have so many developers, all of whom appear to be doing work, yet without getting anything done. By default,…

Your focus on "process" is missing the deeper truth: companies don't slow down because some busybody managers put in processes, it's because as organizations (and codebases) grow, they become more complex and more difficult to change.

It's not a question of preventing formal processes, doing that indiscriminately is a recipe for disaster; every engineer will do things their own way, and once the head count exceeds the ability for everyone to talk to each other daily, there will be an explosion in complexity and duplicated effort. Rather, you need to put in the right processes, maintain them just as you would code, and kill them when they no longer serve the company. Where "process" goes wrong is when it's used as a hammer to address issues that would be better served by team structure, common tooling or architecture. For instance, if you have a quality issue, adding more code reviews will generally cost a lot more, and do a worse job than making the responsible team wear the pager for their own code.

The real secret sauce to staying agile as a company grows is small, cross-functional teams. This is where SOA (microservices for the kiddies) really pays for its overhead—by decoupling human teams and giving them agency. This won't make a big company as agile as a startup, because that's literally impossible, but Amazon and Facebook have shown how much more agile it can make you than any prior megacorp.

Re: Why Good People Leave Large Tech Companies

#123
Just another revolution of the wheel of the infamous "How Software Companies Die"[1] which has this balancing note: "The environment that nurtures creative programmers kills management and marketing types - and vice versa."

When a product innovation company turns to medium size, the process comes in with the executives and soon after innovation dies, but the product market value is realized and efficient. The problem comes if the leadership isn't repeating the cycle.

A company can thrive if they stay innovative and invest in new products always though, most of those companies are engineer led because it leads to happy development/value-creation: Amazon, Google, Microsoft (except for the Ballmer era), Valve/Epic in the gaming industry etc.

[1] http://www.cs.cmu.edu/~chuck/jokepg/joke_19970213_01.txt

Re: Why Good People Leave Large Tech Companies

#124
post #4

Earlier quoted context omitted.

Tesla?

That seems to fit: 1.) move from Palo alto to east bay 2.) manufacturing company with software engineers 3.) lots of people leaving 4.) CEO changing the world. However, I'm sure many companies meet that.

Musk is also notorious for underpaying his engineers.

Re: Why Good People Leave Large Tech Companies

#127
post #46

This attitude of "you really have to want to work here or you ought to leave" justifies a lot of insanity. I've heard it from companies who make potential employees jump through ridiculous hoops to even get a chance at a job. Here's reality for people who suffer from this delusion: most people don't give a fuck and are just looking for a job. They're applying to dozens or hundreds of jobs (yes, even in software), and…

People are applying to dozens or hundreds of jobs at once? How is that possible? I'm generally only considering 1 new employer at a time, and the most I've ever done concurrently was applying to two companies in CA at the same time. How could there even be dozens of companies that you'd want to work for at any given time?

You could look at all postings over the last month, from many different online sources and in 2 - 3 of the top tech cities. You could probably do it just by looking in a single city.

Re: Why Good People Leave Large Tech Companies

#128
post #39

Earlier quoted context omitted.

I have a hunch that you've never worked at a growing mid-sized or large company that is clinging to its startup roots and is averse to any sort of process at all. Being unwilling to adopt a necessary amount of structure and process is just as much of a hindrance once you hit a certain size. That may be a newer or less common problem, but it's a very real one.

Agreed. I've often found that those who are resistant to any amount of (reasonable) formal process are those (usually long timers) who were most empowered by the implicit process and rules. In the end, they're also saying "nothing should change unless I say so".

This and the parent comment describe exactly what happened at the company I just left. I wonder if the newly hired TPM will ever have any real power there.

Re: Why Good People Leave Large Tech Companies

#129

This post rings eerily true. Recently had a company all-hands where the CEO said basically the exact same lines. The whole "if you don't love working here, then you should leave" bit made me cringe. Easy for you to say when you've got a significant equity share in the company. The saddest realization I've had working at companies is how power-hungry people are, how little respect the people in power often have for th…

We tolerate tyranny and imbalanced power structures everywhere in this country. Corporations are a cheerio in our cereal bowl of oppression.

I was wondering about a country with a king with a board of directors for a while now

Re: Why Good People Leave Large Tech Companies

#130

Earlier quoted context omitted.

Unless you take conscious steps to remain flexible and to eliminate barriers to productivity, you're going to find your ability to "produc[e] business value" diminished because effort will get sucked into process instead, and for reasons nobody can identify. Soon enough, you'll find yourself wondering why you have so many developers, all of whom appear to be doing work, yet without getting anything done. By default,…

Your focus on "process" is missing the deeper truth: companies don't slow down because some busybody managers put in processes, it's because as organizations (and codebases) grow, they become more complex and more difficult to change. It's not a question of preventing formal processes, doing that indiscriminately is a recipe for disaster; every engineer will do things their own way, and once the head count exceeds th…

> This is where SOA (microservices for the kiddies) really pays for its overhead—by decoupling human teams and giving them agency.

Funny you mention microservices, because I've been thinking about Susan Fowler's book about them and how the advice is basically "Here's how we made sure that we kept up our agility by introducing tons of process before anyone could think of deploying a microservice, because otherwise every team would do literally everything their own way and it would be great until it turned into an unquenchable tirefire."

I'm not aware of Uber's technology organization having stopped producing business value. That company has a lot of problems, but the inability of their software engineers to engineer software doesn't seem to be one of them.

Post reply on HN