When photography was still new and expensive, each photo meant a lot to people. I often imagine how magical it would have been back then to hold an accurate picture of a place one has never visited. The physical object would be treated as something valuable to be kept, cherished and looked at. These were times when it took technical skills to create the photo. You needed to understand exposure, light, composition, the chemistry of photography, and even how filters work. The pictures of this era are meticulously planned and crafted as intentionally as a painting.
Over time, technology got better, and photos got cheaper. People had easy access to disposable cameras and Polaroids. Photos became more commonplace, making them seem less valuable. Photographers still spent much time planning their shoot, picking a film that would work well for their purposes and vision. You still needed technical skills to create a photo, but for the consumer, the most difficult parts of the process were either made easier or outsourced entirely to a film studio.
Now, we have phones. Every day we look at feeds of photos, more than any in history. Creating a photo no longer requires technical skills; you are good to go as long as you can identify the large camera icon on the screen. The sheer volume of content means that each photo has little value by itself. What holds value is the skills of a photographer and context. Is the photo well composed? What does it remind you of? How does it make you feel?
In the last 100+ years, the difficult question for a photographer transitioned from “How do I create a photo?” to “Why am I creating this photo?”
What about software?
Next, look at software and video games with the same lens. There was a time when you needed to be a mathematical genius to create something for a computer. It wasn’t enough to know what you wanted to build; you needed to make numerous small decisions on how you wanted to build something and then translate that into a language the computer could understand. Once it worked as you wanted, you needed to figure out how to deploy your work. (i.e. get it in the hands of the people you made this for)
Slowly parts of the software development lifecycle are getting automated or simplified. Website builders like Webflow let you build something without knowing any code; we have games like Dreams and Pulp for Playdate that make building games more accessible. We have tools like Replit, Heroku that make deploying your code to end users easier. And lastly, the stimulus for this article, in the last 6 months we have seen some interesting code generators like Github’s Copilot and OpenAI’s Chat GPT. It seems like the best minds are already thinking of leveraging this tech to make creating software easier. They are working on making the “How” of software easier to answer.
Tin-foil hat time
In the coming weeks, months, and years we will see the development process transition from telling the computer how to do something to telling it what needs to be done. With better code generators, developers will slowly become test engineers, listing down tests that need to be passed or conditions that need to be met, and code generators will fill in the blanks. Taking this idea further, Developers will become technical PMs, telling their tools what user outcomes or metrics need to be influenced.
I imagine we will see an overload of generated software created by people from all walks of life in a few years. You could generate an app to solve a bespoke problem only you have. We could have a world where building and sharing new software could be as trivial as playing lego on your phone. In this world, the “How” of software will fade, and we will have to take a deeper look into “What” and “Why”.
So, what next?
I am making broad assumptions here, and I am not an AI or ML expert. I’m not even a developer anymore. But I believe that if you are a creator, you must closely examine your process and ask yourself, what parts of your flow challenge you? Where do you feel you are creating something no one else has made before? How could you increase the time you spend on those things? One thing we can say for sure, all the repeatable or mechanical parts of your job will eventually go away, and if you are lucky, it will happen in your lifetime.
Soon, the regurgitation of old ideas, patterns, and solutions to problems will be automated. What will be valued is thought, the “why” behind your work. Hopefully, we can reach a place that the “how” of software is so trivial that we spend most of our time asking ourselves “why” something needs to be created. Similar to how we no longer feel bound by the technical details of how photography works to take a picture.