Get Ready for Software 2.0
Meet Software 2.0, a method of using AI and machine learning models to solve classification and recognition problems without any human input.
Software 2.0, a term coined by Andrej Karpathy, a computer scientist and former senior director of AI at Tesla, is a new type of software that, according to its creator “is written in [a] much more abstract, human-unfriendly language.
Software 2.0 is all about the transition from people writing code to automatically generating code based on observing lots of data, says David Menninger, executive director, software research, at global technology research and advisory firm ISG, in an email interview. “That’s an oversimplification, but it represents the fundamental concept of Software 2.0.”
The mechanics of generating the code are based on artificial intelligence and machine learning, specifically neural networks, Menninger says. “The designer identifies what they would like to accomplish,” he explains. “Then, by examining the correlations between past successful outcomes and various data points, a model can be created.”
Software 2.0 is distinct from conventional software in that it includes the outputs from machine-learning algorithms, such as neural networks. “The idea is that these outputs aren’t written by people, as with Software 1.0, but are instead written by computers,” says Joe Anderson, an associate director at business consulting service Stax in a recent email.
Potential Benefits
Software 2.0’s most obvious benefit is enhanced productivity. “If the code can be generated, it can save many hours of work,” Menninger says. A second benefit is range. “When code is written manually, it only represents the scenarios coders can imagine,” he explains. “If the code is generated, it can represent all the scenarios that are included in the data.”
Yet another Software 2.0 benefit is its ability to learn and change over time. “Since the code is generated from the data, as more data is observed or as the data changes, the models adapt and adjust to the new scenarios that are encountered,” Menninger says. “That’s why it’s referred to as machine learning.”
Software 2.0 isn’t limited to any particular type of application, as long as there are enough data points available to draw inferences about what produces a successful outcome, Menninger explains.
Software 2.0 also promises enhanced flexibility. “For example, you don’t need to reprogram a large language model, like ChatGPT, from scratch if you want it to adapt to new text inputs -- you can just import the text and Software 2.0 will modify the new results in a new version of ChatGPT,” Anderson says.
Overcoming Challenges
Software 2.0 presents several unique challenges. Developer confusion and bewilderment is likely. “While neural networks may be accurate, they aren’t necessarily easy to understand,” Menninger says. An algorithm may identify a correlation that has no obvious logical explanation. “Manually written code has a prescribed flow or logic, so it can be more easily understood.”
Additionally, the data on which the model is trained may contain inherent biases or errors, which can end up in the code, Menninger warns. “And, because the models are hard to understand, it can be hard to detect if they are failing until after the fact.”
Getting Ready
To prepare for Software 2.0’s arrival, enterprises need to begin embracing AI and ML in a meaningful way, Menninger says. “Our research suggests that the biggest challenge is skills -- two thirds of organizations report they don’t have enough [staff members with relevant] skills,” he notes. Menninger adds that enterprises will likely need to look for outside assistance while they are training or hiring skilled team members. “They can’t afford to wait on the sidelines.”
Anderson advises enterprise technology teams to closely follow ML and AI tool trends. “Software developers in particular should learn the basic ideas of machine learning ... so they can recognize how their code will interact with Software 2.0.” Enterprise leaders, meanwhile, should be prepared to follow competitors’ moves toward the technology.
Humans Still Matter
Much of the current discussion around Software 2.0 focuses on its impact on software engineers. “Their experience will certainly change,” Menninger predicts. “Instead of writing and debugging code, they will be finessing models, identifying the right data to feed into the models, and testing the output of the models.”
Menninger also expects a dramatic change in software use. “The techniques that are being used to generate the underlying code are also being used to enhance the user experience,” he says. “Most notably, the concept of conversational computing is taking hold -- asking the system to perform a task or answer a question using natural language, then evaluating, and perhaps making additional requests based on the system’s response.” If one assumes there are many more users than programmers for any software program, then this change in user experience is likely to be significant.
Despite Software 2.0’s distinct human unfriendliness, people will still matter. “Since Software 2.0 is built on machine learning, and machine learning is built on data, and data comes from somewhere, it’s still important for people to be involved and to understand the source of the data they’re using,” Anderson explains.
About the Author
You May Also Like