views:

934

answers:

15

I currently work for a company who recently has downsized. I do all in house work, client installs, builds,q.a, well basically all the in house work.

My direct boss is VERY untechnical and lately I have found it VERY hard to deal with his lack of knowledge.

The biggest issues I have had are as follows:

  • I am on many deadlines at a time. I get stopped to put together a half fast quote as I cannot be late on the deadline, in the meantime, three support calls comes in, I give quote, time too much in quote so they outsource it. I then I have to fix everything the vendor broke which puts me behind. The worst is if I eat "His buffer" on a project I wasn't even on I am expected to complete everything already scheduled while all these other things come up.
  • I get asked, when an issue arrises, why is the issue occurring and explain in detail, yet that detail means absolutely nothing to him.
  • All he cares about are deadlines, yet he is the one who schedules everything.
  • "I am a programmer not a graphic designer, means nothing to him"
  • I was hired as a .NET programmer, yet they let a vendor choose wordpress for many sites(yeah I had to learn all about it quick)

I guess I can go on and on, but has anyone had to deal with this type of project manager? What is some advice, other than finding another job.

I cannot leave my job at this time as I cannot lose my insurance right now as my wife is very ill with MS.

I am looking for the best way to deal with my manager...

Thanks in advance, and I made this a wiki, so please don't close...

Here is another situation that happened today. We have a friend of mine who assits me on projects. He asked us "BOTH" to quote out a job and give a rough estimate. I came back to him and said" 7 weeks 6 hours day a day using my friend as a resorce." He gave it to the client and added 10% buffer(24 hours). He then tells me that is all I get my friend for on the project. I wasn't asked how much time he was available for durring the 7 weeks. Worst part is they already gave the quote to the client and didn't even have me review. His view is well you either get it done in the time I told him or find another job.

+2  A: 

I was about to say "Find a new job"!... If quitting isn't an option, then I suggest you take control of the situation. If you allow them to push an unreasonable amount of work on you, you WILL fail.

dicroce
The biggest problem is I cannot seem to stop it, being the only one left , I am told, I am expected to work after hours and weekends , no comp time no nada, just get the work done etc... This is their mindset.
James Campbell
@Vecdid: Then don't. They can't fire you for not working unpaid overtime.
Travis Gockel
@Travis G they can fire me for any reason they like...
James Campbell
@Vecdid: If you really are doing all the in-house IT stuff, then their "bus factor" is 1 and you are the one person they can't afford to lose.
Travis Gockel
+36  A: 

The phrase "Don't worry, be happy" comes to mind. In this market, in a company that's recently downsized, you're still employed.

Now, that said, some practical points:

  • You're coming off very "I'm a victim" in this post. Seriously. Take control. You're being asked for quotes? Great! So many times we're not even given that opportunity. Tell the truth, and back it up. If the truth isn't what they want to hear, well, try to work with them on what the deliverables will be. I had a boss once I thought unreasonably wanted everything. Turned out he mostly wanted me to tell him where the line between "possible" and "impossible" was. He wanted to push me, but he didn't want to push me over a cliff. He did not want to hear the line was in one place and then find out it was in a different place.
  • You were hired as a .Net programmer and suddenly had to learn the skills around Wordpress? Result! That's a good thing, it means you were paid to learn a new skill. Every single time someone has you on salary and offers you a chance to learn a new skill, grab it, it's golden.
  • Put your feelers out. You're clearly not happy where you are. If you have good skills and you interview well, even in this market, you'll find choices eventually.
  • Once you've changed jobs and companies, look around you in six months. Feeling like you're in the same place? Great! That tells you where the problem is. It's not a happy realization, but it's a useful one. Been there.

Best of luck, really hope things work out for you.

