When Should a Consultant Question Decisions?
bay43270 asks: "Presumably, companies hire consultants because they need technical expertise. At some point (if not on a daily basis) a consultant is asked to do something that isn't in the best interest of the company (and therefore may not be in the best interest of the consultant in the long run). The consultant must ask 'do I just say "yes sir" and go to work, or do I try to explain things? If so, how hard do I push?' When should a good consultant question a decision, and how does the situation differ with contract programmers?"
If you are truly a consultant, then you are paid your fee for doing what your contract stipulates. One of the critical legal distinctions between being an employee and being a consultant is that an employee has a stake in the company's future, whereas a contractor is strictly a temporary resource being used to fit the particular needs of the company at that time.
I've always been very careful to stay out of such things unless they are directly covered under what I am supposed to be doing. For example, back when I did SAP consulting, my job was to devise the role assignments so as to avoid collusion between employees. When some group (I believe it was Finance), wanted to create combined roles just to 'make it easier', I stepped up. My job was to ensure that the new roles had a minimal risk of collusion and Finance wanted to do something directly contrary to that. In that case, I took it to my contact person (note, NOT my boss) and explained. He then had the Finance group meet with the consultants to justify their need (they were shot down).
However, if it's a question of implementation or something, like where the client is bringing you on to do 10 tasks, if those tasks are the wrong tasks to be doing or incorrect - too bad. You get paid to do your contractual assignment.
Look at it this way - the company went out of their way to bring you on as a consultant rather than a regular employee. (Note I did not say 'hire you') There's a reason for that - they believe that you have certain talents and skills that can directly impact one of their objectives. You weren't brought on to create the objectives.
Things can get very ugly, legally, if you and your client begin to act as if an employer-employee relationship exists.
Microsoft had this sort of problem a few years ago where they had all these permatemp contractors. Basically people they didn't want to hire full-time so they just called them consultants, but continued to use them over and over on different assignments. The permatemps argued that they were really full-time employees and sued for a fair chunk of change, and won. Consequently, if a company brings you on as a contractor, they want to do everything possible to make sure that the distinction exists, lest you sue them for backpay, overtime and benefits. For that reason I think you'd be totally out of line speaking up.
You're a consultant, finish your job there and move on to the next client.