Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I read an interesting article, 10 reasons for quitting IT.

I quote a part of this text:

"This misunderstanding of both duty and technology does one thing: It makes your job impossible. When the powers-that-be begin to micromanage your department for you, every single bad element is exacerbated. You know your job and you know you know your job. Management does not know your job, but they don’t know they don’t know your job. It’s all a vicious Mobius strip of stress."

This is exactly what is going on on my project at the moment. The client, that is, the one that pays, wants to be everything. He wants to play every possible role in the project. He even wants a detailed technical explanation even though he doesn't know a single thing about programming. And when something doesn't work he blames it on someone else.

Has anybody had some similar experience? Any advice on how to deal with these situations?

share|improve this question

closed as not constructive by MichaelT, Eric King, gnat, Glenn Nelson, jimwise Feb 8 '13 at 19:57

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

14  
The client probably must have seen his share of horrible programmers who ended up costing him a fortune ... –  Aditya P Apr 18 '11 at 9:59
16  
If there is one thing I really, really HATE, then it's non-techies meddling into specifics of tech, and even attempting to discuss it with engineers. Yuck. –  Jas Apr 18 '11 at 10:35
2  
I think you should quit, since you are not satisfied with the way things are going. But at the same time remember this old saying. "Known devil is better than unknown angel", who knows techrepublic might publish another article next week on how to handle micro-managers. –  PrinceCoder Apr 18 '11 at 15:28
7  
"Oh, I'm good with computers." "Really, what operating system do you use?" "Microsoft Word!" /facepalm –  kivetros Apr 18 '11 at 15:48
add comment

11 Answers 11

up vote 26 down vote accepted

I've had my share of jobs in IT. Helpdesk, networking, software development, they all share similar problems. Quitting and starting anew, while refreshing, only brings about a new set of problems to deal with. There's a few things you can do to keep your sanity in check.

Look for the real problem
The client is trying to fully control projects. See if you can find out why.
- Is it due to past failures? Empathize, re-assure them of the project's success.
- The client a control freak? Redirect their attention. the iceberg secret.

Meetings are not as important as results
Every meeting management says something that makes my stomach curl. But, when the meeting is over, everything is forgotten except the results. I'm still the one who solves the problems and solves them in the way I feel they need to be solved.

Do not carry the weight of the world on your shoulders
The most stressed out guys in IT are often the best. One of my best friends is always stressing about the endless responsibilities management puts on his shoulders. Other devs come to him to solve their problems.

I'll tell you the same thing I told him.

Don't let them. Find a political way to say no/stop taking on problems you do not own. The company realizes what a valuable asset you are. You may be the only guy who gets anything done. They are probably not going to fire you for stopping some of the abuse. As long as you handle it properly.

share|improve this answer
3  
Your last point really hits home for me. For some people like me, it's difficult to NOT feel like carrying the weight of the world on your shoulders. But, it's simply a matter of managing yourself. I agree that there's nothing wrong with saying in a polite manner, essentially, "NO." –  ChuckT Apr 18 '11 at 13:46
1  
Fantastic points, and thank you for posting the link to that article. Very eye-opening. –  65Fbef05 Apr 18 '11 at 14:26
1  
Upvoted for the Iceberg Secret. Thank you so much. –  kivetros Apr 18 '11 at 15:54
add comment

I've been in a similar situation where I'm working now. There are a couple of department heads that deem themselves "techie" (not IS department heads, mind you) and while being highly critical of our work, have very little to give in terms of praise or appreciation. Our content manager has already left the company and the network manager has one foot out the door at all times. I'm hanging in there because I'm mid-project and would feel terrible to leave the organization hanging, but maybe that's what it would take to make certain people appreciate having an in-house developer. In my environment, my departure would likely result in them outsourcing their web services; it's what they were doing before I came on board and their budget was ridiculous. The only thing these people understand are dollars - If they can't appreciate you for your talent, they can at least understand the cost and headache of having to replace you.