T.J. Crowder
+1 Great comments especially the bit about new skills
invariant
I absolutely confirm everything TJ says here. Especially the [every] part.
drachenstern
I do not mind learning new things at all, but the expectation is that I am to know everything and get it done very quickly.
James Campbell
@Vecdid: Yeah, it's a pain being in that situation. But where possible, make calm reasonable points about the impact of ramp-up time on the final deliverable (and other things you're working on).
T.J. Crowder
@TJ thank you for your advice.
James Campbell
I think this a great answer to a very real situation. More times than not it's due to a lack of "honest" communication. My managers would always ask leading question and i would give in to what i knew they wanted to hear. after stressing for over a year 24/7 i broke and stopped caring. i'm 100% honest about deliverables and quality has increased as a result. saving money/time in the long run. if they can't see it, then leave and let the medical bills pile up. Hospitals can't turn u away.
used2could
Also start making them choose what they get in the day/week. I started to say "that would be great if we could get all that done today but realistically we can't so chose 2 of the 4 items you've mentioned need to be completed first.
used2could
@TJ tried to take control, impossible. He don't listen, don't understand, just geting to the point of I don't care. I tell them what they don't want to hear and really don't care anymore. Told them if they don't like it, fire me and hire two people for what they pay me, maybe then, they can what they want, becuase these unreasonable expectations and thinking everything is easy and small, then they should go hire someone else. So, no more 90+ hour weeks due to me walkin my boss through how to do everything and still try to get work done... Oh yeah I didn't mention, I also do his job.
James Campbell
@Vecdid: *Blech* sounds like an unpleasant situation, man. Kudos for controlling what you can, that's all any of us can really do.
T.J. Crowder
+6  A: 

If you are finding it very hard to explain things to your uneducated boss, there are two possible reasons:

  • your boss is a dumbass
  • you explain things in a crappy way

Seriously. I know lots of stuff, and i find it incredibly difficult to explain things to others at times, especially when talking about very abstract things. The trouble is, your boss might be reasonably intelligent, but the longer this goes on the more likely he is to think that it is you who is the dumbass.

So you really need to find some way to solve this communication issue. The sooner you do, then the sooner he will understand you when you say "it is going to take me x amount of time to put that quote together".

But if option #1 from above is the correct one, then it is time to get out, things will never improve and you are just being used as a slave.

slugster
Its always the second reason. No matter how dumb your boss is, you still need to explain things in a way that they can comprehend.
Gabriel McAdams
@Gabriel: Often, people demand technical explanations, not the toddler-explanations that they really need. If your idiot boss won't settle for "Then the hotdog jumps into the car and puts on his seatbelt, first checking if it exists", you are screwed, because when you tell him what's actually happening at a low level (something that should be abstracted from the boss anyway), he won't get it and then he'll blame you for being bad at explaining.
Jonathan Sterling
@Jonathan: I agree. Some bosses are difficult. I once worked for one who would give me 24 hour windows to build a new feature. When I told him it couldn't be done, he said it better be or he'd find someone who could do it. I learned that he was assuming my resistence was an unwillingness to work hard. I sat down with him (telling him that I had to have a serious conversation) and explained that I was respected by my peers and that I felt (with good reason) that it wouldn't be what HE wanted, he listened because I was speaking slowly and clearly, and from HIS point of view (instead of mine).
Gabriel McAdams
+2  A: 

Are you taking some time each day to note what you spent the day doing? Assuming you aren't already working marathon-length days, it may be worthwhile to just note what is happening and at some point schedule a half-hour 1:1 with the manager to present the concerns of spending X hours doing support, Y hours fixing some code, and Z hours dealing with stuff that I didn't know I had to deal with now. Key points here are to have your evidence and be prepared for either a "Suck it up" response or maybe you'll get some break of one form or another from the manager as you are merely saying, "Could I get some help here?" and not being demanding or a diva at all.

