Access to technology has become easier than ever. Technology concepts that once had a high barrier to entry to the uninitiated have converged into frameworks, APIs, and libraries which give even relatively unskilled programmers the ability to create web software easily. Cloud infrastructures can alleviate a large part of the cost and complexity of scaling and availability under high traffic demands.
The abstraction doesn’t even stop at the basic technology; at one level above this, some of the fundamental use cases in web software can be delegated to high availability services e.g. Twitter or Facebook Connect for primary user login and profile management or Yahoo Pipes to translate and combine different data sources into a format you require without having to write a line of code. Reusing the essential use cases of software was an original vision in a startup I worked for nearly ten years go, and at the time it seemed a distant and indistinct goal. Today, loosely-coupled Service-Oriented Architectures allows business the freedom to focus on the core business problems.
Dot Com Lessons
The dot com bubble exploded around the concept of the “first mover advantage” whereby companies had to be the first brand in the consumer’s mind regardless of the cost to get there or the value of the underlying business proposition. Huge amounts of capital were burned trying to build the sort of basic infrastructure that is now available for free or at a fraction of the cost. The web 2.0 era has been both caused and inspired by a massive innovation in technology used on the web; at first revolutionary but now almost fundamental to how some users experience the web. The battles between innovative frameworks and libraries that do similar things eventually leads to a de facto standard. In some languages and problem domains, more and more developer time is spent simply connecting different technologies together (slide #93).
I’m not claiming that technology has hit a dead end – that is clearly not the case. Engineering innovation will always be a core requirement for certain types of business, the point is that the barriers to technology implementation that a business faced even five years ago made it a very difficult and costly problem. This is no longer the case.
This Decade’s Focus
So where is value added? I believe that this decade will fundamentally be based around a businesses attitude to design. When all product or software businesses can assemble the same basic set of underlying features that solve a customer’s problem for little to no cost, remarkable design and marketing is the differentiation. You cannot outsource creativity.
Design
Graphic work can be turned into a commodity on crowd-sourced forums such as 99designs, but as Eoghan McCabe points out design is something very different. Apple excel at distilling consumer trends into a product vision that they conjure remarkable designs around and whip up a frenzy of demand for. Mint took the basic problem of not knowing the best prices on essential banking and utility services and wrapped it into a clean interface that requires next to no user interaction to save money. In both these cases the value add is from a beautiful design that wraps pretty basic features in a creative way.
Flexible Business Models
Innovation will also come from business model design – using concepts from Lean Startups and Business Design Innovation to rapidly react to market forces and pivot. As technology can be built with less inertia, and more about your user’s interaction with your product can be measured and analyzed than ever before, changing direction is arguably less painful now then it has been at any point in history.
So, what do you think? Has technology been commoditized to the point at which it’s almost no longer a concern for a lot of businesses? Is design (of product and business model) the new king? What is the must-have skillset for a programmer in an era where technology is no longer the be-all and end-all?
Well put, Dave. The new magic is not technology – it is simplicity and elegance. As for skillset for a programmer, I think it is knowing how to have fun. I do not know where they teach it, though…