Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The problem here is that the modern company embodies a lot of the principles of medieval serfdom.

Serfs occupied a portion of land and owed a portion of their crops to the lord of the manor or their feudal lord. It was slavery in all but name.

The modern company is a kingdom. Managers are feudal lords. Managers can decide to hire (and fire) employees such that the employee is essentially beholden to that manager. Employment status is analagous to the land serfs worked.

The problem is that most companies have little internal mobility. If you don't get on with your manager the best thing for you and the company is to work for a different manager yet most companies make this exceedingly difficult.

At Google, individual engineers are far more empowered than that. There is a strong internal process for simply changing projects.

Also, most companies have performance feedback come solely from managers. Managers are an important source at Google but peer feedback carries a huge amount of weight.

So in many companies employees leave because they can't escape their feudal lord. I get it. The problem here is corporate feudalism.

Companies need to stop making it easier to move to a better team or getting a pay raise by leaving the company rather than moving within the company.



On a related note, some of the more effective companies I've worked for have had strong "up or out" cultures. Now, I know that this sounds harsh and draconian at first. And it conjures up images of political intrigue, heated power struggles, and corporate backstabbing. But truth be told, I've actually found those evils to be more prevalent in companies that don't cull their dead weight.

What happens is that these firms accumulate a vast, stagnant layer of middle and upper management types who have no incentive to work any harder, take new risks, or develop talented employees. Instead, they're simply cashing in on a safe paycheck, riding a pretty cushy high horse, and fiercely fending off anyone they perceive to be competition for their sweet gigs.

Compounding this problem is the fact that mobility slows to a crawl, because the queue is full. This breeds dissatisfaction with the young, ambitious types, while simultaneously breeding resentment among the older, entrenched types who adopt the grumbly "kids these days..." defensive mentality.

Now, there are plenty of ways to screw up the up-or-out system: bad KPIs and standards, inept evaluation processes, etc. But no system is perfect, and at least a system that forces honest dialogue with managers about their future advancement prospects is better than a system wherein lousy managers can overstay their welcome.


I agree that companies that don't cut the dead weight have tremendous amounts of very bad internal politicking, up-or-out organizations tend to have politics optimized around moving up...which is very rarely tied to any sort of work performance.

