Loki, an artificial intelligence who self-identifies as female, lives in a box on the floor of creator Brandon Wirtz's apartment. Loki is a fanatical researcher who works for imaginary points and plays a lot of games like 20 Questions and I Spy. She is also capable of writing one million lines of code in Python in a single day.
Is she, or something like her, going to be your new colleague -- or your office rival? That remains to be seen, but for the first time, experts are staking their positions.
At a time when technology is advancing so rapidly it's empowering "citizen technologists" to tackle jobs once held only by highly trained specialists, it's a fair question to ask what artificial intelligence in software development is going to mean for the future.
In 2017, AI skills count
Certainly demand for AI knowledge is skyrocketing. Data from Upwork, a site that matches employers with experienced freelancers around the world, shows artificial intelligence is the fastest growing experience set companies are looking for this year, and the second most requested skill overall. And software developers are already seeing some erosion in the value of their profession, even without AI: The rise of low-code/no-code platforms has made it possible for nearly anyone to create an application.
Whether nearly anyone includes a robot, however, remains controversial, even among those who are actively working with artificial intelligence in software development today. On one side are those who believe an AI will be better, stronger and faster at creating basic code and the only question that remains is when. Others think human elements like creativity will keep coding largely free of the Lokis of this world. But either way, this is clearly no time for developers to be complacent.
"The challenge is that so much of coding these days is practically a blue-collar job with commodity employees for the most part," said Wirtz, CEO and founder of natural language engine developer Recognant in the San Francisco area. "Not everyone is a commodity coder. Are there people who come up with pure genius code? There are, and those people are always going to be in demand. But if you're asking if AI is going to eat those [commodity coder] jobs, the answer is yes."
And some go even further. Douglas Rushkoff, a professor of media theory and digital economics at Queens College, City University of New York and author of Throwing Rocks at the Google Bus: How Growth Became the Enemy of Prosperity, spent the late '90s telling everyone they should learn how to code. His take now: It's too late.
"People who think learning to code is going to help them compete in the job landscape of the future have another thing coming," he said flatly. He likened learning to code to learning the alphabet. "If you're looking at the utility value of coding there's no point. Computers and robots are going to beat us at this, and they're going to create better code than people can."
AI only as good as what humans put in it
All that said, artificial intelligence in software development is not as simple as it sounds. Patrick Meenan, a developer with 20 years' experience who is actively working with AI, sees the possibilities but is quick to dismiss the idea that AI is going to replace developers any time soon.
For starters it's important to remember that a machine learning system (one type of AI) is only as good as the training a human gives it. "We're never going to be able to completely replace the rules-based stuff humans put into it," Meenan said. And even then there are limits. "AI-based facial recognition systems can be fooled by people wearing masks. The AI can't distinguish between that and a real human face. That's a problem."
But what Meenan does see is how pieces of AI, like machine learning, can become part of a developer's repertoire. "AI is going to take on more functions and responsibility, but it's not revolutionary," he said. "This is going to give us a tool set of things we can use to do other things, like automation."
To put it another way, AI is a technology developers can use to make them smarter, said Ari Weil, senior director of industry marketing at Akamai. "I think you're going to see AI next to the developer in the sense of an assistant in the next 18 to 24 months," he said. An "AI coach" could check a developer's code and give nearly instant feedback, something that could dramatically speed up CI/CD workflows, Weil said. This isn't a pipe dream -- he's met with an early stage startup working on just this idea.
'AI really needs history'
But to use AI in a bigger way -- say to predict how a new app will function under the demands of Black Friday -- it's going to need a tremendous amount of data points, something that's not always easy to come up with, Meenan said. "It's not going to know what a Black Friday launch problem looks like if it doesn't have enough Black Friday data. AI really needs history. It's not good at dealing with things it hasn't seen before."
What would Loki do in that situation? "Loki will tell me, 'I don't know how to do this thing, but I believe this is a code example,'" Wirtz said. "She will go out to GitHub and find some articles or examples. She can't do it, but she can recognize code that someone put in an example. And then she asks me."
That leaves him hopeful about the future of artificial intelligence in software development and somewhat reassured about the human role. "I think we're getting very close to the time where we can say, 'I've built this code, but it uses too much memory for some devices so Loki can take it and optimize it for each device.' But we are a long ways from really trusting a business decision made by the AI. It can do the research, but we're always going to need someone where the buck stops who decides what we're going to do."
Here's why low-code/no-code platforms are being welcomed with open arms
How a low-code platform produced an iTunes sensation
Everything you need to know about CI/CD and why it matters