My boss loves to play with the idea of outsourcing, but he seems to be aware of the issues to some degree. In our situation, the idea is pretty hilarious - we as developers have to make sure our products don't become unmaintainable, product management doesn't like to think things through when specifying new features, and we already don't get time for refactoring. I think outsourcing (especially when done to save money) requires pretty fantastic product management and my intuition is that it's fundamentally incompatible with a codebase that is growing along with the company.
Programming used to be getting a computer to do something.
Now it's refining the idea someone has until it's code. People think they know what they want, but have no clue about the masses of details required. If the person with the idea and the programmer are far apart (in space, time, or culturally), it's pointless.
Most ideas don't require 100s of programmers, so the cost saving is minimal
> Now it's refining the idea someone has until it's code.
This is one of the most succinct ways I've seen this said. Thank you.
For the most part the days of handing a programmer a spec who then codes it up are gone. For many problems, programming itself is the easy part. Figuring out what to program, and the complete solution is where the majority of the work resides.