The U.S. military has a similar up-or-out policy (especially among the officer corps) and the result is (more often than not I'd say) yes men who latch onto a strong leader type and ride his coattails into a senior officer position. The result is poorly informed and advised leaders, and senior staff who spend their time figuring out if what they're doing will be approved "by the old man" instead of actually promoting the function of the organization, fight and win wars.


I'd argue that this problem exists in any large bureaucratic culture, and that its prevalence is often just as bad in non up-or-out environments.

The key difference between up-or-out and the alternative is that, in the alternative, a certain segment of the employee base plays the politics game, and a certain segment kicks back and stagnates in the middle, while the rest try to get ahead honestly. In up-or-out, at least the third category has a decent shot. In non-up-or-out, the people trying to work hard and advance on merit will run up against the entrenched slackocracy and the political Machiavellians.


It's almost like you're describing the dichotomy between military officers and civilian federal government jobs, where somebody can chill in a GS-13 position for 20 years and then retire.


False equivocation. The problems are not all of the same severity, and it is a fallacy to say they are "all the same" just because you use the same word, problems.


I didn't say that.

In my post, "problem" was referring to the parent post's "politics organized around moving up." My point is that most corporate cultures have elements of that focus on upward mobility. Obviously its prevalence varies from company to company. But I'd rather take a culture with an over-focus on upward mobility and potential for upward mobility than a culture with even a lesser focus on upward mobility, but less potential for it (due to all the dead weight).

I'm not holding "focus on upward mobility" equal in that assessment.


The problem there is that the US military usually has a very hard time evaluating actual effectiveness since it's not reasonable to start a war just to see how your employees do.

This means during prolonged periods of peacetime, a form of regulatory capture happens where the metrics used to evaluate promotion become decoupled from actual fitness of purpose.


Metrics used to evaluate fitness being detached from the actual purpose of a position is not only a characteristic of the military.

For example, since success in academics is usually the first requirement to even start in any position above the most menial, anyone who finds it difficult to toe the line and waste hours listening to someone drone on about a topic totally unrelated to their purpose in life, or enthusiastically embrace make-work homework assignments, will likely have a hard road, no matter how well qualified they might otherwise be.


well, I meant the military as an example, it's interesting that you bring up evaluation of fitness during peace vs. war time.

One could argue that the U.S. military in particular has had a tremendous opportunity this last decade or so to conduct exactly the kind of wartime evaluation you're talking about. But I wonder if the evaluation metrics are optimized towards peace-time?


Not a military member or veteran myself, but am friendly with quite a few present and former officers. The culture they describe sounds extremely political. Almost like being a career military officer is equivalent to being a career politician. To some extent, there's a hint of academy politics as well: people who publish, get cited, etc., move more quickly than people who don't. To another extent, there's classic politics: people who schmooze within the Beltway, know how to play the media game, etc., get ahead quicker than others.

In many respects, David Petraeus is the perfect embodiment of these political principles. He published, he politicked, he maximized his media exposure, and he hobnobbed within the right DC circles. I'm not qualified to judge whether or not he was as good a leader as many believe him to have been. But he was certainly a top-notch political operative.

(Other government agencies, e.g., the CIA, have very similar internal political incentives. The game is almost the same. This may explain, in part, the fluidity between military leadership and Agency leadership).


That sounds like a massive conflict of interest.


Usually a "senior" officer needs some command experience to make it beyond O-6. I know the Navy in particular, attaches qualifications to certain positions which would make it hard for yes-men to get promoted, even if they're on the CNO staff. For example, a CVN Carrier skipper, has to command a smaller ship, and be nuclear qualified, and usually a tour as carrier XO, before they get their command.

For the medical corps, above O-6, they usually have commanded at least one smaller facility, before they get an administrative flag assignment. More than a few have flamed-out at O-5 and O-6 commands.

In a carrier squadron, being XO or CO is preceded by being a department head. Maintenance department is a good one to get a command, but there are other departments.

The Army Medical Command had the problem with senior staff, where they were a large number of senior officers, O-8/O-9, involved in the Walter Reed scandal in 2007, were either fired or retired. Covering over issues with memos and paperwork up the chain-of-command by "yes men" didn't cut it.


The problem is that "command experience" doesn't mean that you did a good job at it. The impression I've got from friends who have observed this process first hand is that people get shuttled into a job to get "command experience", do a crappy job but everyone hunkers down and waits because they know they'll be gone to a better gig in 6 months so why rock the boat, and then the person gets promoted with their newfound "command experience".


Some of those same officers get relieved due to "poor command climate" one somewhat recent example; "[Navy Captain] was fired as commanding officer of Navy [a] Health Clinic after a survey found a poor command climate." Doesn't happen as much as it should, perhaps, but its not unknown.


The major difference is that the good leaders (whose coattails others want to ride on) should be able to distinguish capable subordinates from useless yes-men.

If they can't, they deserve to drown themselves. If they can, they will filter out most of the fakers, and collect a team that can get stuff done in real adversial situations - since a great commander with a sucky team will suffer, and an okay commander who is able to build a great team will get whatever achievements are possible.


I can see the benefit here of keeping people motivated to continually achieve more but it seems based on the assumption that everyone is capable of going all the way to the top.

In the worst case scenario, a large number of people go "up" to the point where they're no longer capable of doing the job they're in and then go "out" after a brief period of doing their job badly.

These people may well have been very competent at their previous level of authority and so the business as a whole loses out.

Additionally companies which state outright this is their policy often have quotas of people who should go "out" which I've seen, in particularly talented groups, lead to an almost random selection of people going out despite the entire group being so close together in ability than no meaningful distinctions can be made.

EDIT: re jonnathanson response below, agree completely that if up can mean a person is performing solidly and achieving good results while improving year on year then such a system can be very beneficial. My criticism is much more focussed on systems where up explicitly means moving through grades, especially where there are attempts to apply quotas to who goes up and who goes out.


"In the worst case scenario, a large number of people go "up" to the point where they're no longer capable of doing the job they're in and then go "out" after a brief period of doing their job badly."

AKA, "The Peter Principle."

http://en.wikipedia.org/wiki/Peter_Principle --

The Peter Principle is a belief that, in an organization where promotion is based on achievement, success, and merit, that organization's members will eventually be promoted beyond their level of ability. The principle is commonly phrased, "Employees tend to rise to their level of incompetence." In more formal parlance, the effect could be stated as: employees tend to be given more authority until they cannot continue to work competently. It was formulated by Laurence J. Peter and Raymond Hull in their 1969 book The Peter Principle, a humorous[1] treatise, which also introduced the "salutary science of hierarchiology".


Yes, but I see no proof that the Peter Principle is any more prevalent in up-or-out organizations than in other types of organizations. PP occurs in every large company.


Up-or-out is supposed to prevent the Peter Principle.

When the PP is active, people "rise to the level of their incompetence", and then stay there indefinitely. In Up-or-out, if you stop rising, then (after some suitable attempts to help you get unstuck) the company starts encouraging you to leave (with increasing vigour). They get the benefit of your knowledge at every level that you can operate at.


I think it depends on how we define "up." I think it's entirely fair to have a culture that encourages up-or-out, wherein "up" may mean professional advancement, or it may simply mean that the person is performing solidly and achieving good results, or improving year over year.

In this case, "up" means improvement more than it necessarily and literally means up the ladder.

I realize this reponse could be interpreted as a bit of a no-true-Scotsman reply, but honestly, it's intended to be a clarification of my original post.


I imagine it works best if there are at least some "up" paths which don't lead into management.


Interesting. What does 'up or out' do with senior engineers who don't want to start managing people? Do they leave the company?


At least at Microsoft, and I assume other primarily tech companies, there are level bands (job titles) above "senior developer" (principal, partner, technical fellow, distinguished engineer) that have nothing to do with management. Generally one can have a full career striving for technical fellow/distinguished engineer without stagnating (though not necessarily achieving it, tis a lofty accomplishment).


I know that HP Labs has a similar arrangement.


Same with IBM.


They go out, obviously. Up or out is only better than the very worst cultures. Given how maddeningly difficult it is to find competent people at any pay grade it seems extremely stupid to chuck everyone out after a while. It also implies a bias towards promoting from within, which is a great way to create cultural stagnation.


I once had a job interview at a small software consultant firm. 30 or 40 employees in 6 offices. They also had a demanding policy, probably not strict 'up or out' like at McKinsey or Deutsche Bank but they do fire people when they don't perform well enough. One of the guys who interviewed me was one of the 2 or 3 highest ranking people there and a technical person.

That was their deal: you start out as Junior Developer and when you are there for 5 or so years, you can decide whether you specialize into technical stuff or people stuff. From phone calls with recruiters I had the impression this is not an unusual model.


The only places I've ever heard of with a strong "up or out" culture are based on professional services.


Some companies have thresholds after which up or out is no longer the case. The logic being, below this level, your seniors are putting more work into you than you are producing (i.e. holding your hand, reviewing your work, generating new work for you to do, etc.). After you pass the threshold where you are a net contributor, you no longer have to go up if you don't want. Not sure how common this practice is.


Well, that's how Jack Welch managed GE back in his days. He made it pretty clear that in order to move up they either became a black belt or move out.


The biggest irony lies in the fact that in most traditional companies managers (people who manage developers) are usually the people who were never smart enough to make it as developers in the first place.

My company does this all the time. Didn't do well enough at the job interview or you're a total bozo and poor at understanding technical concepts/writing code? No problem! They'll appoint you as a project manager and you will get a team of developers to manage. At the same time, the brightest and the best engineers rarely get promoted because they are keeping their heads down and actually getting shit done. And there is little incentive for the company to promote such people because they lose a skilled and productive programmer if they do that (they don't care about anything except for how fast you can crank out code - one of the typical ailments of consulting companies).

