I just finished a 5 month contract where I was hired as a program to make a program. The program is part of a bigger project. On my last day just as I was handing over everything, my boss had me show him some output from the program. He is not really technical (at least when it comes to programming) and he almost never checked my work. He noticed some omissions/bugs in the output and had me change the code. Of course it broke the program. Of course I couldn't get it back to a usable state. I did have a backup but my boss said it was too old. I do feel bad about not having made a more recent backup. Now my boss wants me to come in another day to finish it off. I wouldn't be paid for this and this is more of a favor.
Summary:
- My manager collected all deliverables on the last day
- My manager had me change something that broke the program just as I was leaving
- I stayed late to fix it but I was growing fatigued and frustrated and needed to stop
- I reverted back to an old version, but it was quite old and my manager didn't like it
- My manager wants me to come in some time next week to fix it
- I wouldn't get paid but I'm ok with this
- My manager micromanages and always pokes around and messes up what I'm doing
- the building I worked at has relatively strict security and I would probably have to fill out paper work just to get back in the building.
- my manager is bad at communicating
- other people who work with my manager think what he's trying to do is nuts and is a train wreck (like the way he's organizing data)
My thoughts on what to do:
1) if I do go in, have a specific time that I will leave after no matter what. For example if I decide to go in for 8 hours, I would make a backup of everything, then after 8 hours I would be done even if the program is in a worse state than when I started.
2) I would like to speak to my manager's manager as I can communicate better with him. I am going to give the ultimatum that I'm only going to come in when my manager isn't there, as he tends to micromanage which results in breaking things. I know when he gets stressed he comes by every 20 minutes to ask how I'm doing and poke around and this seriously derails me. How can I state this diplomatically?
Any other requirements I should ask for? I'm also concerned that when I come back the IT department will have shut off access to my account. FWIW I'm sure I could fix the problem with the program in a calm environment given 1 or 2 hours.
UPDATE: I called my manager's manager (my manager is on vacation now) and he said it was his preference that I write some documentation as to the changes and how to fix it.
With regards to the contract, it clearly said which days I started on, how many hours a week are worked, and how many dollars and hour I get paid. Nothing about the product or deliverables.
With regards to the version control: I was told not to use it, though I had been making incremental backups. I did revert to a backup but my manager said it was too old. Yes I realize I should've made another backup of the finalized product, but I was in the process of handing everything off to my manager and was "caught of guard" when all of a sudden he had me change the source code.
final update: I went back in. Fixed it. Now they want me to come back in again saying it's not running/they don't know how to run it. I'm not going back in again.