share|improve this answer
4  
You are nicer than you should be. In an environment that bad the best thing to do is to leave them hanging; it would serve them right. Idiots deserve to go out of business, not be rewarded for stupidity... –  Wayne M Apr 18 '11 at 13:44
2  
It's the age-old conflict between what is ethical and what is good for me, isn't it? All the same, a man has to have a threshold - They've just not crossed mine yet. :) –  65Fbef05 Apr 18 '11 at 14:09
1  
Understand completely. I stayed at a terrible job for 2+ years because I didn't want to "screw" them, and ended up being screwed myself (they stopped paying me for 3 months and forced me to quit, basically, not to mention all the verbal abuse when I told them I was quitting due to non-payment AND cheated me on my final paycheck) so I'm kind of wary of doing it again. –  Wayne M Apr 18 '11 at 14:15
1  
Yeah, and this was after I busted my ass for 2 years for them, on multiple businesses as well (owner was a con artist who started a new company every few months with some harebrained get rich quick scheme) –  Wayne M Apr 18 '11 at 14:28
1  
I know exactly those types of people! Like Simon from 27bslash6.com . Ha, ha! –  65Fbef05 Apr 18 '11 at 14:30
show 2 more comments

Follow these golden Rules:

(1) Nod your head and agree

(2) Ignore the BS like a compiler ignores comments

(3) Deliver the results

In the end the Results will shut them up, over time if you consistently deliver results people eventually back away when they trust your work.

share|improve this answer
1  
Short, sweet, and to the point. +1 –  Stargazer712 Apr 18 '11 at 20:43
add comment

Yes, went through this at least once, ended up leaving my job. Unfortunately a full recovery from the non-technical client's (or management's) misunderstanding and mistrust is almost impossible. Those who don't understand what you do are left to either trust you or not. Human psychology is such that once trust is broken, it requires enormous effort to rehabilitate. Most of the time it's not worth it, because even if you manage to recover you will be left, figuratively speaking, with the same salary.

share|improve this answer
add comment

Use it as a learning experience. A great developer will earn less than an average developer that knows how to handle a manager like that.

It's not only this job where you will come across this problem. Every job you have will have at least one person who doesn't know the difference between a string and an object telling you how to cache, or something like that.

Read books like How to Deal with Difficult People, get friends with senior people in the company who know how to manage these situations and who know that you are good at your job, and think of it all as a funny story to tell your programmer friends.

share|improve this answer
add comment

A friend of mine has a saying - the only problem with a doomed project is that you have to die trying.

I believe that there are enough good jobs out there that you shouldn't have to put up with being in a bad one. You don't owe your company anything beyond what you're paid to do, and when a better opportunity presents itself you should take advantage of it rather than suffer out of a misplaced sense of loyalty. You may be able to effect change from within, but I don't have the patience for it anymore.

I went through my own project from hell about 15 years ago. In the end it was a positive experience because now I know what to look for and avoid, but the stress of it took a few years off my life (not kidding). I also learned that in the end, it's just a job; there are others. There's no point in putting yourself in the hospital trying to be a hero; it won't change anything, and they wouldn't appreciate it anyway.

share|improve this answer
2  
Would upvote 100 times if I could. This is always the best advice. Unless you are a founder or partner in the company, you owe them nothing beyond the minimum amount of work needed to earn your paycheck. Life is too short to waste slaving away to make someone else's dreams come true. –  Wayne M Apr 18 '11 at 20:34
add comment

START MANAGING YOUR CLIENT.

Lay out your plan for the progress of the project, send him your updates, and plan what issues you are going to bring to him. Preferably by the billable hour. And write great narratives on your monthly invoices.

share|improve this answer
add comment

Managers, especially non-techie ones, have to be able to delegate.

If they are micro-managing you, this is a huge red flag for me.

I'd be looking at the pro's and con's of working there and seeing how they stack up.

share|improve this answer
add comment

Please him, but on billable time (this was a client, right).

If he wants to keep paying, fine. If not, fine too.

share|improve this answer
4  
Except that, when I was in a similar situation, it was immensely stressful. I knew how to get the job done, and what I needed. The higher-ups seemed determined to interfere with my ability to get the job done, and it seemed that they really didn't care whether the job was done as long as things were done their way. I started to feel that if they didn't care, why should I? Then I felt like I was doing makework for my pay, instead of helping make something useful. That was horrible. –  David Thornley Apr 18 '11 at 13:29
add comment

Well, it really boils down to you change your job or your change your job.

Either be an agent of change inside and work to correct the situation or find a new job. For the previous company that I worked at for 5 years I did both.