It's a very sad state of affairs. Makes me want to quit really.


Yes, and they get to give you lots of work then go home. Meetings and checklists for them. Plus, every now and then they get to explain how to do your job to you. It's kind of weird. I've been doing this for 20 years. I was wondering if anyone else noticed.


I know a huge bank that had problems that every developer they promoted, quit.

It was because their managment positions were so stressful and so communication heavy, that most developers were totally not suited for it, and just plainly quit.


Technical types tend to think that there's not much to the task or process of motivating and managing a team.

The people that promote individuals into management roles are often just as naive. The individuals are expected to develop new skills simply by virtue of having been promoted.


Maybe I'm arguing semantics, but to me project manager != manager. I have run both PM & dev teams, and often PM's are paid far less than dev's. In a lot of cases I wouldn't consider a move from being a dev to a PM to be a promotion in any sense.

A proper Manager who is coaching his staff, performing performance reviews, ensuring the team has all the resources needed to do their jobs as efficiently as possible, protecting the team from unnecessary bullshit meetings/interruptions, etc is a completely different story.


It's a fallacy to believe that good developers should make good managers and vice versa. I've had great managers that haven't written a line of production worthy code in their life, I've had horrible managers that were genius developers. Companies without a technical career path create bad managers because great developers that should go on to be Principle Engineers and Architects have no choice but to get into HR in order to advance their career even if they aren't fit for it.


You'd have to be a good developer who wants to be a good manager, or a good manager who is smart and cares enough about technology to absorb a lot and obsess about the details. I think the implication here is even if you have those traits the opportunity doesn't exist at most companies.


There are people saying this (more or less): leaders can be used in a any field, even a field they don't know.

Being a technical person, I used to doubt this too. But having seen to many bad managers in such a short time, I believe it's true. When you are senior enough, in a small company, you don't need a technical supervisor. You just need someone you can trust, who gives you political backup and who will evaluate you on your results.




