Inferior solutions and out-sourcing
Inferior Solution
If a developer is not comfortable asking questions of more experienced (or even differently experienced) developers, it is more likely that the developer will not come up with the optimal solution. I have seen in my career several times when a developer did something less efficiently or in a non-standard or non-maintainable way simply because he or she did not know there was a better, more efficient, more standard, and/or more maintainable way. Some of these cases have occurred because the offending developer did not want to admit lack of knowledge of what he or she was trying to do. In one example, the developer wrote his own XML parsing code because he could not get the Xerces-C XML parser working. It was a simple matter of making his XML well-formed, but he did not know this and did not ask for help and ended up wasting many hours writing a custom “XML” (mostly) parser.
I read this and I thought about my experience trying to manage a remote team in India. Here is a problem I noticed with the team – they were terrified to ask questions. When an American company out sources work to India, the American company is often looking for the lowest possible price. This leads to a lack of trust, and the lack of trust then undermines the project, partly due to the reasons that Dustin is describing – the team in India does not want to ask questions because they do not want to admit to not knowing something. And it doesn’t matter that I was on Skype every night to answer questions. I could create a relationship with the programmers over there, but it did not override the relationship (or lack thereof) that my manager was creating with their managers.