Embedded Firefighter
A friend of mine was discussing how a contract customer of his had an employee who has broken/fried 4 development boards. He was shocked as that he has not broken or fried a development board in over 10 years, so he could not understand how one of his peers could have fried 4 boards.
The reality is that this guy is not one of his 'peers' that is we often see that people doing the same work we do as peers, not realizing that everyone is at a different level within that work. I explained to my friend that he is a contractor and this guy is a full timer. A full time employee for a company is often paid to be there and know the product for support as much as they are paid to work developing the product. While a contractor is paid to come in and solve a problem quickly.
A contractor is hired to solve a problem and then leave. The problem is often that the full time staff gets over their heads and hit a wall where they can not make progress. When this happens it causes large amounts of concern for management as they do not know if this wall is a dead end for the project or just a wall that needs broken down. They further do not know if their engineering team can scale the wall and provide them with this information. Therefore they need someone to come in and help break the problem down and help them get project back on track. Hence the call a contractor like my friend or Bit Volatile. Our job as contractors is not just to solve the technical problem but also understand the business case for the product and make sure the project can get back in line with minimal delay.
This results in contractors being used not just as individual contributors to a project where we do schedule tasks, but also to work as the fire fighter or ER doctor to stabilize the project when it hits the roadblocks. These are two very different tasks for the contractor with different objectives. Thus a contractor is paid to wear different hats depending on the problem and need of the customer.
This is why the 'peer' above is not my friend's peer. That is the full time engineer is hired for different reason than the contractor and have different metrics. The problem for most contractors is realizing that although they could do the work of the full time engineer, faster, better, and usually cheaper too. That is not what most companies want. That is the company talks about getting the product to market, however if you offered them to have the product completed in half the time and 1/3 of the money as compared to using their full time engineers most would not accept it. If they did get the product this way, then who would support it? They would end up having to train or continue to pay contractor to support the product. Therefore they feel (this is often a feeling, as they have no data) that it is better to have the product develop internally, even if it takes longer and costs more.