The Peter Principle is a belief that, in an organization where promotion is based on achievement, success, and merit, that organization's members will eventually be promoted beyond their level of ability. The principle is commonly phrased, "Employees tend to rise to their level of incompetence." In more formal parlance, the effect could be stated as: employees tend to be given more authority until they cannot continue to work competently. It was formulated by Laurence J. Peter and Raymond Hull in their 1969 book The Peter Principle,

http://en.wikipedia.org/wiki/Peter_principle

This should be required reading: http://books.google.com/books/about/The_Essential_Drucker.ht...


true, I've experienced that as well. The morons who wrote shitty code, made project managers.


So all it takes to be a manager at your company is to bomb the job interview? I could use a pay raise, which company do you work for?


sometimes gifted devs are horrible managers.


Speaking as a developer I have to say the arrogance in this post is very disturbing. It reeks of someone who has no idea what they're talking about and can't understand the challenges people other than developers face. To think that managers are people who aren't as smart as you are, or are people who couldn't hack it as a developer is ridiculous and naive and arrogant.

If your job is that shitty, and you're that smart and good, quit and find a better job.


And in fact the amount of shit that corporate developers are protected from is phenomenal. Getting shit out of the way of developers is the job of these managers.

Now of course, some companies are better or worse than others, some managers are better or worse than others and so on.

Personally I don't see myself a manager because I lack the social skills. In some days I barely remember to do minor things like sending out an email to my team at the end of the day or ask about the status of some roadblock.


Developers are supposed to be grateful that managers protect them from shit from even dumber and insane managers above them? Nope. Why not just fire those insane managers slinging shit everwhere.


It's not that black and white.

Ofttimes, what looks like meaningless corporate bullshit to a developer looks like valuable fertilizer to some other part of the organization, or to a regulatory body, or to something else that makes the company go. "looks like" phrasing was intentional here.

I was a damned good developer back in the day, and am working on being a good manager (of managers at this point). There is an insane amount of red tape that sprouts up over time in any large assembly of people. Some of it has some positive purpose somewhere; some of it has no evident purpose.

The best managers seek to protect their teams from unnecessary BS, but that doesn't necessarily mean eradicating it from the company. Shielding can be just as effective locally, at a tiny fraction of the cost.


Maybe we are talking about two different things. There's no qualms with stupid requirements, red tape, or regulations. The bullshit that I am talking about are the ethical lapses, the lying, the backstabbing, the disrespect, and the threats. There's no situation where that is legitimately valuable to some other part of the org. Anyone out there who thinks this is necessary or just part of the game needs to do an ethics check.


The parent might be arrogant, but he also happens to be right. A lot of managers are simply incompetent and not that smart.

In my experience, it's usually _not_ the line managers but the people above them. I've left several jobs, but almost always wasn't because of my immediate manager.


Nope. No way. I'm a developer who has worked with a lot of managers on group projects in many different business classes. I have had all sorts of problems in group projects because by and large the managers all want to do the project during work hours while I am coding and testing as fast as possible so I can get home by 8pm. So, I'm going to go ahead and say bullshit to "the challenges people other than developers face." Maybe you can explain the challenges? I can imagine the difficulty in two manager trying to out-bullshit each other. This does not constitute an inherent difficulty in the job, but is a difficulty in living with themselves. If managers are shitty to each other, its not because of the job description, its because they are shitty to other people.


I'm not a manager, I'm an engineer, but I'll speak up for the managers...

The challenge managers have to face is balancing competing priorities. If you're a manager, you have customers/users that you need to please to keep the money rolling in. You have an executive who often has very strong opinions about how to please those users. You have employees that each have their own career goals and interests, which may not necessarily be aligned with yours. You have cross-functional peers who you frequently need to rely on for favors, and yet often speak a totally different language from you. And you somehow have to make all of the above groups happy, or at least not totally pissed off at you, to keep the organization functioning.

I dunno what your job description is like, but mine (as a senior SWE at Google) is "Figure out how to make users happy". If you don't face similar ambiguities in your job description, it's because there's a manager somewhere up the org chart who did all the messy work of listening to what everybody else wanted and somehow harmonized it all into something halfway buildable. If you have a spec you're following, there was somebody out there who wrote it. If you're getting paid, it means somebody out there sold the product, and that usually requires listening to all the customers out there and figuring out what they want in common. None of these tasks do themselves.


That would be great except hat is not he real world. In the real world managers provide no value. Many are bold enough to admit to me that from the start they planned their careers around doing as little real work as possible and are focused only on ladder climbing and getting head count under them. My job description is wide open, I do all phases from conceiving of a project, to selling it to internal users, to coding and testing, to deploying and getting feedback. It's essentially intrapreneurship. I have never met a dev manager that understands software well enough to even begin to help in these regards. The ones that actually tried to organize development simply tried to dumb down the work to something they could understand like reports. As for the org knowing what they want, they want head count and exposure. I I could code these things I would be CEO.


The real world is a really broad place. If your manager doesn't add any value, quit and be CEO. I've done that before and I'll do it again if I find that I'm in a position where being part of an organization subtracts more value than it adds. For the moment, though, I've found that my manager and the rest of my organization adds a bunch of value in very subtle ways that I wouldn't get if I were out in my own startup.


> If your job is that shitty, and you're that smart and good, quit and find a better job.

That's the crux. If you really are that good, it shouldn't be too hard to leverage your skills somewhere better.


"At Google, individual engineers are far more empowered than that. There is a strong internal process for simply changing projects."

That assumes the Hogwarts Hat of random allocation doesn't land you with a stinker from the get-go. And I speak from personal experience that it occasionally does. If I had been able to change projects to something more relevant to my skills, I would still be there.

There have been far too many stories of arbitrary google managers both here and elsewhere to keep putting forth the story that if one goes to google, one can simply change projects if one doesn't like what they're doing.

Just one example from http://www.glassdoor.com/Reviews/Google-Reviews-E9079.htm

"For the most part, Google is held together by duct tape. Management quality is clearly below what's required for a company of this size. In a lot of cases managers are simply too junior and lack people skills."


Your prodigious propagandization of your paymaster is praiseworthy, but you don't need to take michaelochurch seriously to perceive this isn't a perfect picture of paradise.


I like the alliteration! Except that I feel a need to wipe my imaginary spittle from my face... ;-)


>I like the alliteration!

Good! If you really like words and want to get some copy edited you should check out http://www.edithero.com/


>The modern company is a kingdom. Managers are feudal lords. Managers can decide to hire (and fire) employees such that the employee is essentially beholden to that manager. Employment status is analagous to the land serfs worked.

Exactly.

It doesn't just hurt the employees, but the company (kingdom) as a whole. The managers (lords) concern themselves primarily with expanding their departments (fiefdoms), typically at the expense of other managers, rather than working to grow the company or improve the quality of life within it.

This leads to a mentality of collecting more rather than better staff, ass covering rather than innovating and all sorts of other bullshit.


Facebook has an explicit program (hackamonth) to avoid limiting internal mobility - https://www.facebook.com/notes/facebook-engineering/hackamon...


That is the theory at Google. And then there is the practice. Which varies across the organization, and can be influenced by the manager in a lot of ways.

Let's just say, I've heard rumor that my manager was asked to leave not too long after I was. And the circumstances of my leaving were not entirely unconnected.


Serfs occupied a portion of land and owed a portion of their crops to the lord of the manor or their feudal lord. It was slavery in all but name.

The most important point making it like slavery was the fact that serfs couldn't leave their fiefdom.

That's where the analogy to a modern corporation breaks down - employees can quit whenever they want.


That's where the analogy to a modern corporation breaks down - employees can quit whenever they want.

If they like starving, yes. Being subject to Morton's fork doesn't make for a great day.

Software developers are currently in a pretty great place in this economy. Not everyone is. It's pretty important to remember that.


And it's also pretty important to remember there's life outside the US of A, where software developers are in a less rosy place.


Thats not exactly true, and I don't feel it breaks the analogy. Many, many people cannot simply up and leave. Sometimes people are locked in place due to family and lack of alternative employment in the given area.

Sounds like you don't have any ties to where you are and what you do. How is that working out for you? (genuine question)


Well then maybe sharecropping is a better analogy. Similar lack of agency but in theory you could leave.


Here we are still mucking about in the echoes of the late 19th century trying to make these outmoded models work, in education, in politics, in the workplace. There is too much inertia due to power dynamics and due to government control, things won't change until people start proving there are better ways.


Ok, what is the model you are envisioning then? There aren't many other structural models I'm aware of. Are you thinking modern companies should be more like Valve, perhaps, which are very flat instead of hierarchical? This works great for Valve, but they do cherry-pick veterans of their respective trades.

I know the "flat" model is enticing, but I have yet to see an example that handles greenhorns well.


If I had a sure fire management model that was objectively superior and worked in almost all circumstances I wouldn't be talking about the problem I'd be off making money with it or proselytizing.

I have many solid arguments as to why the current system, which really is rather feudal, is broken and could not possibly represent the apex of management systems. I also have a few good ideas about alternate systems. However, that would make for quite too long of a discussion here, so I'll save it for some other time/place.

Nevertheless, I will point out that if there is a solid trend as it relates to the impact of the progression of networking technology and software in general it is that both have a tendency toward disintermediation. And if there is one intermediary who is oh so very ripe for being kicked into the gutter it is certainly the middle manager. How do we get along without him/her? To my ears such a question has the ring of "how will we get along without cholera?"

