views:

567

answers:

11

What is there to do when the lead developer is convinced the project will fail? This happened to me recently on a project, and I wound up losing my job, because I spoke up. In a little over a month, I had successfully improved a prototype, using a UI framework I had no prior experience with. So much so in fact, that when demonstrated to hundreds of potential users, an unprecedented number of them signed up for the pilot.

Shortly before the demo, a new developer was added, and he advocated using a different technology. This got rejected right away, so instead he went about porting the concepts from that technology to the existing project, and in a very effective manner I might add. Indeed, when the technical manager returned from the demo, he praised us both as having done a "great job", and the other developer was christened the lead, presumably because he had more recent experience with the underlying server side technology.

However, in the meantime, the other developer informed me, (and I believe, me alone), that

  • he was convinced the current project was doomed to fail, and
  • he did not enjoy using the current technology whatsoever

Immediately the project started to tank. Previously I had actually completed more user stories than were called for in the sprints, but now I was blocked on 3 or 4 stories/tasks with less than a week left in the sprint. One failed sprint may not be the end of the world, but I was a contractor (so was the other developer) with less than 2 months to go, but the possibility of an extension, if we continued to succeed, but this was less in less in my control, particularly so given the lead's disinclination.

So I spoke up, but bear in mind, only to the recruiter(s). There is a lot of other "water under the bridge", but I decided to try to protect myself by re-activating my resume on dice.com, which by the way, the recruiters noticed. So, long story short, the recruiters brought my concern to the client, and the client terminated my contract.

Needless to say, I would have liked 7-8 weeks to find new work instead of immediately being made unemployed in this atrocious economy; another possibility is that the other developer would have left in the meantime and my dilemna would have solved itself.

Hope this is enough background. I'm interested in learning other approaches to my dilemna. Not to mention, job possibilities ;)

+8  A: 

About the only thing I would have done differently to what you did was I would have started my job search with a different pimp. As you discovered, letting your current pimp know that you're not happy can get back to the customer, which can be bad. Besides, in my experience, they all suck equally, so there's no point being loyal to any of them.

Paul Tomblin
I clarified in my question that I re-activated my resume on a job board
George Jempty
+1 for calling things like they are.
Chris Ballance
+1 for calling them pimps.
achinda99
-1 for implying Idaho ;)
George Jempty
No, George, *I*daho.
Paul Tomblin
+4  A: 

Had you tried talking to the other developer? Perhaps you could have helped motivate him.

Jon B
I left out some details in the interest of brevity. I told him the concept he ported over was excellent and that I thought it was enough so that the project would succeed. But he actually asked me, more than once, to "get on the same page" with him.
George Jempty
Really? To get on the negativity page? Ouch.
Jon B
+6  A: 

I have had my share of conflicts on the workfloor. And the golden rule is:

  1. If the conflict is with a superior, go find yourself another job, you won't win this one.
  2. If you are the manager, you have to solve it else you will be in trouble. Don't expect any help.
  3. If the conflict is with a peer, all options are open. But beware things can get dirty. Play it fair but be prepared to move on.

Bottom line, conflicts can be hazardous for your health. If they can't be solved in acceptable times you have to take action.

Gamecat
+1  A: 

I don't know how to handle situation the best way but two books that provide ideas to avoid such situations very well are :

Debugging the Development Process and Software Exorcism

Prabhu. S
+12  A: 

I don't ever "inactivate" my resume. If you keep it up to date as a living, breathing document then it's always up to date and no one can question your motives for updating it. Even if you're not really looking.

Chris Ballance
Thanks, this is the best single piece of advice I will take away from this. I have a friend who says his resume is always activated, that he is implementing the "NEJS" interface (never ending job search), but I never knew the reason why, and yours is compelling
George Jempty
Plus you can't get headhunted if you're CV isn't alive in the field...
annakata
How do you cope with getting 20 or 30 phone from agents (that have not read your CV) everytime you update it on the job website?
Ian Ringrose
I have working relationships with a few good ones, and they check in with me every 6 months or so, so I don't usually mind their calls. I ignore the rest of the shotgun approach headhunters.
Chris Ballance
Another perspective: "Great people shouldn't have a resume." ~Seth Godin http://sethgodin.typepad.com/seths_blog/2008/03/why-bother-havi.html
Chris Ballance
@Chris Ballance: My first reaction to your comment was "Not everyone is Seth Godin." However, my second, and more telling thought was "Over the past 10 years ever single job/contract/whatever I've been in I got because someone called me; not the other way around. I haven't even updated my resume in nearly that long." So, I guess there is some truth to what Seth has to say.
Chris Lively
@Chris Lively, That was my initial reaction also, but recently, things are changing as you described.
Chris Ballance
A: 

