4

I am working as contractor and developer at a client location in the client team. The work environment is politically sensitive.

Another contracting company won the development work of the entire project, and I didn't get any development role in that project. When I asked project management they said that since they have won the project they have to do the development work, and that the manager will give me another role. As per my new role I need to monitor the application with the help of the monitoring tools, and report if I found any issues.

Recently the tech lead asked me to fix issues that I have reported by making code changes. I am happy to take up that work. But my fear is if I start fixing the issues caused by the contracting company, and something bad happens, the contracting company will make me the scapegoat or blame me.

I have experienced that the employees of that consulting company blame others without doing deeper analysis. I don't want to be blamed and become a scapegoat.

How can I express my fear to the tech lead and insulate myself from potential risk of getting blamed?

  • 3
    First step: The manager assigned you elsewhere. The tech lead can't change that except by going through the manager. So go talk to the manager about whether you should accept this work. Beyond that, are you working with a Change Control system like subversion, jazz, or git? If so, who made which changes is tracked and they can't blame you unless they can show your change caused the problem. (Some folks call these "blame control systems" for exactly that reason.) – keshlam Jul 22 '16 at 3:51
  • Hi, I tried to make your post a bit easier to read - the language was a bit unusual. Hope that's okay. – sleske Jul 22 '16 at 11:34
  • 1
    Also, could clarify some points? What is a "contacting company"? What do you mean by the "environment is politically sensitive"`? What is your relation to the "tech lead"? Is he/she your manager? Your colleague? From the contracting agency? Or does he/she work on the project team? – sleske Jul 22 '16 at 11:36
  • Can the Tech lead sign you a waiver of liability? Can the client do the same? If your answer is "no" to any of these two questions. Then don't do it. What if tomorrow, you take the bus to work, and the friendly bus driver suddenly wants you to drive the bus (because he heard you had a commercial drivers license). The answer would still be "no". You don't have a contract to drive that bus. You don't have the same employer. You don't have insurance to drive that particular vehicle. You're not being paid to drive that particular vehicle. So why in the world would you even consider doing it?!! – Stephan Branczyk Aug 12 '16 at 7:42
5

How can I express my fear to the tech lead and insulate myself from potential risk of getting blamed?

You should remind the lead of this:

When I asked project management they said that since they have won the project they have to do the development work, and that the manager will give me another role.

Your new role is to improve the quality of the product by finding errors. If you start doing development work that's covered under their contract, then it could make you liable and not them.

So you are protecting your client by not doing this work. If you do, it will become very difficult for them to keep the other company to their contract and it could be very expensive.

Last, you should emphasize that the role of "finding errors" is not the same as "fixing errors" and it could make the development process confusing or difficult, even if they are not concerned about the contract issues. Quality assurance should not be development, and development should not be doing QA.

2

For your immediate problem:

But my fear is If I start doing fixing the issues caused by the contracting company, When some bad thing happens, The consulting company makes me scape goat or blames me.

Get your fixes reviewed by someone from the contracting company. Go to your tech lead and PM and have them find someone on the contracting company's team, as senior as possible, and tell them to make themselves available to review your code. Make sure you get thorough reviews from them, not just waving your fixes through, and that reviews happen in a timely manner - get your TL and PM to chase if not. If anything does go wrong then the reviewer is on the hook as much as you.

Longer term:

I have experienced that the employees of that consulting company professionally blames other with out doing deeper analysis.

It sounds like there's a toxic work environment in that team that needs to be fixed. Again that's your TL and PM's responsibility. In particular next time someone gets blamed unfairly get your TL to follow it up to work out what actually did happen, under the usual guise of making sure it doesn't happen again.

  • +1 for getting the code reviewed and approved, but I would recommend getting someone in the company to approve them (possibly in addition to the other contractors). The company has the ultimate say-so when it comes to approval, and this way company employees are always in the loop. – Steven Jul 22 '16 at 14:02
1

Some simple steps:

  1. Go to your manager ASAP. From what you say, it looks like the company may want to cover up their mistakes.
  2. Do not make any fixes until your manager approves.
  3. If you get approval, document any changes and save copies of the code you write in case they make further changes and try to blame you.
  4. If you get approval from the manager, have someone from the company sign off and approve any changes you've made as "Tested, and approved."
1

The simple answer is tests. This is what an automated test framework is for, both to validate new/updated code and catch downstream errors caused by changes at integration.

Write tests on the current code (at least for the areas you are going to change) to demonstrate current functionality and/or highlight the current issue you are going to fix. If there are known dependencies you have access to write tests for them to show it working before/after.

Now when you write the fixed/new code add tests to verify this

If something subsequently goes wrong you can show it wasn't your change.

You need to factor adding tests into any estimates, if you don't currently use automated tests factor time to add it.

  • 2
    Tests are always a good thing, but this technical solution may be insufficient to solve what is basically a political problem. For example, a feature change that passes all tests could still be disputed as an improper change to business logic or functionality. – Steven Jul 22 '16 at 14:04
  • But a feature change is something else, the consulting company would just wash its hands of something like that. The OP says "I have experienced that the employees of that consulting company blame others without doing deeper analysis" implying that if a bug hapoens they will say "not our fault as the OP changed the code and did it", the tests will help prove this is not the case. – The Wandering Dev Manager Jul 22 '16 at 15:00

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.