Relative newcomers to the software industry, as well as a lot of people looking to get software done often ask some variant of the question “why does it cost so much to contract a developer?” It might be disguised as “Why would I pay that much for a 3rd party component?” or “I can hire a junior programmer for a year for what they want for this!” but it always boils down to a misunderstanding of a value equation.
If a contractor quotes you $80 and hour you might be quick to say “that's about $160k a year! Screw that!” but that misses a lot of things. Leave out the fact that the contractor has to pay insurance, workers comp, FICA and all the overhead of a business. Lets focus on what you're buying.
You're not just buying an hour of that person's time. You're buying the years of experience doing other work they have. They're going to have seen far more problems and srewed up applications than a junior programmer will see in even their first 2 years. You're buying access to a portfolio of base code they can draw from that is largely tested and true. You're buying the late nights that they spent on past project pulling out their hair so that pitfalls are quickly avoided on your project. Essentially you're paying for a much better ability to control the cost and schedule of your project.
So you're still thinking “it still seems expensive” are you? Well face it, you can't sell an hour more than once. If the contractor is selling you a product, you're getting a pro-rate on the hours spent developing the product because you're sharing the development hour with all of the other people buying the product.
Does it always make sense to contract out? Of course not, but next time you're project has shot past a delivery deadline or gone overbudget and think about the experience base you have working on it then ask yourself “would having this project where the GANTT chart says I should be be worth the cost of a consultant?”