Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How can one deal with bad management?
22 points by bad_user on Sept 15, 2008 | hide | past | favorite | 23 comments
I'm working at a big and renowned software company, but I'm not living in the USA, so my experience could be different from people working there. After all, big companies only come in third-world countries for cost-savings. I also read pg's essays, which I liked, so I may be influenced by his thinking.

I am a regular software developer, and I'm really passionate about my work, that's why it hurts me to no end when I see decisions being made that do not benefit the project. Some gripes include, but not limited to:

* changing a good design with one that's not visually appealing, and is really confusing, because we had to make it look like it's part of the company's website

* to change the design, and to accomodate future changes, we are including external server-side files in our HTML, files that gathered a lot of cruft over the years, with bad coding practices (inline CSS/Javascript). We have to load them from external sources, such that when they change, it changes for us too.

* With our old design the main page had 100Kb, with 80Kb being cached static content. Now we have 1 MB of static files that do not have a cache header set, and a ton of inline code that adds an extra 300Kb to one request. And this is after we negotiated with the right department to slim down those files.

* we rewrote the administration interface because it was considered to have business value the usage of a certain technology, sacrificing months with code going down the drain.

* cool features that provided value to real users where pushed in favor of features that provided value to the upper-management. How useful is a statistics dashboard for a product that doesn't have a community yet?

* hacking on cool stuff is not encouraged. After all we have a release coming. No reason to waiste time on unplanned stuff.

* we had to negociate a period dedicated to increasing the quality of our infrastructure / code.

* we have been working for over a year and I would really be ashamed to place it on my resume: I really don't know on what we worked for the whole year.

* my manager has a certain mentality that I don't like: he says he trusts the upper management because they have more experience, he says that we don't know what customers want (where customers mean both real customers and the upper management). This one time, a "UX expert" placed a link totally random and out of place, and my manager agreed with the decision because the expert knew better.

* I have been practically forbidden to talk about these issues with the team members.

So part of the blame is that of our management. I have never seen a "NO" answer given to any request. Not to mention that my manager is in the habit of passing blame ... the milestone release went wront? No problem, we can blame it on John from Sales because he was the one to request a last minute feature.

I also have an annoying passive-aggressive attitude, and because I care about the project more than I care about my job, I think I became the whiner, the bad apple of our project. I hate myself for this, but the morale of the team is really low, and I'm not alone in thinking that every possible bad decision ever was already made, although the others cope with it better.

Of course, I was blamed for affecting the team's morale, since I was so straightforward and sincere about it. I do admit that sometimes my words are not "politicaly correct", but this project is like my child. And since feelings are involved it is really hard to be "politically correct" and say things in a "nice way".

So how can one cope with bad management? Am I wrong to think like this?




Learn this lesson very quickly: Do not complain! You care about what you do, but think about your priorities. Really, think about them. You want to:

1. Be happy 2. Make money 3. Be promoted

It's not a startup, so you are not trying to be ultra rich. Now, when you complain you are first and foremost making yourself unhappy. That defeats the purpose of working there. First rule is that you be happy. And the best way to be happy is to ignore the bad stuff, focus on the good stuff and work on making everyone else happy.

You guys may be producing terrible code at work, but imagine a workplace where you are producing terrible code, but everyone is laughing and making jokes and so on.

Refocus your energy on making you and everyone around you happy. Forget the technology - let them make the decisions! That's what they are there for! Just focus on making yourself happy and your team members happy.

When everyone is happy, morale goes back up, make your manager part of this pleasant team. When people are laid back and relaxed, they are more likely to do sensible things.

The minute negativity comes into the team, it's all going to go downwards. You dislike your job, everyone gets infected by your dislike, and even if you win the argument, you lose at life.

So, forget the technology and focus on the people.


I agree with some of the points above. Most people want to "1. Be Happy" and "2. Make Money" but not everyone needs to be promoted to feel happy or valued.

I have to disagree that "the best way to be happy is ignore the bad stuff, focus on the good stuff, and work on making everyone else happy."

You can only ignore things for so long, and making others happy will not necessarily make you happy.

There are just some places where the management is so screwed up that you're going to be miserable if you want to have any creative control or have your input considered and valued. In this instance you either have to try to change the management, which in most situations is unlikey, or find a new job.

Again, your point that he should "Refocus your energy on making you and everyone around you happy. Forget the technology - let them make the decisions" is not always the best approach in my opinion. The author mentioned that he would be ashamed to put this project on his resume. Do you think that he wants to work for a place that does an awful job and then put that on his resume? He can't ignore what the copmany is doing if he wants to put it on his resume. What kind of reputation will it give him if he has worked for years at a company that does nothing but put out crap?

I think that many of the ideas stated above work in certain situations and with certain people. But not eveyone acts and thinks the same and not everyone can live with the same kind of work environment or make the same kinds of decisions.


Thanks @maxklein, this is really insightful.

You are absolutely right, complaining doesn't change things.

My priority in life is actually money (not wealth), since then I can earn freedoms I would otherwise not have, like working on what I like. And right now I don't earn much, but some of the people I work with have been great, so detachment is really hard to achieve.

I'm thinking, as other people said, to work on a startup, but until then your advice is great: I should work on improving the team's morale. That would help everybody, including me.


This kind of hits it on the head because it begs the real question of how are you fundamentally motivated? Art or Commerce? Or?

Most people are perfectly happy settling for commerce. :-/


If one wants to create art, then one should be implementing ones own ideas. If you are implementing someone elses ideas, you are a builder, not an architect. A builder should do his job as best as he can, which is to make sure the thing gets built according to the architects vision. He should not be challenging the architect.

One really has to consider these issues. If you NEED to make art, then go do your own stuff! If you are there to make money, then do the best job you can for them, which means that you should not drag down the entire workplace.

And anyways, I would not waste a day of my time in a place where I could not make myself happy. That's the most important focus - people have to make themselves as happy as they can within the system. If you want to change the world, then don't start by being a html programmer in a large company.


Just when you thought selling out was only a concern for musicians and painters, eh?


Leave.

The bullet points all sound like typical developer gripes, except being forbidden to talk to team members means one of two things: 1. Management is all messed up and is attacking 'troublemakers' instead of the problems. 2. Your coworkers have complained to management that you are a ball of negativity that they don't want to hear.

Read the book "My Job Went To India". It's a great book for career planning and it'll help you figure out whether you're in 1 or 2, I can't guess which. If it's 1, you can't fix it, you need to find a company with a healthy culture. If it's 2, you need to start fresh with a good attitude at a new company.

Best of luck with your career.


Thanks for your comment.

Nr.2 is possible, thus the reason I decided to detach and try to analyze the situation more objectively, and I think in my case the truth is somewhere in the middle.


Leave.

And start your own company. It's easier than you think and you'll be a hundred billion times happier.

And if it doesn't work out, well, you can always go back to a regular job...


Point of caution: "Leave and start your own company" is exactly the same advice you're always going to wind up getting on this site.

You'll get it in response to any question from "I think I have a great idea for a company, and..." to "My coworker slurps his coffee" and "I can't decide what colour tie to wear today".

That doesn't make it bad advice, of course.


I think you should leave YCNews and start your own company.


Aww man, you couldn't have described my situation any better. I came to the decision it wasn't worth my time to try to make a difference (they didn't really deserve the help anyway). I started working only hard enough to not get fired while living like a miser and working crazy hours on my own projects. It was really only a few months before I was ready to make the jump.

Unless it's a job you very deeply care about you probably need an exit strategy. Both you and the world will benefit so much more if you're passionate about your work. If squeezed, management will often make concessions, but they almost never actually GET IT. If you choose to stay you will go bat-shit crazy unless you just resign yourself.

Also, you mention you're passive-agressive and I'm right there with you... I'm a type-B INTP. One thing I have really had to confront head on was that while I do great work, I have a ton of fear and uncertainty about changing gears because I'm simply not like the type-A jackass in management with more confidence than brains. So everyday I have to confront that and just be willing to live in place that feels uncomfortable and reckless.


I have two comments:

(1) Though you didn't say it, the comparison to startup life is always implied here, so let's just be clear: most of these problems do not go away at a startup. The pressure to "just get things done" instead of "doing it right" is greater when it's your own company on the line. GitHub, for instance, was apparently bootstraped by shell-out'ing to the "git" command line tool. Shudder.

Yes, you can mess around with aesthetics and hack on cool things without getting yelled at your own company. But on the other hand, a lot of the time, when you do that, you're killing your company. I might rather get bitched at.

(2) You seem to care about some unimportant things. For instance, the "visual appeal" of your current app versus the company standard. Or the download footprint of your Javascript libraries. Or the soundness of your company's UX hired guns.

If you loved the app that you were working on, loved it for its own merits, you wouldn't care about trivia. You sound bored. It doesn't sound like a management problem. Maybe you just need to switch from payroll and pension benefits management software to Flash games? You can do that; just be prepared for the pay cut. Supply and demand, yo!


Sorry to hear about your situation.

I can't speak for the options available in your city / work pool, but it sounds like you've gone about as far as this job will take you.

If you are perceived to have a bad attitude (regardless of your actual intent) it is going to make your progress at the company difficult. Forget about moving up, and expect your opinions to be ignored because you will be perceived to be submarining the company. So much for that.

Brush up your resume (sad as this last year may seem) and consider what you learned here and what you'd like to see in a future role. Cast the lessons you learned in a positive light and try not to harbor any bitterness.

A former manager of mine (probably borrowed but) once said: "What do you get when you don't get what you want? Experience."

A lot of the things you're seeing are realities of the business world. Management doesn't outsource to overseas to argue with them, they just want something done cheap. Your management may not be doing the most they can to register their dissent, but it might be in the interest of saving their job, not in some form of ignorance. This isn't specific to overseas/outsourcing relationships, it's disappointigly common in conventional middle management, as well.

If it's any consolation, not all places are like this. You may find you can transfer to a better team within a company or may have to get a different job. I was in a similar place once (twice, ugh) and it was a huge weight off of my back when I got in to my new role where dissent is appreciated.


I'm in the same situation but only until Friday!

I gave my 2-week notice last week.

My morale went down while working for the company. I have always been told no on pretty much everything.

I'm unhappy. I told them about my situation but they never did anything.

For the past year, I hoped for things to change. But sometimes you have to be realistic. Developers can do a lot of good things but fixing the management is beyond what we can do.

All I can say is that you should leave too. Your morale or spirit is down right now. Leave before you have none left.


Fire them.

Life is short, and jobs exist elsewhere. If this one makes you unhappy, change it. If you have a family to support, you obviously have less flexibility, and will probably need to line something up before leaving the current position.

Of course, you may be too inexperienced to recognize the wisdom of some of managements actions and decisions (and we can only see your side of it from where we sit, so maybe we're missing that wisdom as well). Your application may be a small piece of a very large puzzle, and the cost of making other pieces fit what you're developing is far too high and the benefit too low. Humans often consider the things they are familiar with to be far more important in the grand scheme of things than the community as a whole does. Where you see huge glaring problems, management may see something that negatively affects only 5% of their users only once per month, while making the sweeping changes required to implement your vision could potentially effect all users 100% of the time.

Again, I dunno. I can only see what you've shown us of the picture.

As for this:

I also have an annoying passive-aggressive attitude, and because I care about the project more than I care about my job, I think I became the whiner, the bad apple of our project. I hate myself for this, but the morale of the team is really low, and I'm not alone in thinking that every possible bad decision ever was already made, although the others cope with it better.

Of course, I was blamed for affecting the team's morale, since I was so straightforward and sincere about it. I do admit that sometimes my words are not "politicaly correct", but this project is like my child. And since feelings are involved it is really hard to be "politically correct" and say things in a "nice way".

This is a serious flaw on your side of the equation. The words "nice way" should not be in quotes...and since you've put them in quotes, you make it clear you hold them in the same disdain you hold "politically correct" (which most folks do have a bit of scorn for, these days). But, basic civility in the workplace is something that isn't optional.

Work on it. You cannot change things in your current state. Victims don't make things better for anyone, including themselves...and though the situation may not be your fault, if you want it to get better you'll have to take some responsibility for making it better. Which could mean accepting that this is not the company for you and moving on to another (maybe starting your own, since we're on a startup-focused forum, and most of us think starting a company is the only way for us to keep our sanity).

I've known several folks who quit their corporate job, and yet continued to work on the same project as a contractor...making four times the money for the same job, and able to come and go as they pleased. But, this requires circumstances that probably don't match yours (project is vital to company, employee is vital to project at least for the short term, and everybody still likes employee when he announces his intention to leave--and he is able to make a strong case that he's doing them a favor by staying on as a part-time contractor for a few months while they transition in new people for the project), and if you've given yourself a reputation for being difficult to work with, you'll probably find they're not so eager to have you back.

In short, you can't change other people. They are out of your control. What you can change: Your approach to working with those people, whether you work with those people at all, and your own approach to the problems you perceive that are making you unhappy.

If you can't change jobs, and you can't make this one a better fit by dealing with people more diplomatically, the best you can do might be to simply view your tasks in smaller, more humble, pieces. Instead of making the whole application beautiful (and thus requiring buy in from every department and uncooperative management)...make your little pieces beautiful...not visually, if visual beauty requires going against management mandates (I think you'd be surprised what you can do within such constraints--embrace the limitations and try again--color scheme, logo at the top of the page, and type is probably all that is really required to keep your bosses happy, but even if many things are dictated by style guides and such, you can still build nicer look apps than the standard by being simple, consistent, standards-compliant, and accessible). Just make your code smaller, more concise, nicely commented, well-tested, and reliable as hell. When you've done that, volunteer on any new projects that come up that touch your code...and do the same. Eventually, everything you have to deal with is wonderful (or as wonderful as you're capable of making it), and at some point you'll hopefully be happy enough to not be a jackass to your co-workers, and they might even begin to appreciate that you know better than they do on some things. You might just find yourself in a project management role and able to make real changes (not likely, but stranger things have happened). I can assure you that picking fights won't do it, though.


Thanks @SwellJoe,

This is the kind of advice I searched for. I actually feel like a jackass, but I don't have experience which such conflicts and I let things get out of control. I actually was under the impression that I could change things just by pointing out the flaws. I was wrong of course.

Unfortunately I am the type of developer that's interested in multiple topics, ranging from algorithms (parsers, data-mining, inductive reasoning), to usability. And it sucks because I have opinions about everything.

Thanks,


1. Buy shares of that company (ESOP ?).

You will automatically become co-owner of the company.

2. Leading, Managing, and Administering are 3 different aspects. 3. Change your priorities: People First, Processes Second, and Technologies Third

You will automatically align with your management.


I see a lot of bad behaviours on all sides here and have to agree with many of the posters below that it may be time to jump ship to a different company. Or if the company you work for is large enough you can transfer to a different department, just get away from where you are now.

In regards to some of your points above, I think that it is often an issue that changes are made by upper management or by someone in control/power that do not make a lot of sense to everyone else. I'd suggest taking a positive and proactive approach to this situation. You can begin by approaching the individual responsible in a friendly manner and ask something along the lines of, "It was interesting how you decided to do XYZ. I want to understand your thinking here. Can you tell me why you decided to do that?" The basic idea is to get them to open up to you. They may have a very good reason for their idea that you aren't aware of. Maybe it will make perfect sense to you afterwards, or maybe their idea is sound but how they implemented it does not make a lot of sense, or could be improved. If the later is the case then you can work with them to help improve it, maybe start with, "That's a really interesting idea. Do you think that it would be helpful if we were to move the link over here to make it more visible to users?" or something along those lines.

A good technique when you have to say something negative is to make a sandwich out of it. Start with something positive, state your negative, and finish with something positive.

Shame on your manager for passing blame. IT sends a bad message to everyone. A good leader takes responsibility for their team work even if someone else screwed up. If someone is going to get fired over it, then it's a slightly different story, but for the most part a good manager is a shit shield for their employees.

Passive-aggressive = bad, unhealthy attitude It will only cause problems and you'll lose respect and friends Being a whiner= bad, you can "complain" constructively so it doesn’t come across as whining. You'll get a lot more accomplished and gain recognition/status in the process.

Decreasing team moral = bad. It's not always easy to say the right thing or be "politically correct", but if you want to be a good team member you will need to do so. You want to make change for the better, but you might be hindering the change as much as anyone else. You can be "straightforward and sincere" without bringing the team down.

This book might help you in learning to be a force of change in your company while being positive at the same time: http://www.amazon.com/Human-Factors-Project-Management-Techn...


you are not wrong, and there are many companies that operate like this. it sounds like you're in a service-oriented company, where the product is built to fit the requirements of the customers. there are many companies that operate like this. they're typically steady paychecks, but not engaging or challenging jobs.

if you dislike whats happening, you're not going to change it, as the atmosphere is typically a byproduct of management's direction for the company. look for a job elsewhere.


Well I've got the viewpoint from the other side here. I work for a large company in the US that has set up an office abroad for outsourcing some of the engineering. (I'm actually planning to leave to start my own thing soon, but that's a different story.)

I think points 1 through 7 you made are typical in any large company. I've found that I've had to just pick a few things, and learn to ignore the rest. It helps to have at least one higher-up who agrees with you...find that person and get them to like you. It's probably better for your career not to be the one who always complains and upsets people. This is pretty difficult when you get attached to a project and think that the contributions of others are making it worse, but you have to be diplomatic about it.

Your last two points are intriguing thought. I recently had to sit through a training session on "How to work with India". It was chock full of ridiculous generalizations, mixed in with a few useful comments on the cultural differences. They have an equivalent "How to work with the US" class over there and I'd love to sit through that one too.

However, the two things you mentioned echo a lot of my experience with our foreign counterparts. I rarely get a "no" or any pushback, and I really wish I did. Our management here relies on the low-level engineers to make the implementation decisions. They, after all, are closest to the problem and have the most information to base their decision upon. For some reason our management here however treats our Indian counterparts as a black box project factory - requirements go in, solution comes out, and there's little to no feedback in between. The class we sat through made this out to be a cultural difference, where it's disrespectful to disagree with a superior, and the manager is always supposed to have all the answers. Maybe that is a cultural difference, but it's not benefiting either party in the long-term. I tend to think it's really because we've treated them as cut-rate engineers for so long that it's now an ingrained behavior. Of course, if we didn't and instead genuinely expected their productivity to match ours, then we'd have to pay them a full engineer's salary and that sort of defeats the purpose. I'd love to hear some comments on how this plays out at other companies...

In any case, it sounds like you're unhappy. In that sort of situation, your output will eventually decline to average, at which point you're doing neither them nor yourself a favor by staying. At a minimum you now know what to look for when finding a new job. But if you take a job at another big company, know that some of these issues will follow you there and you'll have to learn to pick your battles. But if you can at least find a boss you respect (and get him to respect you), it'll really help to mitigate the issues.


In a big company, some problems can't be solved from the bottom up. Maybe you should find a better place to work.


Leave.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: