VladRussian, if you're reading this, you've been hellbanned. You just commented on this story an hour ago, so I figure maybe you'll pop back in here and see my message.
You probably don't know me, but you are someone whose name I recognize, and whose comments I've enjoyed over the past 2 or so years. Very sorry to see this happen to you, and for no apparent reason that I can tell. Maybe you'll get reinstated, or maybe you'll leave for greener pastures -- but either way thanks for trying to make this place a little better.
thanks for letting me know, and i appreciate your kind words. When HN pages started to load slow - "slowban" - i guess it was a "big T" for "time to go" :) for me which i didn't recognize.
> for no apparent reason
When i downvoted several PG supporters and upvoted several opponents - zedshaw and the likes - in the yesterday's "Trolls" thread it seems it was the last drop :)
Can you still see his post? I have showdead on and see no comment on this thread or on http://news.ycombinator.com/threads?id=VladRussian. Perhaps hellbans have finally begun to hide themselves from showdead?
Another biggie is a failure to pay market rates for existing employees.
If you stay at a company, they will give you some fixed pay increase, perhaps tied to your annual review. After a few years, your pay could get seriously out of whack with the market.
Many companies have a policy of only fixing such problems after the employee gets an external offer. Of course, by the time the employee gets the external offer, they are pissed at their current employer about being underpaid, so they leave.
tl;dr; pay your employees market rates, or plan for turnover of employees experienced in your own practices.
Oh boy that's a biggie here. Last year the raise given for "exceeds" was around 1% - 3%. For comparison, inflation is running at about 5% in the UK, so effectively if you work as hard as you can, you still get a pay cut.
Currently, I'm interviewing new hires who will be roughly a paygrade below me. They will start with a 10% higher salary than my current.
Needless to say, I'm not a happy bunny. Sadly, there aren't that many software companies here, so I can't easily move jobs.
> If you stay at a company, they will give you some fixed pay increase, perhaps tied to your annual review. After a few years, your pay could get seriously out of whack with the market.
This. In my experience, especially applies to H1-B employees or any employees who are perceived to be unlikely to leave. One downside is that, lowering the average salary of all employees makes hiring new employees (at current market rates) difficult. Thus begins (or continues) the downward spiral.
A pretty decent list. In addition I'd add that company's often find it hard to detect when they've changed in a way that drives away top talent. A company can make a few boneheaded changes in a single year that has already caused all of their top talent to irrevocably make the decision to leave. But it may take months or years for them to follow through on that. And it may take years for the impact of losing top talent to be felt. In the meantime the company could still continue growing and even increasing its profits. It's only when the company finds that it can no longer execute on new projects nearly as effectively as it once did that it feels the impact of that lost talent.
So here's a question I have been battling with for weeks. Some of these things are definitely things that are wrong with the system, but how reasonable are some of these other points? Like wanting to work on interesting projects, wanting to work with smart people, etc. Is it selfish to want a lot of these things? I quit my job a few weeks ago because of some of these reasons, and I can't help but think that maybe sometimes you have to just live with some stuff.
I guess what I'm asking is where is the line between being that guy who's always fighting management and being a yes-man? And are all of these things really actionable issues?
One thing that has happened with me is, as I progress, my expectations about what is reasonable have changed.
I used to get really unhappy about being asked to just "get a quick fix" out the door. At my next job, I wasn't nearly as internally angsty about this, given that there is a tradeoff between what the business needs ("this bug needs to be fixed now so that merchandise can arrive by Christmas") and core engineering.
I often wonder, then, if my previous position would have been less stressful to me had I a different expectation about the tradeoff between engineering-vs-business needs. To me, working with smart people was something I wouldn't compromise on. But doing non-interesting bugfixes? Less of an issue than it was previously.
Many of them are. Firing people who should not be there for example, culling the middle management horde always helps.
Living with stuff is needed I think as long as you have some sort of hope, once the hope is gone person checks out and will leave or turn into dead weight himself.
Let's not pretend this only happens in "big" companies. Any company who's headcount grows to more than five tends to make the same mistakes especially if they're run by inexperienced start-up entrepreneurs.
I don't really agree with any of these things. I'll go over them point by point and then add my reasons.
First is the issue of bureaucracy. This doesn't matter to me; it's hard to get individuals to do things, and it's hard to get big corporations to do things. If you want something done, do it yourself. Remember, the same bureaucracy that won't upgrade your Linux kernel is the same one that would be in charge of punishing you for doing it yourself. So don't fear the consequences of actions; if something feels right, just do it. (The one procedure that we can get our sysadmins to do here is to reboot a machine. So we have a "firewall rules" script, writable by developers, that is run from rc.local. If we really need some package installed, we do it from that script and then request a reboot. Against "change control policy"? Probably. Do I care? No.)
Next is having good projects. I suppose this matters for some people, but at the end of the day, I find pretty much everything programming-related interesting. If someone wants me to manually edit a billion records, or something, that's simply not going to happen, so nobody asks. You can't be afraid to push back if someone wants you to do something that you'll hate doing. Nobody wants you to hate your job, after all.
Performance reviews are always stupid. I've never seen the point of them. The people doing the reviews don't know how to program and don't take input from programmers, so the review boil down to random guessing. Which is fine, because a good review gets you no raise, and a bad review gets you no raise. It's just a big waste of time. (I get "meets expectations" every year, because they can only give out one "exceeds expectations". I mostly find it hilarious because I'm consistently in the top of the list of edits to our company-wide source repository. If being the top 10 in a 75,000 person organization is "meeting expectations", the expectations are a little high, I'd say. But that's OK, because management doesn't even know what edits or source control is.)
Strategic priorities are amusing. A bunch of people that know nothing about business or software will make lists of important-sounding things. The reason you are considered "top talent" is because you know this is bullshit. Ignore the todo list and work on what you think is important. (Same goes for the next point, being told how to do your job. If your management can't do the job, how can they check that you are doing it their way? They can't. So do things right.)
"Top talent likes top talent." That I can agree with. I know people can't be fired from big companies, but I wish they could be indefinitely suspended with pay. ("We'll pay you to STOP CHECKING IN CODE.") Then the three people with a clue wouldn't have to waste their time reverting the mistakes of the people trying hard for a good performance review.
The next three things boil down to how management works at big companies. If you are a really amazing programmer, they're not going to make you a manager. That's because they need programmers, not managers. So managers end up being blown-up programmers with enough people skills to get promoted. That means they make decisions with people skills rather than with programming skills. In order to get buy in, you have to "play the game", that is: don't treat it like your glibc mailing list, treat it like you're trying to get someone to date you. Be nice, say how your idea will unify teams, etc. People that can't understand details don't want them. Play to their people skills side, and everything will work our for the best. "I heard about this project and implemented it over the weekend" also works.
Anyway, I think the biggest problem is work environment and pay. I can get a 50% raise if I quit and go somewhere else. I can get a 2.5% raise and 20% bonus if I stay. The economics tell me to leave. You can't beat the economy. Same goes for work environment. I don't really believe that a top 5 corporation can't afford a 30" monitor for me. Stop lying and buy me the shit I need to get my job done. (The reason they don't want to buy people expensive equipment is because most people don't do any work. If those people see the three good programmers with bigger monitors, they'll want them too, just to feel good about their dick size. This goes back to the problem of not being able to do performance reviews properly.)
Honestly, this sounds horrifying. Yahoo (which everyone uses as a "poster child" of Silicon Valley company losing people) is orders of magnitude better than this in terms of projects, management, compensation and getting rid of bozos. E.g., your performance reviews (after which you get raises) are done by other programmers, your immediate manager (and his manager) are programmers, there is a career path for programmers (with compensation and responsibility to match management), etc...
You really should consider going elsewhere: I can show you places within a five mile radius of Downtown Mountain View (or SOMA, or The Mission in San Francisco, if you don't like suburbs) that not only do all that (that is the bare minimum) but also, e.g., write production code in Haskell (or whatever else that you're interested in).
"Top talent likes top talent." That I can agree with. I know people can't be fired from big companies, but I wish they could be indefinitely suspended with pay. ("We'll pay you to STOP CHECKING IN CODE.") Then the three people with a clue wouldn't have to waste their time reverting the mistakes of the people trying hard for a good performance review.
You hit the nail right on the head. I used to say this all the time when I was working for Oracle. There were plenty of people who weren't even contributing nothing - they were forcing the competent people to take time away from real work to fix the bugs these people caused. Negative value, indeed.
I'm guessing that you haven't worked at a place where it can take months to get a single line change implemented in production. This kills creators with the huge lag time between fix and implementation. I won't even go into meeting abuse.
"If you want something done, do it yourself. Remember, the same bureaucracy that won't upgrade your Linux kernel is the same one that would be in charge of punishing you for doing it yourself. So don't fear the consequences of actions; if something feels right, just do it."
That's a wonderful idea. It sounds like you're at a much more open "big company" than I am. You see, I don't even have the access to install stuff on a production box. I have to give it to an infrastructure team to install for me. And they aren't going to do anything without me going through a process that takes days of approvals and no less than 5 different documents. It doesn't matter how small the change is. If it needs to move fast, you need even more approvals, but the built-in rules of it taking so long are removed. Still need all of those documents though or they won't install it.
Most people in my ISD don't even have the ability to download. They don't have admin rights on their box. Most people are using 17" monitors. I was only too happy to get a 19". It was only a few years ago that they finally decided it was ok to give us internet access. Freaking internet access! This is my big corporate world experience.
Totally agree with your sentiment on bureaucracy. One of the first mantras I adopted at my "big company" was to get stuff done the best way you know how, and risk the slap on the wrist later. More than likely you have just taken the first step towards positive change in your company.
With regards to having interesting projects, I'd add that if you're in a big company, then in all likelihood there are tons of projects you will find interesting if you look hard enough (and if you're a tinkerer like a lot of you are here, this shouldn't be all that difficult). If you can honestly say you've rotated, shopped around, interviewed dozens of managers, and found nothing that can balance your compensation needs and your passions, then get out of dodge, stat. Otherwise, as my dad used to tell me, stick around until you run out of interesting/fun things to do.
True, but those are further reducible to: failure to understand the nature of employees.
Companies that look at their employees as "resources" (read: commodities) will not see the value in competitive pay, a good work environment, or anything else on the article's list. It all stems from a fundamental misunderstanding of the role of talent in an organization.
Something tech companies have grokked for awhile, which a lot of other industries really haven't, is that human resources is a strategic discipline when it's done correctly. Good HR strategy recognizes that employees/talent are the lifeblood of the company, and that the loss of great ones is as potentially catastrophic as the loss of millions of dollars. When an employee who's capable of generating millions of dollars' worth of innovation, technology, productivity, insight, and opportunity to a firm leaves the firm, the total opportunity cost of his or her departure is precisely those millions of dollars.
More employers should endeavor to understand that equation.
Those can be specific to small companies too though. I turned down two jobs from startups because of poor pay incentives and work cultures that didn't flow with my own expectations.
I'm at a "Big Company" now and the only reason from the list that pushes me away from here is #1. We spend so much time attending meetings to deal with the overhead of bringing in different dept. personnel to the projects that its boggling. There is an amazing amount of work up front on any project to ensure we meet standards of the company and other rigorous rules that don't exist in smaller startups.
Much of it is necessary too. I work for a rather small ISP but a big company for my area. We manage thousands of devices and connections that need to follow a common standard or else the network management is impossible. Almost an entire week of meetings were used to work with different support groups in the company to ensure the new monitoring software was capable of being configured in ways that they needed it to be. In a small group you could probably yell over the wall at the person who cared and get the answer you needed but with us we have 8 different departments with different vested interest in the outcome so we need to please everyone while still keeping the budget down and management pleased with the timeframes.
There's other issues working here too but those aren't unique to a large company so they don't necessarily belong on a list like that.
And before someone from my workplace reads this and freaks out I guess I should mention that despite all the bureaucracy we deal with I still very much like my job. I wouldn't have turned down other offers to come here if I didn't like it and I wouldn't have worked my ass up the food chain within my first year if I didn't want to get more involved with it.
"However, [big company bureaucracy is] usually a reason that masks the real reason. No one likes rules that make no sense. But, when top talent is complaining along these lines, it’s usually a sign that they didn’t feel as if they had a say in these rules."
Well, no, not really. This strikes me as patronizing, as if they're saying, "those silly employees say they mean X, but they really mean Y." Well, no, I mean X. When I say I don't like bureaucracy, it's not because I can't get along with rules I didn't have a hand in. I can deal with other people's rules. Big companies have certain disadvantages in communication and coordination, and things like rules and processes and standards can help. I totally get that.
But what I keep seeing is that nobody's looking at what the rules are trying to accomplish and trying to make it easier to follow them. You want every change to be accompanied by a requirement or bug reference? Great--not a bad idea; make it dead simple to do. I remember filling out paper forms for code review documentation as recently as a few years ago. That's just silly. Code reviews aren't bad, but paper forms?
There's hundreds of little friction points that add up, though. The ubiquitous second/large monitor. Stock machines with slow, small drives and RAM. More and more network resources moved offsite, accessed via a slowish WAN. Limits on email storage, and auto-deletion. Limitations on what software you can install. It goes on and on, down to the breakroom amenities, office supplies, and so on.
Every little (needless) obstacle between me and the work getting done just pushes me closer to the door. Any difficult work is going to have obstacles, sure. But why make more?
One additional challenge for large companies is the dilution of all actions due to the multiple layers. Many companies including Yahoo/GE have initiatives at the highest level that are aimed at correcting the issues highlighted, but the vision and the message gets completely diluted by the time the first line managers act on it. This dilution has to be stopped first for successful implementation of any retention initiatives.
Perhaps big companies are around long enough for people (talented or not) to grow older until their priorities have changed enough to no longer fit within the company.
Unless you're in quite a large amount of control of a company's direction, it's likely after enough time (if you're talented) you'll want to move on to working on something that is outside the scope of that company's focus.
the longer talent stays in (kept in) the less of a talent it becomes. Been there myself and when interviewing people who've been long term with a big company, it is very noticeable how one sided their experience and thinking is. Changing jobs once in at least a couple of years keeps your mind open and up-to-date for the current technological developments.
Following the Adams logic of the opportunity costs, all these "stupid boss, performance review, process" reasons are there to help you to not get comfortable, to help you by providing a motivational nudge to make a move.
i don't think they're failing anything. most big companies don't need or want superstar. those big companies who do, don't have these problems.
"bigco isn't willing to pay for [superstars] -- they are executing an established business model quite effectively without superstars, and it makes sense to continue to do that while its economically feasible."[0]
My biggest thing when working at AOL was no upward mobility. If I wanted to manage developers, literally 70-80% of my time would be sucked into the ether with meetings and product reviews. There is so much management overhead there that it's a nightmare to actually get anything done. Once you manage even just one person, you're going to have no time left to do what you actually like (and are probably good at): programming.
So why not go to a smaller company where people listen to your ideas and you're able to do what you love and make a difference? I think the thing people want the most is to know that they're making a difference. This is nearly impossible at a large company.
I think that top developers may be like explorers - once the frontier is settled, its time to explore further afield. It's not that the settlers aren't nice, it's just not exploring.
Do big companies really fail to keep talent? Yes, talented people leave. And in particular, attention-seeking, talented people leave. But I've also met lots of very talented engineers within large companies that have been there 5-10 years or more. And I've been at startups where the talent was running out the door like the place was on fire.
The article fails to support the theory that big companies are any worse at retaining top talent than companies in general. Not surprisingly, people who are highly talented tend to be in more demand, they tend to get more offers, and they tend to have more mobility between jobs. When they want to move (for whatever reason - personal, boredom, etc) - they can.
There are a number of good tech companies that recognize this and make sure that if a valued employee is leaving, they leave on good terms and it's made clear they can come back later if they want to. That makes a lot more sense than trying to figure out how to prevent talented people from ever leaving.
I think the author is making assertions based on dubious assumptions:
Whether it’s a high-profile tech company like
Yahoo!, or a more established conglomerate like
GE or Home Depot, large companies have a hard time
keeping their best and brightest in house. Recently,
GigaOM discussed the troubles at Yahoo! with a flat stock
price, vested options for some of their best people, and
the apparent free flow of VC dollars luring away some of
their best people to do the start-up thing again.
Firstly, these companies are in trouble. It doesn't matter whether it is a big company or small. Financial troubles tend to lead to cuts in headcount.
Places such as DuPont have a lot of long term scientists. They offer the best unprecedented freedom as well as a lot of facilities and support. In startups, a worker has to wear many hats, and not all wish to do that.
Most of these issues can be traced to a single cause, which is that as companies grow, there's a growing 'diffusion of responsibility' effect that takes place in terms of people's responsibilities towards one-another. Bosses and managers are clustered and have an ever-changing set of direct reports, ergo they see the responsibility of engaging and keeping talented people as a 'company' problem and not their problem. Similarly, talented people see the company as an uncaring monolith, and not a set of individuals that can help them get to where they want to be.
In the end, there is no 'company', there are only the individuals that compose that company. Their decisions make things happen. The less agency you give those individuals (or perceive those individuals to have), the harder it's going to be to keep the most talented around.
Overall, the article generally reeks of employees that are too lazy/complacent/comfortable to pull out the big guns and aim for what they want in a big company. Obviously if you've had your big guns out for months/years and you still feel ungratified, then yeah, probably time for a change.
There are my initial reactions to all the points.
1) Bureaucracy getting you down? Tear down/bypass useless red tape.
2) Can't find an interesting project? I'm sure there are hundreds of interesting teams nation/worldwide you haven't met yet.
3) Poor annual performance reviews? Learn the system and work it, even if you have to play kiss up every now and then to important people. It's your money in your bank, after all.
4) No discussion around career development? No lead is going to turn you away if you go into his or her office and ask for it.
5) Feeling jerked around? Stand your ground and don't be a yes-man (or woman).
6) No one holding you accountable? Call for your own brainstorming sessions and peer reviews.
7) Can't find smart people? See note above about finding an interesting project.
8) Don't understand your company's vision? Either take ownership and try to influence it if it's that important to you, or keep your head down and keep doing awesome work.
9) Encountering closed-minded imbeciles? See note above about getting jerked around.
10) Don't like your boss? See note above about finding an interesting project.
The reason why I generally dislike working at my big company (wonder if they'll see this!) simply boils down to a lack of challenge. Not intending to come off as arrogant, but if I can dedicate 20% of my brainpower and consistently get rave reviews from everyone around me, something is seriously wrong with the picture. So I generally wait until the last minute, code sprint, say "check please," and go home and do something more interesting with my life.
The reason why I generally dislike working at my big company (wonder if they'll see this!) simply boils down to a lack of challenge
To me this encapsulates the problem we're talking about. The fact that you're coasting and not challenged is exactly the problem. You sound smart and energetic, but the system has still got you down by failing to enable you to find challenges that would benefit the company. Fighting an entrenched bureaucratic culture is a lot harder than you might think (I've spent plenty of time recently doing this!).
I felt pretty jerked around at my last job, and stood my ground.
I was pretty much forced to quit 2 weeks later. Of course there were some other issues, but the point being, some people don't really like you standing your ground and would rather you be a yes-man.
the article generally reeks of employees that are too lazy/complacent/comfortable to pull out the big guns and aim for what they want in a big company
The article is about employees who leave companies. Such people are not lazy, complacent, or comfortable; quite the opposite. They don't like wasting their time playing the games you describe in order to do their jobs. If they have the opportunity to leave for greener pastures, they will. More power to them.
[+] [-] bhousel|14 years ago|reply
You probably don't know me, but you are someone whose name I recognize, and whose comments I've enjoyed over the past 2 or so years. Very sorry to see this happen to you, and for no apparent reason that I can tell. Maybe you'll get reinstated, or maybe you'll leave for greener pastures -- but either way thanks for trying to make this place a little better.
[+] [-] VladRussian|14 years ago|reply
> for no apparent reason
When i downvoted several PG supporters and upvoted several opponents - zedshaw and the likes - in the yesterday's "Trolls" thread it seems it was the last drop :)
[+] [-] boso|14 years ago|reply
edit: it appears it's only because showdead doesn't work for hellbanned accounts. nice. (for reference: http://news.ycombinator.com/threads?id=lookhard)
[+] [-] jonpaul|14 years ago|reply
[+] [-] yummyfajitas|14 years ago|reply
If you stay at a company, they will give you some fixed pay increase, perhaps tied to your annual review. After a few years, your pay could get seriously out of whack with the market.
Many companies have a policy of only fixing such problems after the employee gets an external offer. Of course, by the time the employee gets the external offer, they are pissed at their current employer about being underpaid, so they leave.
tl;dr; pay your employees market rates, or plan for turnover of employees experienced in your own practices.
[+] [-] stusmith1977|14 years ago|reply
Currently, I'm interviewing new hires who will be roughly a paygrade below me. They will start with a 10% higher salary than my current.
Needless to say, I'm not a happy bunny. Sadly, there aren't that many software companies here, so I can't easily move jobs.
[+] [-] stuff4ben|14 years ago|reply
[+] [-] dj_axl|14 years ago|reply
This. In my experience, especially applies to H1-B employees or any employees who are perceived to be unlikely to leave. One downside is that, lowering the average salary of all employees makes hiring new employees (at current market rates) difficult. Thus begins (or continues) the downward spiral.
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] wyclif|14 years ago|reply
[deleted]
[+] [-] InclinedPlane|14 years ago|reply
[+] [-] thebrokencube|14 years ago|reply
I guess what I'm asking is where is the line between being that guy who's always fighting management and being a yes-man? And are all of these things really actionable issues?
[+] [-] memset|14 years ago|reply
I used to get really unhappy about being asked to just "get a quick fix" out the door. At my next job, I wasn't nearly as internally angsty about this, given that there is a tradeoff between what the business needs ("this bug needs to be fixed now so that merchandise can arrive by Christmas") and core engineering.
I often wonder, then, if my previous position would have been less stressful to me had I a different expectation about the tradeoff between engineering-vs-business needs. To me, working with smart people was something I wouldn't compromise on. But doing non-interesting bugfixes? Less of an issue than it was previously.
[+] [-] tlear|14 years ago|reply
Living with stuff is needed I think as long as you have some sort of hope, once the hope is gone person checks out and will leave or turn into dead weight himself.
[+] [-] rickmb|14 years ago|reply
[+] [-] jrockway|14 years ago|reply
First is the issue of bureaucracy. This doesn't matter to me; it's hard to get individuals to do things, and it's hard to get big corporations to do things. If you want something done, do it yourself. Remember, the same bureaucracy that won't upgrade your Linux kernel is the same one that would be in charge of punishing you for doing it yourself. So don't fear the consequences of actions; if something feels right, just do it. (The one procedure that we can get our sysadmins to do here is to reboot a machine. So we have a "firewall rules" script, writable by developers, that is run from rc.local. If we really need some package installed, we do it from that script and then request a reboot. Against "change control policy"? Probably. Do I care? No.)
Next is having good projects. I suppose this matters for some people, but at the end of the day, I find pretty much everything programming-related interesting. If someone wants me to manually edit a billion records, or something, that's simply not going to happen, so nobody asks. You can't be afraid to push back if someone wants you to do something that you'll hate doing. Nobody wants you to hate your job, after all.
Performance reviews are always stupid. I've never seen the point of them. The people doing the reviews don't know how to program and don't take input from programmers, so the review boil down to random guessing. Which is fine, because a good review gets you no raise, and a bad review gets you no raise. It's just a big waste of time. (I get "meets expectations" every year, because they can only give out one "exceeds expectations". I mostly find it hilarious because I'm consistently in the top of the list of edits to our company-wide source repository. If being the top 10 in a 75,000 person organization is "meeting expectations", the expectations are a little high, I'd say. But that's OK, because management doesn't even know what edits or source control is.)
Strategic priorities are amusing. A bunch of people that know nothing about business or software will make lists of important-sounding things. The reason you are considered "top talent" is because you know this is bullshit. Ignore the todo list and work on what you think is important. (Same goes for the next point, being told how to do your job. If your management can't do the job, how can they check that you are doing it their way? They can't. So do things right.)
"Top talent likes top talent." That I can agree with. I know people can't be fired from big companies, but I wish they could be indefinitely suspended with pay. ("We'll pay you to STOP CHECKING IN CODE.") Then the three people with a clue wouldn't have to waste their time reverting the mistakes of the people trying hard for a good performance review.
The next three things boil down to how management works at big companies. If you are a really amazing programmer, they're not going to make you a manager. That's because they need programmers, not managers. So managers end up being blown-up programmers with enough people skills to get promoted. That means they make decisions with people skills rather than with programming skills. In order to get buy in, you have to "play the game", that is: don't treat it like your glibc mailing list, treat it like you're trying to get someone to date you. Be nice, say how your idea will unify teams, etc. People that can't understand details don't want them. Play to their people skills side, and everything will work our for the best. "I heard about this project and implemented it over the weekend" also works.
Anyway, I think the biggest problem is work environment and pay. I can get a 50% raise if I quit and go somewhere else. I can get a 2.5% raise and 20% bonus if I stay. The economics tell me to leave. You can't beat the economy. Same goes for work environment. I don't really believe that a top 5 corporation can't afford a 30" monitor for me. Stop lying and buy me the shit I need to get my job done. (The reason they don't want to buy people expensive equipment is because most people don't do any work. If those people see the three good programmers with bigger monitors, they'll want them too, just to feel good about their dick size. This goes back to the problem of not being able to do performance reviews properly.)
[+] [-] strlen|14 years ago|reply
You really should consider going elsewhere: I can show you places within a five mile radius of Downtown Mountain View (or SOMA, or The Mission in San Francisco, if you don't like suburbs) that not only do all that (that is the bare minimum) but also, e.g., write production code in Haskell (or whatever else that you're interested in).
[+] [-] quinedstatement|14 years ago|reply
You hit the nail right on the head. I used to say this all the time when I was working for Oracle. There were plenty of people who weren't even contributing nothing - they were forcing the competent people to take time away from real work to fix the bugs these people caused. Negative value, indeed.
[+] [-] BenSS|14 years ago|reply
[+] [-] pawn|14 years ago|reply
That's a wonderful idea. It sounds like you're at a much more open "big company" than I am. You see, I don't even have the access to install stuff on a production box. I have to give it to an infrastructure team to install for me. And they aren't going to do anything without me going through a process that takes days of approvals and no less than 5 different documents. It doesn't matter how small the change is. If it needs to move fast, you need even more approvals, but the built-in rules of it taking so long are removed. Still need all of those documents though or they won't install it.
Most people in my ISD don't even have the ability to download. They don't have admin rights on their box. Most people are using 17" monitors. I was only too happy to get a 19". It was only a few years ago that they finally decided it was ok to give us internet access. Freaking internet access! This is my big corporate world experience.
[+] [-] njhwang|14 years ago|reply
With regards to having interesting projects, I'd add that if you're in a big company, then in all likelihood there are tons of projects you will find interesting if you look hard enough (and if you're a tinkerer like a lot of you are here, this shouldn't be all that difficult). If you can honestly say you've rotated, shopped around, interviewed dozens of managers, and found nothing that can balance your compensation needs and your passions, then get out of dodge, stat. Otherwise, as my dad used to tell me, stick around until you run out of interesting/fun things to do.
[+] [-] njharman|14 years ago|reply
Perhaps one of the expectations is not putting fucked up shit like package installs into init scripts.
[+] [-] wyclif|14 years ago|reply
1. Failure to offer competitive pay. 2. Failure to provide a great work environment
[+] [-] jonnathanson|14 years ago|reply
Companies that look at their employees as "resources" (read: commodities) will not see the value in competitive pay, a good work environment, or anything else on the article's list. It all stems from a fundamental misunderstanding of the role of talent in an organization.
Something tech companies have grokked for awhile, which a lot of other industries really haven't, is that human resources is a strategic discipline when it's done correctly. Good HR strategy recognizes that employees/talent are the lifeblood of the company, and that the loss of great ones is as potentially catastrophic as the loss of millions of dollars. When an employee who's capable of generating millions of dollars' worth of innovation, technology, productivity, insight, and opportunity to a firm leaves the firm, the total opportunity cost of his or her departure is precisely those millions of dollars.
More employers should endeavor to understand that equation.
[+] [-] TheCapn|14 years ago|reply
I'm at a "Big Company" now and the only reason from the list that pushes me away from here is #1. We spend so much time attending meetings to deal with the overhead of bringing in different dept. personnel to the projects that its boggling. There is an amazing amount of work up front on any project to ensure we meet standards of the company and other rigorous rules that don't exist in smaller startups.
Much of it is necessary too. I work for a rather small ISP but a big company for my area. We manage thousands of devices and connections that need to follow a common standard or else the network management is impossible. Almost an entire week of meetings were used to work with different support groups in the company to ensure the new monitoring software was capable of being configured in ways that they needed it to be. In a small group you could probably yell over the wall at the person who cared and get the answer you needed but with us we have 8 different departments with different vested interest in the outcome so we need to please everyone while still keeping the budget down and management pleased with the timeframes.
There's other issues working here too but those aren't unique to a large company so they don't necessarily belong on a list like that.
And before someone from my workplace reads this and freaks out I guess I should mention that despite all the bureaucracy we deal with I still very much like my job. I wouldn't have turned down other offers to come here if I didn't like it and I wouldn't have worked my ass up the food chain within my first year if I didn't want to get more involved with it.
[+] [-] Poiesis|14 years ago|reply
Well, no, not really. This strikes me as patronizing, as if they're saying, "those silly employees say they mean X, but they really mean Y." Well, no, I mean X. When I say I don't like bureaucracy, it's not because I can't get along with rules I didn't have a hand in. I can deal with other people's rules. Big companies have certain disadvantages in communication and coordination, and things like rules and processes and standards can help. I totally get that.
But what I keep seeing is that nobody's looking at what the rules are trying to accomplish and trying to make it easier to follow them. You want every change to be accompanied by a requirement or bug reference? Great--not a bad idea; make it dead simple to do. I remember filling out paper forms for code review documentation as recently as a few years ago. That's just silly. Code reviews aren't bad, but paper forms?
There's hundreds of little friction points that add up, though. The ubiquitous second/large monitor. Stock machines with slow, small drives and RAM. More and more network resources moved offsite, accessed via a slowish WAN. Limits on email storage, and auto-deletion. Limitations on what software you can install. It goes on and on, down to the breakroom amenities, office supplies, and so on.
Every little (needless) obstacle between me and the work getting done just pushes me closer to the door. Any difficult work is going to have obstacles, sure. But why make more?
[+] [-] cramaswamy|14 years ago|reply
[+] [-] superrad|14 years ago|reply
Unless you're in quite a large amount of control of a company's direction, it's likely after enough time (if you're talented) you'll want to move on to working on something that is outside the scope of that company's focus.
[+] [-] VladRussian|14 years ago|reply
Following the Adams logic of the opportunity costs, all these "stupid boss, performance review, process" reasons are there to help you to not get comfortable, to help you by providing a motivational nudge to make a move.
[+] [-] dustingetz|14 years ago|reply
"bigco isn't willing to pay for [superstars] -- they are executing an established business model quite effectively without superstars, and it makes sense to continue to do that while its economically feasible."[0]
[0] http://www.dustingetz.com/the-unnecessity-of-superstar-middl...
[+] [-] orthecreedence|14 years ago|reply
So why not go to a smaller company where people listen to your ideas and you're able to do what you love and make a difference? I think the thing people want the most is to know that they're making a difference. This is nearly impossible at a large company.
[+] [-] chrisbennet|14 years ago|reply
[+] [-] unknown|14 years ago|reply
[deleted]
[+] [-] tomkarlo|14 years ago|reply
The article fails to support the theory that big companies are any worse at retaining top talent than companies in general. Not surprisingly, people who are highly talented tend to be in more demand, they tend to get more offers, and they tend to have more mobility between jobs. When they want to move (for whatever reason - personal, boredom, etc) - they can.
There are a number of good tech companies that recognize this and make sure that if a valued employee is leaving, they leave on good terms and it's made clear they can come back later if they want to. That makes a lot more sense than trying to figure out how to prevent talented people from ever leaving.
[+] [-] teyc|14 years ago|reply
Places such as DuPont have a lot of long term scientists. They offer the best unprecedented freedom as well as a lot of facilities and support. In startups, a worker has to wear many hats, and not all wish to do that.
[+] [-] danko|14 years ago|reply
Most of these issues can be traced to a single cause, which is that as companies grow, there's a growing 'diffusion of responsibility' effect that takes place in terms of people's responsibilities towards one-another. Bosses and managers are clustered and have an ever-changing set of direct reports, ergo they see the responsibility of engaging and keeping talented people as a 'company' problem and not their problem. Similarly, talented people see the company as an uncaring monolith, and not a set of individuals that can help them get to where they want to be.
In the end, there is no 'company', there are only the individuals that compose that company. Their decisions make things happen. The less agency you give those individuals (or perceive those individuals to have), the harder it's going to be to keep the most talented around.
[+] [-] njhwang|14 years ago|reply
There are my initial reactions to all the points.
1) Bureaucracy getting you down? Tear down/bypass useless red tape.
2) Can't find an interesting project? I'm sure there are hundreds of interesting teams nation/worldwide you haven't met yet.
3) Poor annual performance reviews? Learn the system and work it, even if you have to play kiss up every now and then to important people. It's your money in your bank, after all.
4) No discussion around career development? No lead is going to turn you away if you go into his or her office and ask for it.
5) Feeling jerked around? Stand your ground and don't be a yes-man (or woman).
6) No one holding you accountable? Call for your own brainstorming sessions and peer reviews.
7) Can't find smart people? See note above about finding an interesting project.
8) Don't understand your company's vision? Either take ownership and try to influence it if it's that important to you, or keep your head down and keep doing awesome work.
9) Encountering closed-minded imbeciles? See note above about getting jerked around.
10) Don't like your boss? See note above about finding an interesting project.
The reason why I generally dislike working at my big company (wonder if they'll see this!) simply boils down to a lack of challenge. Not intending to come off as arrogant, but if I can dedicate 20% of my brainpower and consistently get rave reviews from everyone around me, something is seriously wrong with the picture. So I generally wait until the last minute, code sprint, say "check please," and go home and do something more interesting with my life.
[+] [-] davros|14 years ago|reply
[+] [-] thebrokencube|14 years ago|reply
I was pretty much forced to quit 2 weeks later. Of course there were some other issues, but the point being, some people don't really like you standing your ground and would rather you be a yes-man.
[+] [-] dragons|14 years ago|reply
The article is about employees who leave companies. Such people are not lazy, complacent, or comfortable; quite the opposite. They don't like wasting their time playing the games you describe in order to do their jobs. If they have the opportunity to leave for greener pastures, they will. More power to them.
[+] [-] sambeau|14 years ago|reply
Middle managers are like giant herbivores who multiply like crazy. You need to cull them once in a while or they will eat the whole place.