|Photo: Carson Miller|
Should we make our kids learn to code? This question was posed to me at a recent dinner party. As one of the only people in our social circle who has worked in and around software development for an entire career, I get this type of question often. My immediate response was a resounding yes, and I shared a few superficial reasons why the choice was so obvious.
The conversation eventually moved on, but the question stuck with me. Maybe it was the phrase “to code,” which encapsulates such a massive spectrum. There will always be a role for engineers focused on the massive challenges required to build autonomous transportation, virtual reality and any other ambitious future technology that we will inevitably conceive, but I’m not so sure this is what my friends had in mind for their kids.
If they’re envisioning a future where their kids code web and mobile apps, I question whether I made the right recommendation. Given the significant innovation in design tools and software development infrastructure, this type of coding is going to look dramatically different in the future. In fact, the line between design and development may no longer exist, resulting in fundamental changes to the skill set and teams required to bring a product to market.
Barriers to development are decreasing rapidly
Over the past decade, the cost to launch a software product has decreased exponentially. For example, during the original dot-com boom, the cost to launch an internet startup was hundreds of thousands of dollars, due in large part to the capital costs of servers, internet bandwidth, software licenses and office space. Since then, cloud infrastructure (like Amazon Web Services), developer tools (like GitHub), open-source frameworks (like Ruby on Rails) and bespoke back-end services (like Algolia for search) have all emerged to enable rapid digital product development at a fraction of the cost of even just 10 years ago. Today, if you have the time and the design and development skills, it is possible to build and launch a product for a few hundred dollars.