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.
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.
Design and development are converging
While building new products has never been easier, creating products that users love remains a massive challenge. It requires a deep understanding of your intended users and a vision for how to deliver a delightful experience to solve their needs. It also requires a workflow that allows product teams to rapidly test, learn and iterate the product experience, the business model and the value proposition.
Over the past several years, iterative product design has become mainstream. Key tenets of the Lean Startup — especially the bias toward getting minimum viable products (MVPs) to market quickly, then learning from real customer feedback — have become widely accepted as a better way to build companies and products.
There is a difference between coding foundational technology and front-end development — and the divide is growing.
A new ecosystem of tools has emerged to support these new ways of working, enabling product design teams to work collaboratively and more efficiently. Teams have moved from the archaic process of creating static designs in Photoshop to embracing a much more expansive toolset — ranging from collaborative design tools (like Sketch, Figma), dead-simple prototyping platforms (like InVision, Marvel), user testing services (like UserTesting.com, Validately and Lookback) and designer-developer collaboration tools (like Zeplin).
All of these tools support one or many core aspects of a modern product design workflow, and nearly all are able to work seamlessly together. The net result: It has become exponentially faster to turn ideas into immersive prototypes that can be experienced, tested and validated before ever coding a product.
What does this mean for front-end development?
Over the coming years, the delineation between “product design” and “front-end development” as separate functions will disappear. Many companies have already adopted this approach, hiring individuals (often referred to as Creative Technologists) who are skilled in product design and front-end web technologies, preventing any required hand-off to bring designs to life in code.
This convergence is also happening in the sophistication of tools that product design teams use. It is only a matter of time before design and prototyping tools replace front-end development altogether, seamlessly producing a high-quality front-end code base for your framework of choice (React, Node or other). Squarespace has already done this for basic websites. Webflow provides a drag-and-drop environment for creating interactive content-driven websites. Atomic and Origami are doing some interesting things with reusable components and data.
All of these are design-first tools, but many allow users to edit or add to the code produced to tweak and refine their products. Imagine where these and other tools might be in five years?
This convergence of process, skill sets and tools will lead to several notable changes in product design:
- Team composition will change. It will no longer be necessary to have both designers and front-end developers within a team, allowing teams to run much leaner.
- Real-time iteration will become the norm. Teams will be able to operate in a state of continuous design improvement — prototyping, testing, learning and rolling out new features faster than ever before.
- Business results will improve. Product teams will be on the front lines of driving business results, able to act quickly to drive meaningful contributions to the bottom line by capitalizing on new opportunities and addressing issues before they become widespread.
So, there is a difference between coding foundational technology and front-end development — and the divide is growing. The latter is going to become extinct in favor of designers and design tools. People with an interest in building and delivering better experiences for consumers and businesses should double down on design and business instead of developing deep software development expertise.