Development teams are facing a gargantuan task: creating the 50-billion devices that will transform life as we know it on the Internet of Things. Every single one of those devices requires software, with increasing complexity and expectations. The best efforts to measure and enhance programmer productivity and developer processes are falling short, and labor costs are upside down. There is hope in the system-on-chip (SoC) design process with the reuse of hardware IP blocks producing more software to help verify designs. The old make-buy thinking is giving way to “build-borrow-buy”, the way to develop, find, and reuse more quality software IP blocks, faster and easier.