So, here's some bullet points: greater individual autonomy/responsibility/return (e.g. profit sharing & equity); more peer relationships and fewer superior/insubordinate relationships (though not the absence of such), note carefully that this is not identical to a flatter hierarchy; more freelance-style and partnership relationships (whether across or within corporate boundaries); more reliance on leads instead of managers; more mentor/apprentice style relationships. In general the "employer/employee" relationship being closer to a partnership that both have entered into freely and with respect for the other party with the expectation of mutual benefit resulting rather than a coercive, unequal, and authoritarian bond that employment often imitates today.


What system do you think will work better, assuming we can overcome this inertia?


>Serfs occupied a portion of land and owed a portion of their crops to the lord of the manor or their feudal lord. It was slavery in all but name.

I guess it depends on your definition of slavery. Most serfs had some degree of autonomy and self-determination even if they were forced to pay tribute unfairly.

So that incites us to ask, how is it any different today, when we are also forced to pay a [quite hefty] tribute to the government simply for collecting money? We all have some form of autonomy, but the government has demonstration that only exists so long as we pay tribute and sacrifice the fruits of our labors. Same story as a serf, who would be granted a parcel and expected to pay a tribute to his lord or suffer serious infractions of basic rights to self-determination.


Yea, michaelochurch have talked about "open allocation" before.


So this is apparently less of a thing now, or at least it wasn't an issue for me. I negotiated an offer with Google last week, and I have a very good idea of which team I'm going to. I was given three options based on preferences and "matching my background to teams". Before accepting the offer, I was allowed to narrow this down to a single team.

I don't know if this is common now or only applies to people coming off of the industry track instead of the university track, but it was not at all what I'd been warned to expect.

So far everything about Google has been generally fantastic. I'm hoping it lives up to it once I'm inside.


This is exactly how my allocation went in mid-2010.


Mine as well. Early 2009.

I do suspect it has something to do with your employee bargaining power, which depends both on your past track record and on how many people are being hired relative to staffing needs. Managers bid on Nooglers, draft-style; if many teams are bidding on you, you have a lot of flexibility in where you end up, while if only one team bids you're basically stuck with them. michaelochurch was hired in 2011 IIRC, when Google notoriously overhired, and it could be that many of the other teams were flush with Nooglers and not looking for anyone else.


When I was hired, I had a list of five managers to interview with. During the first two weeks after I started, I talked with each of them and decided where I wanted to be placed. It was made clear to me that if I didn't like any of those five, I would get another list.

Just my experience; I started at the beginning of 2012.


> Serfs occupied a portion of land and owed a portion of their crops to the lord of the manor or their feudal lord. It was slavery in all but name.

Add in the ability to occasionally submit votes that are statistically irrelevant and you've got modern Western democracy.


This is a great post, but my experience with Google is that it doesn't empower individual engineers until they reach the Sr. SWE or Staff SWE levels. There's a Real Googler Line, which seems to be somewhere in the Senior SWE tier. If you're above it, you have independent credibility and you can change projects and as long as you're not a total flake about it, you get enough opportunities that you can find a place where you shine. If you're below the RGL, you get locked out by headcount limitations and your best hope is, after 18 months, to transfer to a slightly less bad project.

