I thought I’d take a second to write some pretty level headed content about how AI will impact the world of software engineering. There’s a lot of hype around this subject matter especially with OpenAI’s ChatGPT.
A lot of people seem to be jumping to the worst case scenario & jumping to the conclusion that AI will make everyone redundant & we’re on a slippery slope to end up like humanity in the Disney film Wall-e.
Well, if you’re like myself and you hope that isn’t the case, I’ve some good news for you, it isn’t. Well, not in the foreseeable future at least. Don’t get me wrong, I think it’s awesome what we can achieve with AI. However, as soon as you try throwing hard problems at AI, even the likes of GitHub Copilot, it fails pretty damn quickly. Such tools are awesome for the likes of saving developers time with generating boiler plate code.
However, one of the biggest issues I’ve encountered is that AI struggles to understand context, and in the world of software engineering, context is king. From deciding what tech stack to use all the way through to your decisions regarding the style of coding, be that object oriented or functional, etc.
It’s safe to say that AI will make our jobs a bit easier, but I’ve tried to personally use AI with some tricky integrations. I struggled to implement a complete end to end integration & that was with the documentation right in front of me. I tried to get the AI to help me out, since I was struggling myself, I thought surely there’s no harm. It’s safe to say that it was less than useless. It was generating some nice pseudo code, but that’s all it was, pseudo code, it didn’t do anything & it had no value to me.
Now it’s fair to state that it’s still pretty good, it can handle some complex stuff, like jotting down an algorithm that’ll generate some 3D objects. I’ve used it to help with some 3D development & for that, it has been great. Granted, still not perfect, it wasn’t a copy & paste job, but it helped me deal with some complex mathematical stuff that went above my head. I even provided context to the AI model, stating that I was using Three.js, it still failed to write code that would work with the Three.js library.
So my personal opinion is that it’ll be amazing with helping us, it’ll certainly make for a great aid. But for the time being, I honestly believe that’s all it is, an aid, I don’t think the likes of software engineers are going to be replaced anytime soon. I have witnessed it myself where I’ve had to verify that the code that was generated by AI was safe, performant & actually worked.
In its current state, I’ve found that it somewhat feels like a quicker alternative to Stack Overflow when looking for answers to problems that you may be having. I feel that the drama is much like the no code movement, back when that was a big thing & a lot of people were worried that there’d be drag & drop tools making a load of developers redundant. I simply believe the ‘scare’ that has come with recent developments regarding AI is in the exact same boat.