34 ms·
As someone who works as a contractor/consultant most of the time, I think this article is ok. In my position I can't just go around tearing into other peoples'
by danharaj 9y ago
As someone who works as a contractor/consultant most of the time, I think this article is ok. In my position I can't just go around tearing into other peoples' work because I have absolutely no social capital (and I like it that way, keeps me from getting into office politics). That means that my coworkers and I have had to learn how to be diplomatic and understanding in disagreements about how the work should be done.
If someone has done X and you think they did it poorly and you think it's important enough to broach the discussion, it's very important to frame the conversation in a constructive way. There's a reason why they did X the way they did, and it almost never comes down to straight negligence. Approach the conversation as a way to understand why they did it that way instead of a way to make them understand why they did it wrong. It's also important to keep in mind that no one likes to be told they did a shit job. Not even you!
Often there are misunderstandings about (not exhaustively):
* Who the stakeholders are
* What the business requirements are
* What the time and resource budget is
* What is the most important thing to get right and what isn't as critical
* What constitutes good work
If multiple viewpoints on these sorts of questions cannot be reconciled by discussion, then it's a problem of leadership and management. Making it a conflict between two individuals is exactly the worst thing to do here. Hopefully discussion can clarify and localize where the disagreements are and those issues can be brought to the attention of the stakeholders that all parties agree should have a say in the decision.
Most importantly, a lot of decision-making comes down to experience. It's virtually impossible to tell someone your experience in a way that teaches them the lesson you learned. This is almost universally the case, whether it's about code architecture or UI design or management decisions or anything. Sometimes you have to let people make the same mistakes you've made in the past and let them learn from them. In such situations it's important to make sure they own the decision that is made so that if and when issues arise later they can get the feedback they need to learn the lesson. The worst case scenario is that they get their way in the decision and someone else has to clean it up later. No one wins from that.
I like being a contractor because I get to work in lots of different environments without being bound to them. I meet a lot of different people who work in very different ways. I've met some people who are truly incompetent (mostly because they refuse to learn anything), but the majority of people I've met who have made mistakes* are willing to improve their craft and will do so if you can create a trusting and constructive relationship with them.
* Let's be honest, the majority of mistakes I've seen have been my own.