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

From the article:

"Being effective in a company also means working hard, being reliable, and being an excellent member of the team."

Translation: keep your head down, don't rock the boat and don't have any passion for what you do. This is the recipe for 'success' (i.e. continued employment) at big companies.

"As a result, a company needs lots of smart, super engaged employees who can identify its particular weaknesses and help it improve them. However, sometimes really smart employees develop agendas other than improving the company."

No. These so called 'agendas' don't just mysteriously appear. What happens is that the big company goes to great lengths to hire smart people, and then even greater lengths to ignore them. At this point, the smart employee has two options (1) stay or (2) leave.

From sarahmccrum's comment in this thread: "I saw that most of the clever people who were around left, often when they were most needed"

That's the second scenario, the smart person says "screw it" and leaves. Sometimes that is the most mature decision. If some behaviour that is bad for the company is deeply engrained, is it really worth the futile tilting at windmills quest to get it changed? Perhaps they have gone on such crusades before only to get burnt (at the stake).

In the first scenario, where they stay, what are they going to do? They can (a) decide to ignore the thing that is bad for the company, (b) decide to keep banging their head against the wall in the same way, (c) escalate - by trying to change the way that they communicate the seriousness of the problem or the audience (brass didn't listen, maybe the grass(roots) will?).

(a) shows low levels of motivation or commitment to the company (but hey, apparently that is a good thing so long as you hide it (sarcasm)), additionally, it can be genuinely difficult for smart people to ignore situations that are sub-optimal. If you're a programmer and your job basically boils down to 'fix things' ... it is very hard to draw the line and not try to fix a broken process. It is that itch that needs to be scratched.

(b) is just going to continue to get them ignored, or perhaps labelled as 'not a team player'. Way to go corporate culture. Eventually they'll get fired or tired and switch to a different strategy.

(c) is the 'problem'. Smart people aren't always good sales people. And it is fundamentally a sales problem, where they need to identify the right people to make the change, and then sell them on the idea (by convincing them they will save money, and that it was their idea in the first place). Now the geeks with low social skills is a common cliché, lets ignore that tired and played out meme...

...consider if you will the problem of identifying exactly who the people are to get on board with the change. Power flows in strange ways in big companies, it isn't always just a linear thing directly from the top to the bottom. In my experience it is almost never linear.

Identifying the true power structure in a corporation (for a particular change that is required) is enormously difficult. Moreover, the underlying power structure can change depending on what the problem is, or over time, or any of many different variables can effect what the true power structure is on day X for problem Y. Becoming a better communicator is practically trivial compared to the problem of identifying the correct power structure to address the problem.

So you might think the moral of the story is that geeks need to become better communicators. But NO! Certainly not! Becoming a better communicator is the path to either management or architecture, neither of which is a fate that I would wish on anybody.

For the smart person stuck in a stupid situation, the smart thing is just to move on. It doesn't matter that you are not loyal to the company, you gave it a good shot. Try to leave on good terms (itself a marketing problem (blah blah professional development etc)). Loyalty doesn't matter, because the company has zero loyalty to you. And true loyalty must be bi-directional.



With regards to "identifying the true power structure in a corporation" I've found this post from Rands on the "Culture Chart" to be helpful:

http://www.randsinrepose.com/archives/2008/10/12/the_culture...

The linked post is recycled as a chapter in his book Being Geek which I also find fabulously useful.


It is really sad how relevant and spot on your analysis is. I have moved from a small typical 10-15 guys IT shop to a well established national player in private banking and it is unbelievable how crippling and exhausting work is there - but I am working much fewer hours for a much better pay. The attrition of daily 9-5 not-project work, all "serious business" and no "play" is horrible for even a mildly creative person in a typical "knowledge work" position...

And I love how even big corporations are usually presented as if they were making clear cut, sensible and rational decisions based on facts. This could not further from the truth.

Too bad you only find out about that once you actually start working a real job - nobody gives you that truth in university.


True... and consider your self lucky. Joining an operation like this at a later stage usually makes it easier to leave it behind when it is really due, compared to the situation where you accompany it from its beginning and wake up at some point in time entangled into "serious business" / "enterprise" setup ... unable to leave it behind due to some irrational connection to some people or some of your knowledge work done there... humans are so well suited to get exploited due to their irrational traits which the "enterprise" world still ignores still so profoundly.


(part 1 of my 2000 word essay) (sorry, my bad)

I know several people who have worked for 20 or more years at the same large organisation (government or corporate) and it blows my mind.

I have a friend who works at a local retail business whose boss is universally despised. Every time I think I have some sob story about the stupid architects and their dazzlingly defunct Ant file - I just need to swap stories with him to be quickly humbled and realise that perhaps things are not so bad for me after all. This boss of his is a guy who can throw a party, invite everyone and have an open bar (literally free as in beer)... and yet not have anyone turn up. This guy is such a colossal spoon that he can't even give away free alcohol. The mind boggles.

I really don't know how my friend and these 20 year veterans of corporate bungling manage to stick it out. I think that it is, in a way, a triumph of grit and determination and character under severe and prolonged stress. I think perhaps there is something in them that instead of getting more and more frustrated with each new offense to common sense, they are able to let last weeks insanity go. They've found some way to continually 'build a bridge and get over it', or perhaps they've seen so much insanity that they have built up an immunity to it, I don't know.

The sprinter may go faster, but the marathon runner goes further.

At the other end of the 'lifer' spectrum, are the people who stick it out because of fear. They take enormous abuse because they fear something worse than their current job. So they get bullied mercilessly. I knew one chap who was so scared of job interviews that he wouldn't even consider looking for work elsewhere. The people who live in constant fear are the one I pity the most. I genuinely feel bad for them.

----

But I suppose if I were to turn it around and look at us from their point of view I would see other things. Perhaps they would see the incredible psychological pressure of financial uncertainty. Being the first ones to get shot in a revolution, I mean recession. Not knowing where your next contract or next big customer is going to come from.

------

Specifically for the situation you mention, large financial institutions there are a number of things to master:

The first of these is regime change. Every couple of years (or perhaps more frequently) you will get new boss, or a new layer of bosses. They might for instance hire an ex-consultant at high level who 'mysteriously' somehow ends up bringing in his old firm to replace everyone or brings in a bunch of his old cronies to work under him, who bring in their buddies (etc). This can be quite a sudden thing, and you have to be genuinely nimble to survive (somehow running along on top of the avalanche).

The second thing is that many projects are going to fail, and even if you did the majority of the work and almost got it across the line all by yourself and the rest of the team of 20 did less combined than you, you can still end up getting blamed for failure. The blame game is very important and there are some strategies you can use to avoid being 'it', such as documenting the instructions you've been given, and not burning bridges, and cultivating friendships outside of your group (so that when (or preferably before) the project burns down, you teleport to safety in another project). Personally I don't do so well at this. I get far too attached to the imaginary win condition of the project succeeding, and so I force it across the line even if it means pissing off a lot of other people. If I could somehow find it within me to let projects fail I would probably have done better in banking.

(HN spat the dummy at my patented wall of text (tm), so I have to break this up into multiple posts, apologies in advance, hope you find it useful)


(this is part 2, should have posted it first, D'oh!)

Large organizations can breed certain kinds of psychotic behaviour, such as out and out lying. Your boss (or someone else with power) may order you to do one thing, and then next week demand to know why you haven't done some other thing. You say "because you told me to do X" and they tell you they never said such a thing. Never ever ever trust that person again. Never leave yourself vulnerable. Never take anything they say at face value. But... here's the rub, they are in a position of power, so don't piss them off. I think there's an old saying - something about being wise as serpents yet gentle as doves, and that definitely applies here. As a non-pyschotic behaviour, this might arise because there are multiple people giving contradictory orders, I believe there are other old saying about the difficulty of pleasing all the people all of the time.

One of the reasons that banking projects frequently fail, and this boggles the mind, is that, no matter how important your project is to the organization, within the company there are people who are actively trying to kill your project. They will oppose you at every turn, they will fight you tooth and nail, they will (seemingly arbitrarily) deny you of perfectly reasonable requests for resources.

As an aside: working at large banks is the reason I bought my own white board marker, it lives in my bag, and I take it home with me every night.

So I considered this behaviour. Now I choose to believe that for most people they don't get up every morning, look themselves in the mirror and ask themselves how they can do the most damage to the company they work for, how they can be the most evil, how they can maximise suffering in the world. Most people aren't like that. So why then, are all these people trying to kill my projects? After a long period of contemplation I came to the understanding that the reason they act that way is usually because the company incentivises them to do so. Their role, for instance, may be to minimise costs. Projects are a cost. Therefore your project is directly in their gun-sights. This is just one example, large corporations are really good at creating and incentivising infighting. They might decide to engage in a silo based re-org. And then afterwards, none of the silos want to pay for essential projects, because they hope that someone else will be forced to stump up the bill. Now the organization didn't set out to create that outcome, but it is just basic game theory (prisoner's dilemma) that defecting is the best (short term) outcome for individuals (whereas co-operation is the best outcome for groups).

Make friends with the people who have good people skills, they will protect you in times of trouble. It doesn't matter how crap the business analysts are (and most are worse than useless) if you can be bothered to put in a minimal amount of effort to be nice to them, and they like you, you can often get enough warning to dodge a bullet or to get passed a teleport token at the last minute.

You'll run across some people who are genuinely bad at their jobs. (see also business analysts (caveat: a good business analyst is worth their weight in gold, treat them with the same care and respect you would a national treasure)) Try not to make them look bad. At one large bank I ran into a DBA and she was complaining that the queries were running too slowly. So I (tongue firmly in cheek) suggested that if all the data was bought into one really huge table the query would run really fast because there wouldn't be any joins... and she thought this was great advice. I freaked out. I ended up begging her not to do this. It turns out she'd never even heard of normalisation because it was her first job as a DBA and she'd never been given any training. //twitch// Don't make the little people look bad if you can avoid it. Don't stomp on the ants.

Things move at a certain pace, try not to get impatient. Try to find something to do that looks like work, that you can justify as work but that you enjoy doing. I always like doing design and testing, I give my code an absolute beating before I let anyone else near it, no abuse they throw at it will come close to the torture I put it through. Unfortunately, in the long run this means I end up finishing much faster than most of my co-workers (whoops). So I often end up helping out other programmers. That might be debugging or if they're stuck on some task that they hate (examples: UI or persistence) then I ask them what they like doing, and if I have something like that on my task list I can swap with them.

For the keeping yourself busy: develop an appreciation for doing the impossible, whether by sneaky solutions, your astounding application of some obscure API or comp-sci algorithm, or just outright cheating. Volunteer for stuff. Banks have lots of old code that needs the occassional fix. Put your hand up even if the code that needs fixing is in some obsolete dead language that nobody speaks anymore (exception: Cobol, just don't go there. Besides, the old timers need the work anyway). Document your achievements and then squirrel away the document. At your annual performance review print them all out and walk into your bosses office with a dead tree's worth of work you did over and above the call of duty.

If you're good at fixing bugs, keep track of how many you fixed compared to everyone else. Same goes for anything else you are really good at that can be tracked. If you think you're really good at something, and it turns out there is someone out there who is better than you, make friends with them and (subtly) get mentoring from them. Yes, they may be hyper-intelligent, but often it will turn out that they just know more tricks than you.

Programming is fundamentally both a social phenomenon and simultaneously a solo activity. Your non-programmer boss is never really going to appreciate your amazing algorithms, because he has no baseline to compare it to. Talking to other programmers and swapping war stories is really important to their and your motivation. Most programmers who don't get this are starved of attention and feel unloved. You need to realise that the attention you crave comes not from above, but from your peers, and the best praise is from programmers that are better than you.

Most importantly about making friends with programmers that are better than you, is that maybe at some point you'll get the opportunity to work on a startup as a low digit employee, because they know you, they know they can trust you, and they know you get things done.


Great and valuable read! Is that from your blog or did you write a book? Would love to see more!

Now here is where that last part is really funny in my situation: most everyone of my peers could easily be my mom or dad, they are all way older than me, got family and kids, so there are no after work activities at all, there is no typical coffee room or balcony for smokers where you would "naturally" meet and talk to people, we do deal with different departments as our customers but 95% of them are in that "way older" group too.

Don't get me wrong, I am not one of those young whippersnappers ragging on "old people"; far from it, I am well approaching my 30s faster than I shall like and there are "older than me" people who can really open your eyes with some fascinating stories or experiences! I just find them here all unnaturally passionless, whining and downright boring somehow... not a lot of professional expertise where you could actually LEARN something. More times than not, it is me (from the outside) giving them an idea or suggestion based on technical knowledge. And I have just been here for maybe 3 or 4 years now... most everyone else has been here 10-20+ years.

And I'm the "expert" in my small little local kingdom so, sadly, what I say just goes and there really honestly is practically no one I could get mentoring from, even I don't consider myself that "good" at all, I still am the go-to guy and have always been that everywhere I worked at.

I know my weakness, I know I don't really excel and come up with incredibly creative, sweet solutions.. I guess I am just good enough to know how bad I am and still manage to do well enough.




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

Search: