>>I get at least 3 emails per week from software agencies and consultants. On top of that, they're usually located in India/Ukraine and the rates they offer are very low, so I assume it's very difficult to compete.
One place hired me thinking I could fix some software they farmed out to India. I was not aware of that when they hired me. Afterwards they said they wanted it fixed in two weeks and fired me when I told them it wasn't possible. The software was in a language I'd never used on hardware I never programmed for.
They hired someone locally who was something of an expert in the area who claimed he could fix it in a month. It took him six months to fix the problems.
Lesson of hiring cheap overseas.
And a lesson in the psychology of sunk costs.
They probably did not suddenly wake up after six months and realized the Indian developers were mot getting the job done. They probably lied about how long it would take. The consultant that said they could do it in a month probably also lied about their estimate.
Now, might think I should be generous here and give them the benefit of the doubt. However I once had the chance to talk with the CTO of a major embedded consultancy about how to get those first few jobs where you really can’t be confident about any estimate, and that was the explicit and unambiguous advice he offered to me: lie. Tell them you can do it.
Once a company hires a consultant, it can take a lot of pain to make them go back to the drawing board. They do not want to admit they made a mistake hiring someone, so they will accept less than they expect… but only up to a point.