What you're discussing is the Credibility Drought. Companies define credibility so that only managers have it, in order to create an artificial scarcity that makes employees easier to control. That's what enables the managerial extortion that forces employees to serve local goals (the manager's own career) rather than the benefit of the company (or the growth of the individual).

Very few companies formally allow a manager to unilaterally fire. That's way too much of an HR/lawsuit risk. Instead, these closed-allocation dinosaur companies define credibility in such a limited way that managers can either support or not support the employee, and then if the person is not supported, that person's credibility is zero and the manager isn't firing that person. "The company" does it, after "careful review" of "objective" performance statistics. On top of this, they set tight headcount limits so that for anyone to get a good project requires a special favor, allowing the company to say "no" and appear consistent on the matter.

Google is aware enough of this problem to allow engineers at above a certain level to acquire independent credibility.

At Staff, you can pull a Yegge (quit your project in public) and be OK. If you're a SWE 3 and you try that, you're fucked.

So Google may be different from the full-on closed-allocation nightmare corporation, but you only if you either (a) start at a senior level, or (b) get on visible, desirable projects when you start, so you can get promotions quickly. The only time it isn't difficult to transfer to something better is immediately after a promotion (and there are some managers who withhold promotions to keep people captive; Google, to its credit, has a system that occasionally overrides managerial objections to promo).

The sad thing is that I don't doubt that Google is better than 95 percent of large corporations its size in terms of internal mobility, individual autonomy, and engineer-centric culture. It might be better than 98%. It's still pretty awful for a large percentage of people who work there, and the fact that it's so much better than most of what else is out there is a damnation of Corporate America, not an endorsement of Google.


I was a Senior Engineer with a manager who talked to me once on the day I joined the team, then forgot I existed for the next 3 months. If I had discreetly transferred without trying to repair this, I think I might have pulled it off.

But instead, I mistakenly emailed him, concerned that he was holding 1:1s with everyone else on the team except for me. He then hastily called a 1:1, apologized for forgetting my existence, and then immediately informed me that I was now behind on his expectations of my productivity.

My friends advised me to go to HR, so I did. Whereupon I found out he had already paid them a visit to inform them of me. At this point, the google immune system geared up to encourage me to leave of my own volition. I tried to get on to other teams. Friends in the company tried to get me onto their teams. These efforts were blocked.

Deciding this was a game not worth playing further, I left a month later when I got a compelling offer elsewhere.

Waste of 4 months IMO - but I also believe that if I had just been allocated to a more relevant team things would have turned out far better.


I don't think I would have let that go for three months. Did you try to contact him earlier? Did you have work in those three months? Were you checking in code?


This. After the first paper-work week, if I had a supervisor who didn't assign work to me, I would seek him out, if only to gauge his expectations.


Work was assigned to me the first day and I'm a very self-motivated independent worker when given a task. That trait had served me well right up to joining Google whereupon it flamed out because I probably put too much time into learning google's tool chain.

At the 3 month meeting, the manager openly admitted that while he managed two teams, he devoted most of his energy to the other one. So in his defense, he was overallocated. His other team was more interesting. But I think he already wanted me gone at that point so that wasn't an option.


What did you do for those 3 months, besides the first few days/weeks?


If you're asking whether I was productive, yes, I was, just not sufficiently so apparently.

My failing was explained to me that since I was a "Senior Engineer(tm)" I was supposed to arrive at google an expert in all their technologies so I could be a successful generalist and finish my starter project (in a brand new unfamiliar field to me) in <2 weeks. Whatever.

In contrast, I reached productivity <48 hours after starting my next gig, which did make use of my skills.


My failing was explained to me that since I was a "Senior Engineer(tm)" I was supposed to arrive at google an expert in all their technologies so I could be a successful generalist and finish my starter project (in a brand new unfamiliar field to me) in <2 weeks.

They make up those expectations after the fact, of course. Rather than have the decency to say, "I just don't like you, and don't want you on my team" your manager had to build an objective-looking "performance" case and it sounds like he was a total twat about it.

No one gets anything serious done in the first 2 weeks, and you're not expected to. That's what Codelabs (which are very good, and I wish more companies paid attention to that) are for.

One thing I disliked about the Google environment was that, because it's so hard to have a real accomplishment in your first year, whether you "succeed" depends on others' assessments (i.e. politics). I prefer to be in an environment where, after 3 weeks, I can reach the "so good they can't ignore you" state.

I like high-productivity environments better because I can prove, in the first month, that I'm actually worth a damn. Political issues always exist, but they're less threatening when you've already proven that you're good at what you do.


So what this implies to me is that the first year at Google is an additional hiring filter to weed out bad cultural fits who got past the previous hiring screen (which selects for walking encyclopedias of Comp Sci and recent Top Coder problems with a smattering of problem solving ability).

So they intentionally remove any element of choice in allocation, and throw people into the hopefully representative ensemble of all hiring teams at Google to test how one mixes with the average ideal spherical Googler. But if one ends up 2 sigma to the left of the mean, one is pretty much hosed. And that would likely have a 2-3% false rejection rate assuming this is a normal distribution and that most Google teams are sane. Not bad actually, but sucks for me.

Except that I don't think such a distribution is normal but more likely vastly oversamples the stinkers due to a twisted form of survivor bias because the stinkers have the highest departure rates, putting them constantly on the prowl for new meat oops I mean Nooglers (my small team lost several people during the short time I was on it and several Nooglers switched teams* hours before they would have started to avoid this allocation - I have a really funny photo of several sets of deflated welcome balloons next to what was supposed to be their desk after they had sat around for a couple weeks).

*The most important thing I learned at Google was that I should have secured my allocation before arriving as a condition of accepting employment. Failing that, one can sidestep the process on the first day if one has a friend on a team that is in need of people if one is insistent enough.


The problem of big companies. At some point they end up with people who suck like your manager. Small companies are much better at keeping their ethos and culture. This isn't to say that small companies are perfect though. It's just easier in small companies to know what you're getting into prior to making the leap.


This describes my son's experience at Google exactly. He is a computer engineer with strong software and chip level design experience. He sought and was offered a hardware design job at Google. When he got there he was given a job writing python scripts to manage hardware, not the same thing at all. When he tried to change jobs, he was told he had to wait 18 months, so he quit.


In all fairness, depending on his age, that's kind of how it goes. Hardware design is big money and long product cycles, you can't really just drop into a company and immediately starting masking out a new processor. Plus, computer engineers are (in my experience) pretty rare; you get a lot of electrical, and a lot of software. So they probably have a glut of coders, and a glut of semiconductor guys, but not a lot of 'bridge' people. If you can carve out a niche doing a bit of both, you become pretty valuable.

This is speaking as a comp eng. student who has gotten very little hands-on hardware experience. I've now worked two years doing pretty much exclusively software; the closest I got to real design was product verification and manufacturing support.


He is the 'bridge' person you speak of. He was only 30 but had about 15 years of professional software development experience. He spent 3 years at a startup developing highly parallel algorithms in C and implementing them in FPGAs resulting in commercial products. He said that in interviewing chip designers for his company that nearly all had no sense of algorithms. He felt that his software experience was a major strength in hardware design.


From what I understood from friends who are Googlers, is that 20% projects on other teams, can be rewarded with a transfer, sometimes sooner than later.

Google is one of the few companies where the 20% is a real thing for most people branch out, on either their own project, or another teams project.

As far as most companies, the side-project with other teams is simply not an option.


If you start at Google at a lower level (SWE 2 or SWE 3) your manager can unilaterally shut you down. If you get a bad "calibration score", which is set quarterly by the manager, peer feedback won't matter. No other team will want you, and you may face a PIP, which ends your career even if it doesn't get you fired.

Thus, your manager decides if you have 20% time or not.

There are good managers at Google who value 20% time and will encourage you to work cross-hierarchically with other teams or on personal side projects, and there are others who are absentee so you can pull that off furtively. If you get a hard-ass with a lot of project-specific ambition, you're not going to get away with 20% time.

Google inadvertently makes it worse by conflating project leadership with people management, which means that your boss is also held responsible for the performance of a specific project. That creates a huge conflict of interest, because the employee might be a better fit for another project, but the manager has to eat a loss on the project where he is.


If a team has direct evidence that you'd be valuable to them (i.e. you've 20%ed effectively on one of their projects), I can't imagine that they weight the calibration score more highly than that. People know what their own eyes tell them.

