3

I am currently doing programming IT contracting work and I find that I have a major dilemma.

The full time programmer that are currently there, the senior developer and project lead, have no idea what they are doing, the product is in an objectively bad state and behind schedule, and when we have meetings with the CEO they walk out and start giving the finger to the project and the CEO because he wants a working product.

I've already documented most ways the project could be improved and proposed a timeline going forward to which the response I received was, "Don't take it so seriously it's just a job." Afterwards when I tried to be a bit aggressive about the code improvements I was told to never criticize the code quality after which we spent 3 months doing rework of old material just to get it functioning.

As a contractor I don't want to stir up too much trouble, however I have never been in this bad of an environment. The CEO manages all the departments as it's a small company, should I risk bringing up the issues that is more or less a money bleed to him (he's already a great deal tired of the IT department due to no results) or just finish up and move along?

  • Welcome to The Workplace. Please consider leaving questions open for a few days to see what other perspectives are out there. People are less likely to answer a question with an accepted answer. If this were left open you might find a more convincing line of reasoning for supporting another course of action. – Myles Apr 25 '16 at 14:21
10

You've landed in a very poor environment. Clearly, the devs there feel that they have the run of the place, and are willing to do the minimum necessary in order to hang on to their jobs.

You can't change their attitudes, and they will have by now also poisoned the CEO's view of what development is, and can accomplish.

There's really two ways to approach this situation, however the only one who can possibly get a feel for which way to roll with it will be you:

1. Keep Your Head Down

I think a lot of people will lean in this direction because they hate confrontation, and stirring the pot.

You're just a contractor. It's not your job to fix the company culture, the CEO's opinions, or point out the issues within their development department.

You're only there for a short amount of time. Just get your work done and start looking for a sane client!

2. Sit Down With The CEO

Seeing how you're not a full time employee and your contract will soon be ending anyway you may not have much to lose with this approach. Keep in mind, however, that you will be declaring war on the devs, and they will become hostile (more so than they are already)

Draft up a document outlining some of the many issues with the code, and a realistic timeline for improvements. Don't present this to the devs - they're the problem! Instead, ask for a one-on-one with the CEO.

Tell the man that you've worked with many companies, and completed many projects, but have never before run into a development team as unmotivated and dysfunctional as the this one. Hand him a copy of the document and clearly state that the project has great potential, however it is the day-to-day approach of the team which is sinking it.

Tell him that given the chance you could get it off the ground, however that you cannot keep working with these people as they are a burden more than anything else, and that he is welcomed to call in some other expert to offer his advice, however you are confident that they would reach the same conclusion.

At that point the ball is in the CEO's court. If he is a strong leader he may choose to keep you on, put the devs in their place, and hopefully hire new ones in their place. If he's not then he might understand what you're telling him but not have the confidence to carry out the plan, in which case you're better off moving on anyway.

What do you really have to lose?

  • 2
    Contracts closing in so I'll go for 2. Thanks for the advice Andrei – Cractos Apr 25 '16 at 14:09
  • Make sure that you clearly explain why the issues with the code are genuine problems that are genuinely harming development speed and reliability, not just stylistic issues that could be hand-waved away as your personal preference versus theirs. – Carson63000 Apr 26 '16 at 2:03
3

AndreiROMs answer is pretty solid. There is one other angle which I would probably pursue.

I would write up a proper proposal to do the whole job myself if I judged the CEO was tired and unimpressed with his people, and that my relationship with him/her made me think it worth the effort. It's a bit mercenary but that's business. I have taken over whole projects before and built a solid reputation for delivering. Incompetent and/or lazy people can sometimes be useful.

  • I think that depends on the exact circumstances. It could potentially mess up your reputation as contractor if you do not evaluate the situation fully, and I don't think that that'd be worth it (for me, that is). – Seth Apr 25 '16 at 15:55
  • 1
    @Seth You're right, although not the rep part. Everything is a judgement call, but if you don't take risks you don't hit the big money... – Kilisi Apr 25 '16 at 16:38
1

My recommendation: Do what you can do be as productive as possible. I hope / pray that you have a source code control system. In that case, work hard for a month and then compare your output and their output. That would be much more of an eye opener to management.

Then instead of claiming that they are lazy and unproductive, you have the proof. Now you can go to the CEO and tell him what IT can achieve with productive people, that is you, doing the work. That should give you a lot more freedom and/or authority to do what you like.

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.