How worried should software developers be about Devin AI?
14th
April 2024, 09:07
It's time to talk about a couple things, regarding A.I. All of which have to do with some recent occurences in the software industry.
First of all, Devin AI. It's been the talk of the software industry in recent weeks.

Devin AI is the world's "first A.I Software Engineer" produced by Cognition AI. It's an automated system that performs like your average web developer - code, trawl the web for solutions, read documentation, test code and produce reports, among a myriad of other tasks. Except that being a machine, it does all these a hundred times faster.
Users feed it prompts in natural language. It then produces codes, tests and documentation, based on those prompts. Sounding good, so far? Astounding, even. Words like "groundbreaking" and "game-changing" have been used. Of course, those same words were used when Bitcoin came on the scene, followed by NFTs, and then the Metaverse. I'm not saying that this development will go the same way, but recent history has made it hard not to be skeptical.
For software developers, Devin AI sounds like a useful tool, or a even a nice virtual member of the team. Something that can take care of the tedious grunt work while you concentrate on better things.
For employers, it looks like huge potential savings in terms of developer wages. Hey, why pay developers if an A.I can take care of the bulk of their work? And if we're being honest, we all know a team member or two who could stand to be replaced by A.I.
Reports tell us that Devin AI has managed to solve a whopping 14% of software problems it was given. This is not sarcasm; I know it doesn't sound terribly impressive especially since we don't know if those problems were FizzBuzz level or banking application level, but bear in mind that it can only get better from there.
The use of natural language to communicate requirements to Devin AI sounds potentially shaky. Seasoned software devs would probably know the correct terms to use in order to get results, but non-technical users are going to have a rough go of it. If even fellow human beings sometimes find it difficult to effectively communicate due to language and cultural barriers (even when they're using the same language and are from the same culture) I can't imagine it being any easier for A.I. Granted, I could simply be suffering from a failure of imagination.
"I'm going to say something and it's going to sound completely opposite of what people feel. You probably recall over the course of the last ten years, fifteen years, almost everybody who sits on a stage like this would tell you it is vital that your children learn computer science. Everybody should learn how to program and in fact it's almost exactly the opposite. It is our job to create computing technology such that nobody has to program and that the programming language is human. Everybody in the world is now a programmer. This is the miracle. This is the miracle of Artificial Intelligence. For the very first time we have closed the gap. The technology divide has been completely closed and this the reason why so many people can engage Artificial Intelligence. It is the reason why every single government, every single industrial conference, every single company is talking about Artificial Intelligence today, because for the very first time you can imagine everybody in your company being a technologist..."
I'll begin by saying that he certainly seems to be saying things that investors and shareholders are going to find appealing. As to how feasible it all is, well... at the risk of sounding like one of those developer elitists I hate, I'm tempted to dismiss that speech also because he doesn't seem to have any relevant software development process. Speechmakers waxing lyrical about things they don't know about is an unfortunate habit which isn't all that uncommon. But hey, for all I know, this guy could be a coding genius, so let's not go there.
Let's be honest. Software developers can be a tremendous pain in the ass to put up with. We can be temperamental, egoistical (a prime example being all the whining I hear online about the audacity of trying to automate our jobs), and have this utterly annoying air of superiority due to being the technical person in the room. And in cases of non-tech companies with very traditional wage structures, trying to pay us competitively while not compromising those structures can be an almighty struggle. Not gonna lie - I can absolutely see the appeal.
Being able to write apps without having to deal with software developers or do the work of learning to code? Pretty much the layperson's tech wet dream.
Then again, I would put significantly more stock in that speech if Jensen Huang were to put his money where his mouth was. Why stop at removing software developers? Why not replace his entire development team at Nvidia with Artificial Intelligence, to produce more Artificial Intelligence?
All this seems like marketing speak. Because there's no way Huang could have meant it all in earnest. My best guess is, this speech was meant for stakeholders who don't necessarily know any better. Sure, A.I will generate code for us. That's not new. You know, whenever I want to make an API endpoint call, I use existing software to generate the code for me, in Python or JavaScript or PHP, because I can't be bothered to remember the entire damn sequence in multiple programming languages. Have I lost my job because I don't have to write that code any more? No, it simply means I can work faster and not get bogged down by minutia. Just because something else wrote the code for me doesn't mean I don't have to verify it. And in order to verify it, I need to be able to understand the code.
I've been learning Japanese kanji. Just for fun, you understand. Take the Japanese kanji below. It means "Sunday".
The middle character is one of the more complicated ones I learned in the past year. Can I write it? Have I committed it to memory? No, and no. But do I need to? My phone types it out just fine, and I can recognize it right off the bat. Someone who has only studied Chinese characters (like me, two years ago) would read that entire sequence as "day bright day". But someone who hasn't studied Chinese characters or Japanese kanji wouldn't recognize it at all.
There's the analogy. Software devs looking at computer-generated code have a decent chance of understanding it. People who have had a bit of related training might misunderstand the code. If non-tech people look at code, they're likely to see only gibberish.
If A.I is supposed to generate code, and no one has learned how to code, no one can understand what A.I is doing. Still think people should not learn to code?
However, Huang has a real point when he implies that coding as we know it, is about to change forever. That's because with or without A.I, the nature of coding has always evolved. In the 1960s, programmers were using punch cards on mainframes to code. Are we doing that now? Later on, languages like COBOL came into being. How many of us are still using them now? Now we have frameworks and fancy tools to do most of the heavy lifting. We don't even need to indent our own code anymore - we have linters for that.
Get comfortable with change. It's exactly what our industry produces.
On the subject of Artificial Intelligence taking over software development, there's both good news and bad news. Actually, most of it is bad. But let's start with the good.
But however fast computers are now, they're still at best capable of accessing and processing information millions of times faster than humans. Their ability to create new things is an illusion - creating what appears to be new things using existing content as input. The creativity factor is probably a zero. And mathematically, zero multiplied by millions, is still zero. Thus, no matter how fast computers get, they aren't any closer to true creativity than they were decades ago.

Human beings on the other hand... while it's difficult to objectively measure creativity, I think it's safe to say that the creativity factor of the most brilliant minds on the planet, is probably above zero. Therefore, no matter how slow human beings are compared to computers, we still have that edge.
I've also mentioned before that machines aren't capable of loving their work. They aren't capable of being motivated by things like pride and passion. All that requires flesh and blood. So, for whatever it's worth, that is one thing that no A.I can ever replicate. For the simple reason that whatever A.I is capable of, is what humans have been able to define, just performed at significantly higher speeds. No human has ever been able to successfully formulate love, passion and pride. Subsequently, no A.I is capable of those things.
If, as a software developer, you have predicated your entire career around your ability to write clean, beautiful, well-documented and nicely structured code, you have spectacularly missed the point. A software developer's job is not coding. Your job is to solve problems and provide business value. Sometimes, that involves writing code. If there are people who can write code as well or better than you, since Devin AI can trawl the internet and get their code; subsequently Devin AI can code better than you, faster than you, and with a lot less effort.

Is it true that A.I can code better than the average software developer? That's the wrong question to ask. The correct question is, how badly do employers want it to be true?
We can argue until the cows come home, about the qualities human software developers bring - passion, pride, possibly better code. But none of it matters. When your bosses ask you about the progress of a project, do they ask how clean or beautiful the code is? No, they ask how soon it will be ready for production. The sad fact of the matter is, code quality is an engineering concern, and business people primarily care about profits. So even if human beings were truly able to write better code, business owners would probably still be more forgiving of whatever flaws A.I produced, as long as it didn't affect the bottom line.
One could argue that bad code does affect the bottom line. But again, how much would it matter to the customer base?
You could say you would support human-created art over computer-generated art. But when it comes right down to it, would you be able to tell the difference? Similarly, would the average consumer be able to tell if it was a human who wrote the code, or A.I? Would the average consumer even care as long as shit worked to an acceptable degree?
Twenty years ago, I was a web developer. I made database-driven websites for a living. Then came website builders that automated everything I was doing, and put the power of website creation squarely in the hands of non-technical people. Thankfully, I had already moved on to bigger things before this happened. Would these website builders truly be able to outdo the creativity of the human mind? Maybe not. Would it matter if they didn't? Would the average web surfer be able to tell the difference, or even care? How creative or cutting-edge do we truly need websites to be?
Think about all the writers whose work A.I is generating new content based on. Or filmmakers who may be going out of a job once A.I can replicate their work and create seemingly-new work imitating their style. Unless users have consumed enough media, books and films to distinguish A.I generated content from the "real" thing, there is going to be a market. And the machines can churn out more of this stuff quicker than humans ever can. Imagine the profits. By that point, would those profiting care about authenticity? Would consumers care enough to make a difference?
Therefore, it's no longer even about who can do the better job. It's about who can do an acceptable job, for much cheaper.
I don't want to underestimate the power of A.I. At the same time, though, let's not get carried away. Either way, I'm at the sunset of my career and I have just about no skin in the game. If A.I takes over, great. If it doesn't, also great. Either way, I doubt I'll be losing much sleep over it.
This is your world now, kids. Enjoy.
Tags
See also
First of all, Devin AI. It's been the talk of the software industry in recent weeks.

Devin AI is the world's "first A.I Software Engineer" produced by Cognition AI. It's an automated system that performs like your average web developer - code, trawl the web for solutions, read documentation, test code and produce reports, among a myriad of other tasks. Except that being a machine, it does all these a hundred times faster.
Users feed it prompts in natural language. It then produces codes, tests and documentation, based on those prompts. Sounding good, so far? Astounding, even. Words like "groundbreaking" and "game-changing" have been used. Of course, those same words were used when Bitcoin came on the scene, followed by NFTs, and then the Metaverse. I'm not saying that this development will go the same way, but recent history has made it hard not to be skeptical.
For software developers, Devin AI sounds like a useful tool, or a even a nice virtual member of the team. Something that can take care of the tedious grunt work while you concentrate on better things.
For employers, it looks like huge potential savings in terms of developer wages. Hey, why pay developers if an A.I can take care of the bulk of their work? And if we're being honest, we all know a team member or two who could stand to be replaced by A.I.
Reports tell us that Devin AI has managed to solve a whopping 14% of software problems it was given. This is not sarcasm; I know it doesn't sound terribly impressive especially since we don't know if those problems were FizzBuzz level or banking application level, but bear in mind that it can only get better from there.
The use of natural language to communicate requirements to Devin AI sounds potentially shaky. Seasoned software devs would probably know the correct terms to use in order to get results, but non-technical users are going to have a rough go of it. If even fellow human beings sometimes find it difficult to effectively communicate due to language and cultural barriers (even when they're using the same language and are from the same culture) I can't imagine it being any easier for A.I. Granted, I could simply be suffering from a failure of imagination.
Jensen Huang
At Dubai earlier in February, Nvidia CEO Jensen Huang made waves with a speech, which seem to have raised some hackles in the software development industry."I'm going to say something and it's going to sound completely opposite of what people feel. You probably recall over the course of the last ten years, fifteen years, almost everybody who sits on a stage like this would tell you it is vital that your children learn computer science. Everybody should learn how to program and in fact it's almost exactly the opposite. It is our job to create computing technology such that nobody has to program and that the programming language is human. Everybody in the world is now a programmer. This is the miracle. This is the miracle of Artificial Intelligence. For the very first time we have closed the gap. The technology divide has been completely closed and this the reason why so many people can engage Artificial Intelligence. It is the reason why every single government, every single industrial conference, every single company is talking about Artificial Intelligence today, because for the very first time you can imagine everybody in your company being a technologist..."
I'll begin by saying that he certainly seems to be saying things that investors and shareholders are going to find appealing. As to how feasible it all is, well... at the risk of sounding like one of those developer elitists I hate, I'm tempted to dismiss that speech also because he doesn't seem to have any relevant software development process. Speechmakers waxing lyrical about things they don't know about is an unfortunate habit which isn't all that uncommon. But hey, for all I know, this guy could be a coding genius, so let's not go there.
Let's be honest. Software developers can be a tremendous pain in the ass to put up with. We can be temperamental, egoistical (a prime example being all the whining I hear online about the audacity of trying to automate our jobs), and have this utterly annoying air of superiority due to being the technical person in the room. And in cases of non-tech companies with very traditional wage structures, trying to pay us competitively while not compromising those structures can be an almighty struggle. Not gonna lie - I can absolutely see the appeal.
Being able to write apps without having to deal with software developers or do the work of learning to code? Pretty much the layperson's tech wet dream.
Then again, I would put significantly more stock in that speech if Jensen Huang were to put his money where his mouth was. Why stop at removing software developers? Why not replace his entire development team at Nvidia with Artificial Intelligence, to produce more Artificial Intelligence?
All this seems like marketing speak. Because there's no way Huang could have meant it all in earnest. My best guess is, this speech was meant for stakeholders who don't necessarily know any better. Sure, A.I will generate code for us. That's not new. You know, whenever I want to make an API endpoint call, I use existing software to generate the code for me, in Python or JavaScript or PHP, because I can't be bothered to remember the entire damn sequence in multiple programming languages. Have I lost my job because I don't have to write that code any more? No, it simply means I can work faster and not get bogged down by minutia. Just because something else wrote the code for me doesn't mean I don't have to verify it. And in order to verify it, I need to be able to understand the code.
I've been learning Japanese kanji. Just for fun, you understand. Take the Japanese kanji below. It means "Sunday".
日曜日
The middle character is one of the more complicated ones I learned in the past year. Can I write it? Have I committed it to memory? No, and no. But do I need to? My phone types it out just fine, and I can recognize it right off the bat. Someone who has only studied Chinese characters (like me, two years ago) would read that entire sequence as "day bright day". But someone who hasn't studied Chinese characters or Japanese kanji wouldn't recognize it at all.
There's the analogy. Software devs looking at computer-generated code have a decent chance of understanding it. People who have had a bit of related training might misunderstand the code. If non-tech people look at code, they're likely to see only gibberish.
If A.I is supposed to generate code, and no one has learned how to code, no one can understand what A.I is doing. Still think people should not learn to code?
However, Huang has a real point when he implies that coding as we know it, is about to change forever. That's because with or without A.I, the nature of coding has always evolved. In the 1960s, programmers were using punch cards on mainframes to code. Are we doing that now? Later on, languages like COBOL came into being. How many of us are still using them now? Now we have frameworks and fancy tools to do most of the heavy lifting. We don't even need to indent our own code anymore - we have linters for that.
Get comfortable with change. It's exactly what our industry produces.
On the subject of Artificial Intelligence taking over software development, there's both good news and bad news. Actually, most of it is bad. But let's start with the good.
Your edge against Artificial Intelligence
Computer processors have grown faster over time. That's a bit of an understatement; processing speed and power have increased at an astonishing rate over the past few decades. Faxes used to take twenty minutes to travel the world; now email performs the same function in seconds, or less.But however fast computers are now, they're still at best capable of accessing and processing information millions of times faster than humans. Their ability to create new things is an illusion - creating what appears to be new things using existing content as input. The creativity factor is probably a zero. And mathematically, zero multiplied by millions, is still zero. Thus, no matter how fast computers get, they aren't any closer to true creativity than they were decades ago.

Machines are always
significantly faster.
Human beings on the other hand... while it's difficult to objectively measure creativity, I think it's safe to say that the creativity factor of the most brilliant minds on the planet, is probably above zero. Therefore, no matter how slow human beings are compared to computers, we still have that edge.
I've also mentioned before that machines aren't capable of loving their work. They aren't capable of being motivated by things like pride and passion. All that requires flesh and blood. So, for whatever it's worth, that is one thing that no A.I can ever replicate. For the simple reason that whatever A.I is capable of, is what humans have been able to define, just performed at significantly higher speeds. No human has ever been able to successfully formulate love, passion and pride. Subsequently, no A.I is capable of those things.
Artificial Intelligence's edge against you
One may think that A.I's lack of pride works against them. But this also means A.I, doesn't have an ego. A.I is not programmed to give up out of frustration, or refuse to learn because their non-existent pride forbids it. A.I is relentless, and keeps going. And because A.I is programmed to learn, at some point it will write better code than any human.If, as a software developer, you have predicated your entire career around your ability to write clean, beautiful, well-documented and nicely structured code, you have spectacularly missed the point. A software developer's job is not coding. Your job is to solve problems and provide business value. Sometimes, that involves writing code. If there are people who can write code as well or better than you, since Devin AI can trawl the internet and get their code; subsequently Devin AI can code better than you, faster than you, and with a lot less effort.

Whose code is better?
Who cares?
Is it true that A.I can code better than the average software developer? That's the wrong question to ask. The correct question is, how badly do employers want it to be true?
We can argue until the cows come home, about the qualities human software developers bring - passion, pride, possibly better code. But none of it matters. When your bosses ask you about the progress of a project, do they ask how clean or beautiful the code is? No, they ask how soon it will be ready for production. The sad fact of the matter is, code quality is an engineering concern, and business people primarily care about profits. So even if human beings were truly able to write better code, business owners would probably still be more forgiving of whatever flaws A.I produced, as long as it didn't affect the bottom line.
One could argue that bad code does affect the bottom line. But again, how much would it matter to the customer base?
You could say you would support human-created art over computer-generated art. But when it comes right down to it, would you be able to tell the difference? Similarly, would the average consumer be able to tell if it was a human who wrote the code, or A.I? Would the average consumer even care as long as shit worked to an acceptable degree?
Twenty years ago, I was a web developer. I made database-driven websites for a living. Then came website builders that automated everything I was doing, and put the power of website creation squarely in the hands of non-technical people. Thankfully, I had already moved on to bigger things before this happened. Would these website builders truly be able to outdo the creativity of the human mind? Maybe not. Would it matter if they didn't? Would the average web surfer be able to tell the difference, or even care? How creative or cutting-edge do we truly need websites to be?
Think about all the writers whose work A.I is generating new content based on. Or filmmakers who may be going out of a job once A.I can replicate their work and create seemingly-new work imitating their style. Unless users have consumed enough media, books and films to distinguish A.I generated content from the "real" thing, there is going to be a market. And the machines can churn out more of this stuff quicker than humans ever can. Imagine the profits. By that point, would those profiting care about authenticity? Would consumers care enough to make a difference?
Therefore, it's no longer even about who can do the better job. It's about who can do an acceptable job, for much cheaper.
In summary
To answer the question in the title, how afraid should software developers be?I don't want to underestimate the power of A.I. At the same time, though, let's not get carried away. Either way, I'm at the sunset of my career and I have just about no skin in the game. If A.I takes over, great. If it doesn't, also great. Either way, I doubt I'll be losing much sleep over it.
This is your world now, kids. Enjoy.
Keep calm and code on,