Take the path of least resistance.

Assuming that financial reward is at the root of your evil (it usually is).

Eliminate the competition, the vying (against your peers) for the approval of your employer/salary provider. That is usually why there is 'politics' in the workplace. The money.

There's no such politics with your friends/family outside work. Is there?

A place of employment is an institute that forces us into a hierarchy. Ugh!

Solution: Try to avoid an employer altogether or work towards that as a long-term goal. Be your own employer. Why not? Generate some form of passive income.

Don't put all your eggs in one basket by working just for someone else - only. You are setting yourself up for a fall. Its a trap. Who wants to live like that?

We are all good at certain things... developers are creative.

Determine what it is that you are good at. Create it. Sell it. But do it for you. Not an employer. Try to find that niche that allows you to become financially independent.

Start small. Baby steps. ;)

Konrad
+4  A: 

I've been here. The lesson I took away was Never Ever tell the recruiter that got you the job about your intentions.

Look at it from the recruiters perspective. They are filling a need for their client. And if you had any questions about who the client is, it's the one that pays. In the event that trouble is brewing, it is the recruiters job to smooth it over. Typically this means finding another person that is more amenable and placing them in your job.

The only reason a recruiter even asks you how things are going is to determine whether they need to find someone else for the position or not.

You should have stayed in front of the guy paying the bills. Keeping that person informed (in a polite way) about how things were progressing. Unfortunately, politics is just part of working in the business world regardless of what you do.

Chris Lively
+2  A: 

I agree very strongly with what Jon B wrote. The first action should be to speak directly with the developer who's attitude is in conflict with yours. If you do as you did (compliment him on the work that you think he did well) and assert you belief that the project will go well. If this doesn't work, you may want to be more direct and mention that you feel his attitude may be detrimental. be VERY VERY VERY VERY careful about doing this, because some people may be incredibly offended and defensive about this. So make sure you test the waters first.

After you've spoken to the developer a few times, and feel that you're getting no where, then you should speak to the project manager. Whoever is heading up the project that you are both working on. Keep in mind that as a consultant you are working for that company for the time being, so going back and talking to the recruiter about it is bound to not solve anything.

Always try to speak to the person first, to see if you can change their attitude.

+2  A: 

Yes I agree with not telling the recruiter. In addition, as hard as it may be on a team, keep things professional, and make sure your supervisor is aware of how the project is going in your eyes. If you feel certain issues are coming up that may put the project in jeopardy, it is your responsibility to speak up, even if that puts another developer in a bad light. You can of course do this is a diplomatic way, but you should always speak up.

And yes, always keep your resume up to date. Unfortunately, there is no such thing as loyalty these days...

+2  A: 

The only people that matter in this case are:

  • Your peers (your colleague), be a team player there.
  • Your manager (the technical manager you mention), he is the one paying you and deserves an honest assessment of the situation of HIS project.

The only possible option for you as a contractor if you have real concerns on the viability of a project is deal with it openly (no one-on-one conversations), or just shut-up and do your best effort.

As a contractor you cannot afford politics, you'll get burned every single time.

Personally I just try to laser focus on technical issues only and just ignore anything that is not technical. This is obviously not always possible, but you should try hard, and people will just appreciate your professionalism.

In this case you said nothing about the technical reasons for which your colleague thought this project was doomed. Maybe he had some valid points (you're making it sound like his points were frivolous), and maybe a good assessment of the issues would have helped you work as a team on a proposal to make this project work.

By the way did the project fail in the end?

Oh and the recruiters had nothing to do in this. They are not the one paying you, and will do what it takes to get rid of you if they feel you are becoming unreliable and could compromise their potential of future business with their paying customer.

Laurent
As for the technical issue, it was a matter of hand coding Javascript, and specifically, ExtJS, versus generating it with GWT, which was what he was advocating, and which got rejected. Its not that he might not have been right about GWT, but that the straight Javascript route was not impossible
George Jempty
So focus on the technical issue. Was the project going to be late or overrun its budget because the choice had been made to use hand coding/ExtJS? Your customer cares about meeting its requirements in time and within budget.
Laurent
+1  A: 

I've been in this same situation and the only solutions were to: (a) support the lead engineer (b) update the resume and look for a job elsewhere

When the project did fail the lead engineer was looking to place blame on anyone and everyone, fire them, thus absolving him. I started the job search about a month before the project was terminated and was fortunate.

Black Cat
The lead in my case didn't have fire/hire powers, but could definitely take the project in a (negative) direction such that my contract might not have gotten extended.
George Jempty