The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
Marc makes an excellent point with regard to liability insurance. I've carried it for so long that I frankly forgot I still have it. If you anticipate doing any freelance work, its a necessity.
Simply be careful to read the fine print, check the reputation of the insurer, and make sure the cap is high enough to cover any reasonable liability you anticipate.
All that said, from your description, it sounds like you're in a particularly litigious segment of the industry. Unless the benefits truly justify the effort and risks, I'd still advise a polite pass.
While I think its overkill in this case, incorporation can provide an additional layer of protection. I mention this in case you ever consider additional opportunities. Forming an LLC, in most states, is comparatively inexpensive and not overly difficult.
I recently had a problem at my job. We work for a company abroad as contractor, so all our communication is done by Slack and our tasks are on TFS.
The task I want to talk about, was basically to hardcode some items in a list that came from a database. I warned them all that this would break some other modules in our application, because it used that same data. They just told me to finish that task and go on.
It didn't work out and it broke the application, as I have told them many times before.
But my main complaint is that, they sent an email to my manager saying that the RC was broken because of me. I did have all chat history, so it was easy to prove to my boss that I just did what I was told and even warned them many times about that.
Was I really guilt in all of this? Should I have just ignored thier orders and didn't finish the task?
It sounds like you did your job and warned them of the consequences like a professional should. They are the managers and should be practiced with risk management. They made the mistake and are the accountable ones, not you; you did things correctly.
I've taken to always sending a follow up email recapping the conversation, it's better than nothing.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
You did the right thing. Its nice to see someone who cares enough to struggle with the ethics of this all-to-common situation. I'm simply happy you still had the chat available.
When I find myself in this situation, I usually send an e-mail to person I chatted with...something like "I enjoyed our recent discussion about BLAH. If I understood correctly, you would like me to do WHATEVER to BLAH? Since I had some concerns, could you please confirm that I have understood correctly? Thank you." I then CC anyone who is directly affected. This gives anyone who cares a chance to object and creates evidence that is hard to dispute.
One of my old bosses jokingly called this "getting as many fingerprints as possible on the murder weapon"
Should I Should have just ignored thier orders and didn't finish the task
Seriously, I get the same thing here, and have learned to object to stupid things. If it's something that's likely to break other things (that I'll likely have to redo later...or worse get blamed for) I do it the right way the first time. That usually means 'pretending to understand' but doing what I want anyway. The fallout from overdoing something is a lot less than taking unnecessary and even dangerous shortcuts.
The trick is to give them what they want without going into the details of how you actually got it done. All they should care about is that it works. (or is there more to loading a list from a database query that I should consider?...requires dba approval?...requires online connection?)
Been there. Made some huge required changes and warned the users via a templated email that we always send for changes. Had a testing period that they signed off on. Goes to production and bam. Users were mad. Said we should have put it red and bolded it so they would have noticed it.
This happens to all employees at some time or another. You did what was asked and can show it by the history of communications. Alas, that doesn't stop a manager from retaliating. In the end, you can't really protect yourself from a manager trying to protect themself, especially in a contract situation.
(One thing I've done in similar situation is ensure that the change can be easily reversed and/or isolated, like wrapping the change in a macro or putting it in a separate module.)