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 currently work for a company that has recently downsized. I do all in-house work, client installs, builds, QA, and, well, basically all the in-house work.

My direct boss is VERY nontechnical 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 assists 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 resource." 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 during 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.

share

locked by World Engineer Apr 30 at 20:13

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

show 3 more comments

20 Answers

up vote 130 down vote accepted

You are in a frantic and desperate mindset. Take a few deep breaths, clear your head and contemplate the following facts (and if your mind leaps to counterarguments and panic, start over with the breaths).

  1. If you're doing all the work, then they need you. If you die, so does their business.
  2. If you're working late nights and weekends then you are working at an unsustainable pace, tending toward a steady state of inefficiency and poor work. If you were somehow able to work decent hours, you'd actually get more done per day and get things finished sooner. (If your brain just said "But my manager--!" then start over with the breaths.)
  3. When your manager gives you an unreasonable goal and you half-kill yourself to get it done, you are rewarding him for his behavior. You will get more of what you reward.
  4. "This cannot be late." Yes it can. Read this one over a few times.
  5. Although you feel that he should reward you for hard work, you know that this is not true. This is not the path to success.
  6. If the task is not completed by the deadline (see #4), which will look worse: A) you accept the task with the look of a hunted animal, work like a demon and then cringingly admit that it is not ready on time, or B) you tell him calmly at the outset, and every day that it will not be ready by that date, but that it will be ready at that later date, you work calmly and steadily, it is not ready at the deadline but it is ready when you told him it would be. (Breathe, breathe.)

The important thing here is your mindset: your goal must not be to achieve the impossible. Now that you can see there is another way, how do you communicate this to your boss? There are no miracles, but you can accomplish a lot by speaking his language.

  1. Document everything you do. Seriously. Take a little time to do this, even though you are under deadlines.
  2. Tech-illiterate managers love pretty pictures. Acquaint yourself with a professional-looking tool, one of those "schedulers" that they love. You must be able to produce timelines and graphs in pretty colors.
  3. Learn some buzzwords, especially the ones he (or his boss) uses.

Now combine these things. When they ask you for a quote, work out a good one-- don't rush this--, pad it a little, give it to them, never ever negotiate a time estimate and whip up a timeline showing it. If possible, use the graph as your reply (if you can get them to start using your graphs, you've half won). If they outsource the job and you have to fix the problems, give them a quote for that, whether they ask for it or not; in the end you will have a graph that shows A) the four weeks they wanted, B) the six weeks you quoted and C) the eight weeks it actually took because they outsourced it; label this so that an idiot could understand it: "two week overrun due to outsourcing". Come to every meeting armed with figures, graphs, buzzwords. If you do this right you'll be amazed at how they accept whatever is on the graph, and how they see the graph itself not as a waste of time, but as "professional behavior".

Good luck, and let us know how it works out.

Breathe.

share
2  
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 Mar 30 '10 at 19:33
13  
#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 Mar 31 '10 at 16:01
3  
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 Mar 31 '10 at 23:16
5  
@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 Apr 5 '10 at 22:22
4  
@Gabriel McAdams, the goal of negotiation is not to make both parties happy. Most often the goal is a compromise. An agreement is reached but neither party is really happy with it. Negotiation is also only useful where both parties are reasonably matched in terms of negotiating power. If a boss says "do this or find another job" this is no negotiation. –  Ash May 13 '11 at 5:00
show 16 more comments

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.

share
2  
@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 Apr 1 '10 at 18:25
show 4 more comments

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.

share
2  
+1 Great comments especially the bit about new skills –  Nick Moore Mar 26 '10 at 23:22
1  
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 Mar 27 '10 at 6:42
1  
@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 Mar 27 '10 at 7:43
2  
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 Apr 5 '10 at 18:20
2  
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 Apr 5 '10 at 18:24
show 4 more comments

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.

share
2  
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 Mar 31 '10 at 15:52
4  
@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 Apr 6 '10 at 7:17
1  
@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 Apr 6 '10 at 21:56
add comment

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.

share
1  
+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 Mar 30 '10 at 19:23
show 1 more comment

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.

share
add comment

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.

share
show 2 more comments

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".

share
show 1 more comment

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.

share
10  
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 Apr 1 '10 at 13:43
2  
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 Apr 2 '10 at 8:27
1  
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 Apr 6 '10 at 8:37
show 1 more comment

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.
share
1  
+1, especially for Peopleware (but the rest is good too). –  Péter Török Sep 11 '10 at 12:46
add comment

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).

share
show 1 more comment

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.

share
add comment

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.

share
1  
+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 Apr 6 '10 at 16:50
add comment

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.

share
add comment

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.
share
add comment

Just a little additional advice.

Use 80/20 estimates, and teach your boss what it means.

Never say something will be done by a deadline. That's a fool's game. If programming for you is like programming for me, well... any estimate I give I pull straight out of my ass. Even small tasks can be far more complicated than you expected them to be. Often I'm given vague "fill in the blank" instructions that greatly complicate whatever it is that I'm expected to do. I tend to work on large projects, and am given a lot of autonomy in my work, but even if you don't I think you're kidding yourself if you think deadlines can always be met. Deadlines in the programming world essentially imply cutting corners. You can hit your deadline by cutting documentation, cutting unit tests, cutting testing... cutting all the shit that 60 years of software engineering practice has shown makes us more productive in the long term. You're accumulating technical debt to hit your deadline, which your organization will eventually have to pay for... at a highly inflated price.

Managers, especially managers that were technical once but were never actually programmers, tend to think that what we do is straightforward, like putting a complicated bike together or something. They think we just follow an instruction set that we got from college and snap pieces together until something is done. If programming is like that for you, then you're a much better programmer than I am (not that I'm any good, but the point stands).

If your job is like mine it requires creativity and inspiration, in addition to a metric shit-ton of technical skills. You learn on the job. Creativity, inspiration and learning... you really can't schedule these things with any precision.

I guess it depends on what you're given. If you're really given detailed pseudo-code or whatever, and you're just working as a pseudo-code to java/perl/python/etc translator, then maybe this doesn't apply to you. Somehow I doubt that's what you do. I know its not what I do.

80/20 estimates mean that you tell your boss there's a 20% chance it will be done by a date and an 80% chance it will be done by another date. You build them through a combination of painstaking planning, intuition, and sheer guesswork because a really accurate estimate would mean you've already done the work. People need to stop expecting miracles in this industry.

share
add comment

Is this guy adding any value? If not, maybe you should be the PM? It sounds to me like its you, him, and some outsourced team somewhere. Perhaps you should take this up to whoever his boss is, or the stakeholder of the project.

Never get tied to an estimate you aren't confident in. If you don't know how long it will take, tell them that you need time to get an accurate estimate. If he gives you a confused look, use the car analogy of "I have to look under the hood to see whats broken." If its a new feature, use something along the lines of "I have to see how much we can reuse (or say "leverage" if you want to sound MBAish) and how much we will have to build out from scratch."

It sounds like you are the jack of all trades and they can not afford to lose you.

share
add comment

The thing is your boss is making the schedules, so get him to choose for you: If you have to finish task A in two hours and your boss comes to you with task B that has to be done now, ask him:

"I still have two hours for task A which should also be finished as soon as possible. Let me know which to work on and which to postpone for later."

If you do this a few times (point out that you can work on whatever he wants to by postponing the others) and make him choose which one gets postponed, he will get it (sooner or later) that you are a "finite resource".

share
add comment

Since your boss is concerned only with deadlines and doesn't understand or care about the technical side of things, you need to be the one to give yourself a buffer that will include time to take care of all these other things he's throwing at you.

When asked for a quote on how long it will take to accomplish a task, figure out how long it should actually take and then triple it. Seriously, do it. Stand by that quote, but be willing to be talked down a little.

As an example, if a project will take one week, quote three, but if pressed be willing to go down to two. Make two weeks the absolute minimum that you are willing to quote though. Be ready to give good reasons why that amount of time is required. You can probably come up with a laundry list of good reasons why a project will take as long as your quote says it will. Do this for all quotes from now on.

His job is to get the best performance out of you, so if he is able to talk you down from three weeks to two and a half, or two, he can feel effective and at the same time, you will have a reasonable amount of time to finish your projects.

If you get something done early, don't turn it in until that minimum quote time has elapsed or he will use that fact against you when negotiating other quotes later. E.g. "If you can get X done in 1.5 weeks, then you get Y done in the same amount of time."

If he is going to be unrealistic about the deadlines and not care about the actual good reasons why those deadlines are unreasonable, your only option if you want to keep working there and also stay sane is to start quoting unreasonable amounts of time to finish things.

share
add comment

You need to reframe how you're presenting estimates. They are being conflated with commitments for you to do the work between now and now + the estimated effort. The result is your manager thinks he's managing costs by managing deadlines. You need to recast the situation so that you're providing sizing in units of hours or days, and he's figuring out how to arrange his deadline commitments so that there are enough available hours to get the job done. He has to be made to understand that it's a zero-sum game for your time, and he has to own the mistakes he makes using it.

Separate the total size of the job from the calendar. Saying something will take 6 hrs per day for 5 days doesn't mean it'll be done in a week if you're already booked to do something else for 2 of those days. Whenever your total allocation exceeds 6 hours per day on project work, immediately ask which project he wants to move out. Hold firm. You provided accurate estimates. You working overtime is not an option to fix his mistakes. You have a fixed supply of valuable time that your company is receiving in exchange for your salary. Save overtime only for fixing your mistakes. Besides changing your manager's behavior, the self-discipline will eventually help you make better estimates too.

The concept that a 1 week job won't be completed for another 3 weeks will be new, and moving to that is going to be an unpleasant journey. It'll probably start off with him trying to micromanage your calendar for a while. That's something you'll need to wean him off later, but right now the priority is to get him to understand the concept of managing by resource allocation and total effort rather than by deadline. Once he learns that, the appeal of trying to schedule your time will wear off very quickly.

Some others have suggested using some project management software to back up your estimates. That's a good idea, but be very careful of which graphs you use. The thing that will get you burned is Gantt charts without the corresponding resource availability. What will happen is the manager will read straight down the completion dates column to the left of the pretty picture, with zero regard for what the dependencies mean or what kind of availability it assumes. Lead with resource availability, and make sure that the orientation of the presentation is always geared towards when you'll even be able to start work. How much of your time it will take is secondary.

As soon as you start doing this, the pushback you already get on estimates will increase even more. Memorize this: "The estimates I'm providing are my best professional assessment of how much effort it will take to do the job. You can push back on the estimates all you want, or you can pad them all you want. It won't change how long it takes to get the job done. It will only make the estimates wrong."

share
add comment

protected by ChrisF Apr 28 at 13:30

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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