There's an escalation path if your manager is outright forbidding you from taking 20% time, and the manager can be disciplined by the Powers That Be for that.

Google also doesn't always conflate project leadership with people management (it depends on the team, and the org chart is explicitly setup so that this is not a given). There're pros and cons to both: if you're on a project where your manager is the tech lead, he'll know your work better (which can help you get promoted faster), but it also means that if you disagree with him on the technical direction of the project it can be harmful to your career. Out of my 4-year Google career, I've spent 2.5 years on teams where my manager was directly involved in the project, and 1.5 years basically doing my own thing or on loan to other teams with minimal involvement from my manager. I don't have a clear preference for one or the other, as I've found that my manager was always supportive of me as a person even when his primary responsibility was managing the project, and willing to let me move to another team when I'd outgrown his area of interest.

(It probably helped that I would work like hell to help my manager's project succeed first, and then transfer off once it launched. Most people are more inclined to help you succeed if you help them succeed.)


Has this been getting better or worse over the past couple of years?


Of the folks who I knew when I worked there and have been leaving, it seems to still be an issue. But a number of them were also somewhat off put by the evil/not-evil issues. In those cases they were definitely leaving the company and not the manager.


> What you're discussing is the Credibility Drought. Companies define credibility so that only managers have it, in order to create an artificial scarcity that makes employees easier to control. That's what enables the managerial extortion that forces employees to serve local goals (the manager's own career) rather than the benefit of the company (or the growth of the individual).

Seems what Valve does instead puts credibility on the open market. This makes sense, as that one term, credibility, actually encapsulates a complex panoply of things, and markets are good at regulation even when faced with complexity.


Valve starts you off with some basic credibility. You matter because you work there. You wouldn't have been hired if you weren't already credible. That's how it should be.

American corporatism is based on Original Sin (the so-called "Puritan work ethic"). If you're not "saved" by some rich institution (a job) then you're judged to be a leech and a failure. Most companies take advantage of this by continuing it into Credibility Scarcity-- you're worthless until told otherwise.


> Valve starts you off with some basic credibility. You matter because you work there. You wouldn't have been hired if you weren't already credible. That's how it should be.

I've worked for "startups" that don't do this. You start out as an "idiot." The manager has to look over your shoulder every 30 minutes, and gets worried because you are programming using "blocks." You're dictated to in terms of which libraries you use. All this total micromanagement, yet the manager knows so little about iPhone development, he has no idea what "delegates" are or that they're the most common pattern in the SDK.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: