15

Over the past year, I began a job where my responsibilities included a high profile app project that was very behind schedule, and had not made progress for two years. The project had run through four developers, one of which had put in writing that they did not want to be associated with the project thereafter. The project leaders are under a lot of pressure both internally and externally.

When I was hired, I was told that I had one month to design and program the app that they had been unable to achieve in two years. I replied that this was not possible, but was told forcefully by a project lead that I had to.

I came up with a successful design that put the project back on track. However, there was more to this work than initially met the eye (e.g. data the app relied on missing or needing to be restructured, and multiple requirements that were not communicated to me). Still, meeting the deadline seemed possible, so I said that yes, it seems I would meet it.

But I didn’t. After some more complications, I told the project leader I needed three more weeks to build a working prototype. The project leaders lost trust in me, and panicked. I told them a project like this would typically take five months, minimum. They freaked out at that timeline. I asked them how long their last successful project took. They said that it had taken five months for the first prototype.

Nevertheless, the project leaders blamed the project being so behind on not being able to afford a "real" programmer; I was insulted in front of co-workers more than once for "not knowing how to program". The director of the firm and others in the project leaders' department were told how I was not able to fulfill my job and I was blamed by project leaders for the delay and related loss of income to the group.

An outside firm was hired, and it took two and a half of their programmers three months to finish the project, visibly working day and night by the end. When delivered, the app was complete but crashed occasionally, wasn't extensible, and to my mind was poorly visually designed. (Ironically, many peers in my department think I had programmed this mess because I am the developer on record, and so I am worried about being criticized on aesthetic and performance grounds.) Meanwhile, the consulting firm has published a paper on the success of the app design, which was mine.

Project leadership is now frustrated with the consultant firm, so they are asking the director again to hire someone into our firm to do the coding. I am the manager of that department, so I will have to supervise the person who is replacing me. I have asked to be removed from the project, but the project leaders want to keep me on because my design for the app pulled them out of their two-year slump, and they have future design challenges to solve. Yet they continue to criticize my lack of ability and bemoan to both superiors and project sponsors that they are having problems progressing on the project because they can’t get the right programming help.

I had finished the app. It runs perfectly, doesn’t crash. It lacks the bells and whistles that the other app does, such as graphic design assets and some 3D animations, but it is more extensible and performant and clearly shows that I can program the app given the appropriate amount of time. When I made this point, I was told by the project leaders that I wasn't able to do it fast enough.

Despite doing well on my other projects at the firm and having a 15-year record of accomplished work in this field, I cannot change the way I regarded on this highly-visible project. I regularly solve problems and contribute code blocks and algorithms that the consulting firm is unable to deliver. These get incorporated successfully into the project by the project team, but are not mentioned when staff accomplishments are reviewed. They remain largely invisible. Project leaders have lost trust in my abilities. I have lost trust in the project leaders' ability to guide a quality project.

What can I do to get the relationships that have been damaged by this project back to a professional and productive status?

  • 5
    Welcome marie. This site isn't really used for specific, situational advice but rather for answering questions that others in similar situations might benefit from. Your question is too specific to your particular company, experience and situation and you're asking for advice on what you should do instead of how you should make a decision. That all makes this off-topic so I've voted to close. – Lilienthal Jul 5 '16 at 8:46
  • 15
    @Lilienthal Can't be salvaged? I read it as "what's happening in this situation, and how can it be fixed." I realize there's a lot of personal stuff mixed in here, but really this is about something pretty prevalent in software development - management throwing people under the bus by promising the uppers things that are impossible. – user41761 Jul 5 '16 at 8:49
  • 3
    @Lilienthal Basicallythis question feels like "How can i handle an existing project where leavers write they don't want their name associated with it, where the deadlines are impossible, where the current manager, with the complicity of the coworkers, trash the newcomer to give him the responsability of the failures when the project is just not managed and where upper management don't seem to care or know". As said Technik Empire, the best option is to run away because even if he gets upper management on his side, he will still have all his coworkers against him. – Walfrat Jul 5 '16 at 9:13
  • 12
    @Marie Can you try to distill your question down a bit? With so much personal background, it's going to attract close votes. If you can distill it into a more generic question that would apply to people generally rather than just you successfully, I think this would be a really good question. – user41761 Jul 5 '16 at 9:34
  • 8
    @marie I'd try to boil it down to the fact that you've inherited a disaster project and made the mistake of committing to a deadline you know wasn't feasible. I'd lightly mention that everyone who has performed actual work on the project has been thrown under the bus, including yourself and a third party contractor, and leave the "what is going on here" and "how can I solve this" question as the main question. Everything else, while true are important details of your life, are unique to you and should be omitted. Definitely don't close and recreate, edit as much as you need. – user41761 Jul 5 '16 at 9:48
56

First of all, you made one mistake multiple times: you agreed to or reaffirmed an impossible deadline. You're on the hook for that, and that's where you've lost whatever little trust and credibility you would have had being the new person on the block.

That aside, it sounds like management is an absolute disaster in this company. Sounds like upper management is asking for impossible deadlines, and middle management is simply bowing and saying "yes" to them instead of giving proper feedback from the people who know what is feasible (you), whether its well received or not. Or, that feedback is being given, but upper management just figures if they stomp their feet and continue to stick to their demands, they'll get what they want. Another possibility is that upper management is clueless to the fact that the demands are ludicrous, but people are promising the moon and the stars trying to get a promotion of some kind.

None of these scenarios are an example of a place where you want to work. Let's consider the fact that thanks to this system, regardless of which scenario it is, absolutely everyone involved has been thrown under the bus except for middle/upper management. You were by your own team, then this was reaffirmed by an independent third party, but then that independent third party also was too, after failing miserably.

At this point, any sane or rational person would easily put it together that the problem is the project and how it is being managed, not the people working on it. However, since this has not happened, we can only conclude that one variation of our hypothesis about a severely ill upper/middle management must be true. There's no other reasonable explanation, especially after you've demonstrated that you've made it function bug free, and still there's no acknowledgement of any error in how the project was managed. Rather, just more endless blame and justification for that blame on anyone who actually touches it to work on it.

You can attempt to call this out and maybe, just maybe someone with enough authority will see the logic and you'll be vindicated, but I wouldn't hold your breath. I'd simply start looking for another job. You're a new employee whose only chance of recovering your reputation and your sanity is to expose senior superiors as being really bad at their job. That's a battle you might win, but it's your call. It's been my experience that even when you win at this, you lose.

  • 3
    Excellent answer - especially the part about "even when you win at this, you lose". If management is firmly convinced about something, changing this is very hard, particularly if you are a new hire. – sleske Jul 5 '16 at 14:28
  • 2
    I'm not sure it will help the OP to move to another employer. This type of mismanagement is everywhere. May be better to figure out how to live with this. – Amy Blankenship Jul 5 '16 at 15:41
  • 6
    This type of mismanagement is not everywhere. The first two companies I worked in after graduating where pretty bad, and I too started to believe that this is universal. But since then, I never had an job with such bad management (mostly because I now know how to spot bad management and check before working at any company). Remember that at a job interview you always have to check if the company is a good fit for you. Ask some questions how projects are managed, and you know if you want to work there. – Josef Jul 6 '16 at 6:19
10

You can either take the criticism in your stride, or quit.

In reality you failed to deliver, whatever your reasons are and how understandable they may be, that's what happened. And you made yourself a target. If it was me I wouldn't let it frustrate me unless people got personally obnoxious, in which case (since you seem to be in a Western Country) you can take that to HR to sort out for you.

If you want to stay in the job then just do solid work on your other projects, handle this one professionally and it will blow over eventually. Be very careful with deadlines.

If you can't handle it, then start job hunting.

Frustration is the major factor I see, but it can only affect you if you let it. It has no good side and the more you let your frustration show, the more of a target you become to people with malicious personalities or overblown egos.

I have been blamed unfairly more than once. I just stated my case the first time and after that ignored it unless asked, and did my best to get the job done professionally in good cheer. I know people said things behind my back, but I didn't care.

If people got obnoxious to my face I dealt with it, but I'm a man and I'm in a rough society. Your best recourse is firstly your supervisor, and then failing that HR. It doesn't matter whether you made a mistake or not, or whether your supervisor doesn't know programming, someone hassling you is over the line and just cause for disciplining.

On a personal level to deal with the issue(I don't know if this applies to you), if I did make a mistake, I would admit it giving whatever justifications there were, but essentially admitting it, most of all I'd admit it to myself and move forwards on resolutions rather than recriminations.

  • 1
    +1 as it's also reasonable that it's a temporary ****storm that will pass. – user41761 Jul 5 '16 at 9:57
  • 2
    "It's all fun and games until someone loses an eye" :- Serious Sam – Kilisi Jul 5 '16 at 10:14
  • 6
    I lost a leg, I lost an eye. – marie Jul 5 '16 at 10:54
  • 3
    Move on Marie. Time to find another job. The screwed up situation at this company is not going change any time soon. Take the outcome with you as a valuable learning experience and plan, schedule and report better on the next project at a more sane workplace. I suspect you now know a lot more about what to look for and questions to ask as you interview for for new positions. – Michael Karas Jul 5 '16 at 14:11
  • 1
    Even if you plan to quit, you need to work here until you have the new job lined up, so I agree: Chalk it up to a learning experience, learn from it (clearer planning, including a delay factor for real-world interruptions and the certainty that the plan will change over time -- something that takes a long time to master -- and regular reporting of progress vs. problems), and move on. Rebuild trust by demonstrating success on other things. – keshlam Jul 8 '16 at 5:31
0

There are entire books on this subject -- "Death March" projects. I've been in the same position. I was eager to please, and optimistic. I didn't leave a buffer for the things I didn't know about the specs AND the organization. And actually, I was being used as a pawn.

My former employer (over 10 years ago) had 18 months to meet a VERY important legal obligation by way of the software I was to modify, but I had only 5 weeks' time to reverse-engineer their existing product and come up with something more stable after my start date. But see, if I didn't make it on time, I could be easily outed as the fall-guy. On deadline day, my boss told me I was being fired. But as this was a public school district, he had several hoops to jump through to accomplish that even though he'd been counting on just scaring me away.

Avoid these jobs like the plague, if you see it coming!

0

I agree with the others that you did actually make the mistake of agreeing with the deadline. It is very difficult not to in the circumstances, I know. The essential things to do are from my own experience (and many others) in the "If Only" file of hard learned lessons.

The first goal at all times to to manage the clients expectations. Or rather "Make sure you are working towards what they want." This includes getting it in writing that such code will work in such a way on such a date. With that you need to add in time to examine the current code. This takes more time than anyone leaves for it, always will.

As reality moves in (usually badly) on what can possibly be coded it is up to you to make the new reality clearly known to those involved. The schedule must take it into account.

As far as Machiavellian politics in management I have been through some of what you describe. The record keeping here may not ward of their attacks since getting the job done is only part of what they are after. Sorry you have to step through all this while doing a good job at programming.

The major point that needs adding is this. As clever people (or brilliant-?-) the habit is often to underestimate the time needed for a task, as follows. When we have finally, doggedly worked out, or quickly spotted the solution to the issue at hand we can see from the start all the way to the very end. We behold the answer. This "Aha" point is probably the only reason I care about the work nowadays. Estimations based on such understanding overlook countless shovel fulls of -work- that lie between the vision and the outcome. This came to mind as you described your PhD as experience. A PhD is work all right but not like regular people work. School politics is not like work politics.

I also agree with those who suggest you cannot win the battle they have placed you in, no matter how excellent your work. You should keep records of goals set and reached and keep your eyes open for your next position.

0

I agree with the answers given, but want to emphasize that the OP's "mistake" here was giving/agreeing to a deadline (either explicitly or implicitly).

In some places with aggressive management who themselves are under pressure, once you give or agree to any date, that becomes a "deadline" and any other conditions/details are forgotten.

This is true even (perhaps especially) if the OP was doing them "a favor" and putting in a best effort to salvage a potentially hopeless situation. Where the OP sees this as a commitment to make bad situation better, the employer sees this as the OP absolving them of responsibility.

The bright side is that in such situations, one can leverage the assigned responsibility to demand resources, time and attention from others who may be able to help. Don't have the full requirements? get management to assign someone to obtain them-- pronto. Need design work? You can ask for it and expect some response.

In other words, if you've put yourself in a "hail-mary" or potential "death-march" project, the best thing you can do is to work hard AND make demands for whatever you need to ensure success. Unfortunately, it appears that ship has sailed here, but the fact that there are SOME people on the OP's side is a good sign.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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