I often see very smart programmers who are working hard but perhaps not so smart. It’s hard in they need to grind out code to get something done; it’s not so smart because they often code stuff a junior “code pig” could and would like to write. Why not hire someone and outsource the coding? This would relieve core smart people to address other problems. Marketing guru Geoffrey Moore speaks of core vs. context, and recommends outsourcing anything that’s not core. In an open source company, it’s important to define what the core activities are. I think there are several. The first is making sure you that you aren’t coding something that someone else in the open source community has already done. Another is making decisions and changes in project direction only after carefully discussing the changes with the core project team. Core is creating the design from the senior experienced engineers and context would be outsourcing as much as possible. Yet, many tech guys either can’t engage an outsource team or are discouraged from doing so. What’s up with that? And, what’s the right mix today? Technology Industry