JB King
+1 Also consider cumulative time wasted in meetings. If you are having to inform a non-technical manager of going-ons with no end result(it isn't a decision making meetings, just a "hey this is what I am doing" meeting) then an hour meeting with 3 people is wasting 3 hours of time.
AaronLS
Yes, I refer to my meetings as "Round Robin" with no end point(DNS reference)
James Campbell
+1  A: 

You have three options in my opinion:

  1. Find a job with a better manager who has more technical knowledge or ask them to hire something like a lead programmer.

  2. Become a manager. If your manager tries to micromanage you, then you tell them that you were hired to implement decisions based on your expertise, and they must respect the authority they have delegated to you. Discussions between a technical project manager and upper level management should almost always be high level in content and never technical. They are wasting their own time and yours otherwise.

  3. Don't get bent out of shape about your job. Think of it as a black box. Do you get enough money and benefits out of the box? Does the box take up a little enough portion of your day that you still have time for family/friends? It's easier said than done, but when you get out of the box each day, you have to forget about what was in the box. When you go to work with the mentality that you will do the best you can, but realize there will be insurmountable challenges that are sometimes pulled out of your reach as a result of the ignorance of those around you.

I tried the "become a manager" approach, but that is difficult since you deal with so many people's emotions. It can be emotionally taxing.

I have a found a combination of having a knowledgable manager and the mentality in the third option are good. You may never have a perfect combination of manager+coworkers+pay+ethics+work/life balance etc. If you begin to leave your work at home, then when you are at work, it will be less stressful because you will think about the fact the in a matter of hours it will be over and you will be home again.

AaronLS
+20  A: 
Beta
takin' deep breath, Love it, great answer, you know exactly how I feel, now one thing you don't cover is the question when you hit #4 and you are pressed for an answer of when it will be done, when you really cannot give a spoecific answer on the project due to many unknown variables, how would you approach that? Also i have been trying to get them to use MS project, but they refuse me the time to install and set it up. Do you have any project management tools that you use?
James Campbell
@Vecdid Estimating time is an art-- I'm not very good at it. If a meaningful estimate is impossible, you could try hitting it back to his blind side: "I can do it in four weeks, but *I'll need X*." Make X a little too expensive, logistically impossible, or something that sounds easy but he'll fail to deliver, like "an off-the-shelf C++ parser". Be firm: it's not something you *want*, it's something the project *needs*. Put it in the graphs. They refuse you time to set up MS project? Hell, you're the one who's there late; don't ask permission, just do it. I must learn MSP too, similar reasons.
Beta
**#4 is wrong.** Nothing should ever be late. Instead, you should commit only to the work you can do in the time allowed, and if things come up that effect the timeline, then the deadlines should be renegotiated.
Gabriel McAdams
@Gabriel McAdams, you are assuming that the boss will not impose a deadline without the developer's consent. See #6.
Beta
If the boss imposes a deadline without the developers consent, then the boss must find someone who is able to do the work in that time. If the developer communicates to the boss that this cannot be done, then the boss can/will change the deadline - or find a way to get it done. everything in life is a negotiation.
Gabriel McAdams
If you find yourself "negotiating" constantly with people that are supposed to be on the same side, take some time to educate them on the benefits of mutual dependence.Negotiation just leads to a solution that neither party is particularly happy about.
MadKeithV
@MadKeith: It sounds like you need some help negotiating effectively. The goal in a negotiation is to make both parties happy. It isn't to persuade the other party to do it your way. Negotiation and mutual dependence coexist.
Gabriel McAdams
@Gabriel - " or find a way to get it done". Sadly, that is many times just leaning on the developer. Some people are truly in positions where they have no effective out from this.
DaveE
+2  A: 

The one thing I think is missing in all of these answers is this:

Learn better communication

  • If you can provide timelines that you feel comfortable with, then one problem goes away.
  • If you explain that your current deadline effects your ability to give accurate estimates, and that is why you estimated more time (better to estimate longer than to be wrong), then that problem goes away.
  • If they think you should be a graphic designer, then explain that you are not very good at that, so it will not only take you longer, but it will not be very good in the end. If they are ok with that, then it was their decision. If not, then they will find someone else.
  • If you are the only one left and there is no one else to do all of this work, then politely explain to them that you should be compensated for your hard work (if it is a private company, then take stock - otherwise, find something else that you can negotiate for).

Tell them what you are thinking. Don't complain. Explain it so they are sure to understand. Make it known that it will take longer to do certain tasks, if other things come up while you are working on it. Explain to them when you are given a new task, that it will have an effect on the tasks you estimated earlier.

It will improve things. I'm sure of it.

If while trying to do this, your boss refuses to listen (I don't mean that you boss refuses to do what you want him/her to do - I mean - refuses to listen) then go above your boss, or go look for another job.

Gabriel McAdams
Already done all this, as expolained in my question. None of this improved a thing.
James Campbell
If you still have a problem, then you haven't done this. You may have tried and given up, but you haven't done this. Learn better communication. Trust me. If you learn to talk to your boss (if even to better understand the reasons behind his/her decisions) you will be happier. There is no other way.
Gabriel McAdams
+3  A: 

Immediately, get the book "Working With You Is Killing Me." It is inexpensive, detailed, and a good quick read. More importantly, it will help you quickly, and will relieve much of the stress you now feel. Pay attention to the chapter on "managing up", but do not just jump to that chapter. Read from start to finish.

Seriously, all the other answers (advice) will only get cause you more trouble. You need to "emotionally unhook".

AMissico
I call this Being a Duck. A duck cares not that it rains - water simply rolls off the ducks feathers, he barely notices. One needs to let conflict and frustration roll off one's back.
Chris Kaminski
+20  A: 

Speaking as a manager.

The whole non-technical thing is almost inevitable with managers. I used to be a programmer and, I flatter myself, a pretty good one. In certain areas I'm still OK but the gradual degradation of skills and knowledge that comes with having to spend 90% of my time working with spreadsheets and e-mail means that however smart I am (not especially) or however much I knew, I now know a lot lot less than the programmers who work for me.

Without wanting to be rude (prepares for downvotes) you saying you want him to be more technical is you putting the problem all on him. This isn't about one person (him) not knowing enough, it's about two people who can not communicate with each other. I'm not saying you're a bad communicator, or that he is, just that the two of you are not connecting.

I can't tell you how the two of you need to change what you're doing because that would require far more specific information, but my view is that you need to view the general complaint as a communication issue, not a knowledge issue.

Looking at the specific complaints - if someone working for me has problems and I'm snowed under (if you are I guess he is too) then what I want is them to bring the problem, and a proposed solution so things you can do with him:

1) Suggest regular schedule reviews so you can input into the schedule. Once a week, half an hour - point out where you think it's unrealistic, where the problems might be, how you can both look better if it's a bit more generous (under promise, over deliver).

2) Do you have bug tracking and time sheets? If not then get them. These are the tools which are going to allow you to quantify how you're spending your time, how much time gets spent on things which are not the projects you're meant to be working on and how many issues are arising from the outsource code (and thus why it's a false economy). These will allow him to understand what's happening and adjust the schedules accordingly. Personally I schedule a maximum of 80% of a programmers week on actual project work - the rest is lost to admin and coffee, all estimates have contingency added - both "shit happens contingency" just increasing the total time because estimating is hard and to cover specific areas of concern, plus I assume about 25% of their "project" time will be lost to support.

He's not just going to accept this at face value, but if you show him the numbers he'll have to (or you'll find that you do just have an utterly irrational boss).

3) In terms of the .NET / Wordpress / graphic designer stuff - that's the sad reality of small companies or teams. It's great because you get to touch a whole bunch of stuff but if you want to be a specialist it's not good. Ultimately this isn't going to change and the only advice I can give is if you want to be hardcore in one area, look at a bigger (50 people +) company.

But good luck, and I hope your wife gets better. I know it's hard when the place you have to be 40+ hours a week is stressing you out, but family is more important than all of the crap work throws at you and sometimes remembering that helps a little.

Jon Hopkins
You are the first person in years I've heard mention that when you do the schedule not to assume the person will work 8 hours a day on the project! When I did manpower studies we assumed no more than 6 hours a day of direct work for any profession including software development. You have to account for leave, HR meetings, filling out paperwork, reading and responding to non-project email, etc. Since this person has other direct work besides the project, I would estimate his time on the projects at no more than 4 hours a day when figuring out the dealines.
HLGEM
Scheduling at 80% was one of the first things I learned in IT (along with "zero defect software is not an option"). I've actually heard figures of no more than 60% of a week (on SO I think) but to me that does seem low if someone is dedicated to a project and has no other commitments.
Jon Hopkins
Back in the Bad Old Days(tm) when I was working for a big consulting house, we planned for a 60% utilisation - that is, 60% of time actually working on code. Anything more that that was just unrealistic considering meetings, support etc. Of course, the PHBs wanted and compenstaion was based on 80% or better.
DaveE
When I worked for one of the big consultancies, utilisation tended to be a slightly different thing. Basically it was the proportion of time actually billed to the client. While a realistic 70%-ish level was the target it tended to vary between frantic 50 hours+ weeks (utilisation well over 100%) and weeks doing nothing (utilisation 0%, worried about your job). A steady utilisation of 70% would do the job as far as scheduling but sadly in my experience it was never steady - more feast or famine.
Jon Hopkins
+4  A: 

I'm an ex-programmer, now consultant and functional manager. Some thoughts:

  1. You can ALWAYS pick your reaction to a situation. If you try to be positive and are actively and openly looking for solutions to problems, you'd be surprised how much slack you can get.
  2. Be aware, and teach your boss, about the dangers of "interruptions" when doing work that needs focus. Read "PeopleWare" and give it to your boss. Organise your time so that you have periods of guaranteed, uninterrupted work to do your "focused" tasks.
  3. The biggest change in my career was when I realized that no-one else was ever going to solve my problems, at least not without me clearly and openly discussing the issue with those responsible. Sometimes you can make the changes yourself, sometimes you work with others to first make them understand the issue, and then find a good solution that works for both (or all) of y ou.
MadKeithV
+1, especially for Peopleware (but the rest is good too).
Péter Török
+3  A: 

There is already many good answers to the overall question. Now you could also use some "tools" from Agile Software (a great deal of Agility from Scrum and XP is reality about project management, more than programming).

Basically a few "low-tech" things could be of some help. For every task you are asked you can make a "user story". That means writing on a card (a post-it can do) what you are asked to do and stick then on the wall beside you. When a task is finished write "Done" on it and push it aside (but still visible). Doing this consumes very few time but clearly show what you are doing. If you have many ongoing tasks it will be obvious.

Now on these cards you can add some valuable information : ask to your manager the priority of the task. If he insist on it also mark the deadline but explain that you'll proceed by priority (and of course do the best you can about deadline... but there is only some much hours a day). If he asks you for doing some chore ask him if you should stop the current task for doing that and what is the priority of what he is asking.

On theses cards also write a "weight" for the task (at the beginning it could be estimated hours or days of works). Never ask to your manager for those weights that's your part he can't estimate that. What he can do is read them. That's why it is there in the first place : show the difficulty/time needed to do a task.

When a task is finished along the estimated weight write the actual weight it took to perform the task (no need to be very more accurate here either, your feeling should be enough).

For future tasks you'll thus have a reference to convert a weight in real hours or days of work and will get better at evaluation. The value of a weight point by itself is irrelevant but if you stay consistant with your evaluation you'll soon have an efficient prediction tool and when your manager ask for when you'll finish a poorly defined task you'll be able to give some answer (it won't always be true but you will not need much brain CPU to think about it).

If you are asked about things that implies learning a new skill (or are a webdesigner job) no problem... put a high weigh on card if it's what is real. Your manager should ask you why and he eventually will learn something.

If he asks you why you began to do those with cards or post-it on wall you can still answer him that you where interested about Agile methods (Scrum, XP, etc) that could enhance your overall productivity and help you organize your work (even if here the problem is more about managing manager).

kriss
+2  A: 

I think most people have come up against this problem in one form or another. The one thing that really helped me was to use outlook calendar.

In outlook calendar put the work you have scheduled and when certain tasks needs to be complete. Against each item put the time in hours or days

Example 0.5 days - i13423 - short description

This way when something comes in you can show the manager here is my schedule if you want me to do this new item what has to move to accommodate this.

Eventually you get things back on track and then you can schedule in 6 hours a day. Why 6? so if things took longer than expected it didn't impact on other tasks, also if a new item came in then I would have time to look at it. If I over estimated or have time I would start on tomorrows tasks.

There will be no quick solution to the problem, which ever you choose you will have to invest some time.

Tim Jarvis
+4  A: 

Learn to say no. Sounds like they need you. If they get rid of you they will sink.

As much as I hate them, use gantt charts to display time lines of projects...when you get pulled off one project to put out fires or write a quote for another, show how that pushes back the "Must do" project.

Update your resume and start looking for other jobs.

Learn to say no.

nportelli
+1. A lot of developers don't realize that since they're the ones doing the work, they're actually the ones in control of the work. :)
Rytmis
+1  A: 

You should start by taking a week and keeping a very detailed log of your time. Use this as a basis of your argument. Next, look at your time from the past week and schedule an hour to go sit down with the PM. Go over and explain that you are concerned that by changing focus so often is really hurting the project. Try to always frame things as a break in the shared goal and not you.

In the meeting, keep a notebook and make notes about what the PM says in response and take your time to respond to those points. You could suggest things like, I'll respond to non-primary work at 10 and 3. Try to come up with a loose schedule that will allow you to be more successful with the project.

Other than that, you've got to be both calm and honest. You can be honest and not say things that people want to hear, but you've got to say it. If the PM asks you to do something, you should always say, is this more important than what I am working on now? So you can understand how to prioritize your day.

It's less about saying no and more about explaining the trade-offs. If I do A, then B will have to wait.

Aside from that, talk to your friends and tell them you're looking for a new opp. Always keep your eye open for a better situation.

Josh
+1  A: 

Sit down with your project manager and be honest with him. let him know that you have too many things going on at one time. Tell him it isn't fair that he gets to tell the requestors the deadline when you are the one doing the job.

  • Schedule a meeting with your Project Manager.
  • Explain why you are meeting with him.
  • Suggest a better approach to the problem you are having.
  • Request that you have a say when the deadline will be.
  • Ask for more time when the deadline isn't around the corner.
Mike