As a CTO, one of the most valuable experiences I can have is engaging in discussions with my peers. Last night, I had the pleasure of talking with Ken C., another CTO I greatly admire. During our conversation, Ken introduced me to the concept of “primitives,” which I was not previously aware of. Essentially, primitives are building blocks of software that can be used by other pieces of software to build larger parts of a system.
During our discussion, we expanded on this idea by discussing how primitives are applicable to thinking about any kind of building block, not just software. For example, in electrical engineering, a footprint for an IC might be considered a primitive, the PCB itself a primitive, and even a built and tested PCB board that serves a specific purpose can be considered a primitive. Essentially, when considering something that serves a purpose and can be relied upon, with well-defined inputs and outputs, it is a primitive of the layer above it.
Following up on our discussion, there wasn’t as much as I expected when later researching if others use this term and thought process often. Through a Google search, although I did appreciate this blog post at the top of Google: Iheanyi engineering blog. It referred to a primitive as a building block of software that can be used by other pieces of software to build a larger part of the system.
This discussion seems very valuable in terms of thinking about business ideas. At the highest levels, we work on applications that solve high-level problems for large segments of the population: a vehicle used for transportation, a piece of hardware such as a TV or monitor bringing entertainment into our living rooms, a cloud-based application allowing us to communicate, share, and search for items. However, all of these applications are built on layers and layers of primitives or building blocks. Each layer of primitives has its own market, time invested into it, and may have been developed to the point that it can easily be acquired, rather than constantly reinvented.
When considering product ideas, it is worth focusing on those areas that are continually reinvented. Solving the problem upfront and making a reliable solution may very well be a profitable endeavor. By understanding the concept of primitives, we can identify these building blocks and focus on creating solutions that can be relied upon, rather than constantly reinventing the wheel. This approach can help companies save time and resources, while also providing value to customers.