I spent several years working for positive change inside. A few tips I will suggest (warning most are not for the weak of heart that are afraid of confrontation)

  1. Confront the micro-managers. Obviously show some tact but also be brutally honest with them. Remind them they you are the technical experienced person and it is not their job or their need to worry about every bit of minutia of the project. They have better uses of their time and they need to trust you to do your part.

  2. Go over their head. This may not be possible in your situation but once you have confronted them if they don't change go to their bosses. Again showing tact let the boss know that you are having difficulty working with the micro-managers. Explain the situation in detail about what is difficult and how it makes it hard for you to efficiently do the job.

  3. Find a new job. Even if you are happy with your current position, make sure to be very active in your local and regional technical community. Attend user groups, nerd dinners, regional conferences, etc. Network, network, network! Be aware of the job market in your area so if need be you can quickly and easily start applying for new positions (especially positions that aren't advertised publicly).

In my case step 1 resulted in my being verbally reprimanded and "written up on my permanent record" by the micro-manager boss. Step 2 actually involved several people going to our bosses boss at the same time to confront the situation and as a result ended up with the boss being removed from our department.

A few years later, things turned south with the company and I could see the writing on the wall. I was unhappy and no amount of effort would change the situation in the shape the company was so I started looking and about 4 months later I found a new job. Now I'm happy and making a lot more money.

share|improve this answer
add comment

Funny you should ask something like this. In an Spanish article I wrote about Latin America and how the programmer is treated it relates a lot about your article and how all programmers in about 99% of all companies are treated.. Mostly like they are some kind of wizard that just magically POOF makes everything ready when the "boss" says so and by the time the "boss" says it. The article is La Programacion en Latino America. If you have Google Chrome it might translate the article, but some of my points are:

Programming Characteristics:

  • Creativity

  • Imagination

  • Logic

  • Dedication (concentration)

  • Patience

  • Ingenuity

Which by the way, some or all of this are killed or lessened by a boss that does not know about programming in ANY way but happens to order you around like he made the bible book of C, C++, PHP, MySQL and whatever language came out before you were born.

Other points are scenes that DO happen in the work place or how a programmer is treated, for example:

  • A boss that wants to finish a project in 2 days when everyone already said it could be done in 2 months minimum.

  • A project in which you start working just to find out the time schedule for the project has been cut by half, but you STILL have to finish the whole project.

  • A project in which you gave it your best shot. You even added some bonus to make it like better, more up-to-date but nobody even cares or congratulates you. Instead, if they find a bug, a problem, your head will roll.

  • You offer your quality experience to a company just to find out later that they hire somebody than works for 10% of what you were charging AND finished the job. Later you find out that the job was horribly made, had many bugs, created many problems and they want to hire you "again" to fix them.

  • Your professor forces everyone to work on a project that uses some kind of ancient Egipcian language that nobody has ever heard of (only your professor). The best part is, the project mentions that you can choose any language you want.

  • A project in which somebody bosses you around who used PHP, MySQL, C, C++, and Python 10 years ago, for 30 minutes, and since he used those 10 years ago for 30 minutes he now thinks he knows them by heart, so he wants to know about what you have done and how you have done it (in real life he/she does not have a clue what you are saying, he/she just mumbles you are right).

These are some of the points mentioned there. In my experience, my best friend quit the best company in our country and started working on his own. Guess what. It went great. He not only got paid about 6 times more, he chose to select his working time, working place and other points that a programmer NEEDS to have to be efficient. My girlfriend and I also quit and are working independently, just finish registering our company and this all happen in less than a year. Feeling free is one of the requisites for a programmer. One that works in a cubicle will fall and fall in the way the program things, since their characteristics are being killed, slowly.

I am sorry, but in real life:

  • People that do not know about a certain point should not give their opinions, less of them all, orders about it, until they understand them. Like in the army, you will not go into enemy territory until you have understand everything in there.

  • For what we call in my country "ass-bosses", if you do not know what you are talking about, shut up! Start listening instead of giving orders.

  • If you are a programmer in a situation with an "ass-boss" I suggest you start saving some money and work in some other project that will get your life started because just imagine yourself there, in the same position, same salary, not going up because normally programmers do not go up in these kind of companies. Now imagine 10, 25 years later, there, same place. What did you do with your life? With all that potential and nothing. Stuck in the same place where you were used for projects that most of them were rejected by somebody that does not know anything about how the whole thing works (Example: Banks.. Don't get started about banks).

  • Start to join up with others to work on something needed by the community. Trust me, even though it LOOKS like there are many programmers in the world, we are not even enough to solve 10% of the problems in the world that CAN be solved by a programmer. If you take just 1 day to walk around, look around, you will find at least 10 problems that YOU KNOW can be solved by you and maybe a solution that covers them all or most of them.

I believe the only job that offers free time to be yourself, be creative, that pays well, gives you full control of your time is a programmer. I also believe that the only job that has the ability to solve most of the problems in this new digital world is programming (in joined effort with others like electronics and such. Have you seen a lawyer solve many problems? or create them?)

Think about it for a while and go out and walk.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.