Blessing in Disguise? – Generative AI From Developers' Point of View
“Generative AI might be more disruptive than the invention of the printing press. But actually, it doesn’t matter what technology we compare AI to, because those are all still human ideas... Now technology can create its OWN ideas. That’s an entirely new quality!” What a way to start. Recently, MBition’s Mobile Solutions Lead, Frederik Charon , and Engineering Lead Sergo Beruashvili , gave us an amazingly insightful presentation on the future of so-called generative AI. Here are some its insights.
What is Generative AI?
In very basic terms it’s artificial intelligence (AI), which are algorithms powered by neural networks, that can be used to create new content, instead of just solving singular problems. This content can include everything from code, images, text, to audio and video. Generative AI does so by learning from existing data patterns and generating new examples resembling its training data. These are the datasets used to train the algorithm over possibly endless iterations.
So GenAi, as it’s shortened to, can help us to come up with STUFF. But how useful is that stuff? How come Software Developers are so affected by this software? What’s the big deal?
To say there is a lot of buzz surrounding generative AI, especially here on LinkedIn, would still be an understatement. The buzz is more like a continuous, rumbling noise. Which our two MBitioneers were helpfully able to filter for us and turn into a signal. As part of our Innovation Week 2023, they informed our colleagues about what generative AI can already do, what’s overblown and what it will be able to in the future: The good, the bad, and the plain irrelevant.
What areas will be impacted by GenAI?
One of the areas already heavily affected is Software Development. Generative AI is in many cases better, but especially faster and more efficient than humans at finding bugs. Especially in large sets of code. Due to examples like these, popular media is especially fixated on the question of: “When will AI be better/smarter/more productive than humans?” Usually followed by more alarmist questions of the ‘singularity’ kind. But here is the kicker: AI doesn’t need to be any better than humans in order to revolutionise our world!
It will have a profound effect on many, if not all desk-based jobs, but it does not mean generative AI will take over. Though our way of working might change dramatically. Occupations based on more classically administrative and clerical activities, requiring a lot of repetition and documentation, could indeed be automated more easily – IF Digitalization is already implemented. But even then, it does not mean these jobs will be gone overnight, just that their focus will shift. Instead of taking a reductionist view here, presenters Frederik and Sergo helpfully explained how to turn these new challenges into successes.
Coding with AI – What’s in it for Devs?
Sergo explained how GenAI can be used to code, specifically with the help of GitHub Copilot and OpenAI’s Codex. GitHub CoPilot is a cloud-based AI tool, developed by GitHub and OpenAI to assist developers by autocompleting the code they are working on. While Codex is a large language model designed specifically for generating code and understanding programming languages.
Basically, it can make your everyday work much, much faster. It can automatically generate code, provide code completion suggestions, and even assist developers in writing software by interpreting their natural language prompts. “It’s like autocomplete on steroids! It can suggest the code completion of not just one line, but whole coding-functions,” explains Sergo excitedly.
The AI can thus translate a developer’s rough ideas into functional code and in various programming languages. Theoretically that means even people without programming skills are now able to generate code. The actual implementation into a working state, however, is still anything but smooth and requires a lot of detail work and understanding.
Regardless, these features are already very useful time-savers on a day-to-day basis. Developers at MBition , like elsewhere, use generative AI to help create “boilerplate code” all the time. And Frederik adds that this is just the start: “We have a ton of potential use cases for it in other areas like Testing, UI/UX, Business Support, HR, etc.” Right now, they are evaluating the potential of AI-assisted code reviews, powered by the latest ChatGPT version four.
One of GenAI’s most promising fields, AI-code-reviews can help developers write very high-quality code more consistently. Because it’s more than just a static analyser, or a script. Such tools can actually grasp the code architecture and design choices made by individual developers, and catch possible issues based on that. They can give valuable insights in specialized cases that might otherwise be overseen by human reviewers.
Another possible application is so-called Exhaustive Testing: A method that pre-emptively checks every possible usage situation, to make sure a piece of software works correctly. It means testing everything that could happen. Including testing endless different inputs or conditions, ensuring the software always behaves as expected. In practice, this is often too time-consuming and impractical. With AI-tools, it could actually be possible to test exhaustively in a reasonable timeframe, saving a ton of work during debugging.
领英推荐
An AI reviewer ensures high quality, consistent code, where a human reviewer might require hours or days for the same. “And AI is always there for you,” Sergo points out. Even if it’s not perfect, it’s a great back-up when you are under time-constraints.
Creativity and Development
Generative AI, if well-integrated, additionally takes care of documenting code automatically. Documentation is a very laborious but essential process, without which everything takes longer. Developers need to know where and how to continue working on their projects. But also, people not directly involved need to be able to gain an understanding of the software at a glance. Semi-automatic documentation removes a lot busy-work, for a job that does not involve a lot of creativity.
So instead of ‘taking their jobs’, GenAI actually allows developers to work much more productively, by spending less time on tedious tasks. Which is important, considering the large gap of IT-professionals in almost every market. And it will continue to be that way for a while.
Thus GenAI frees up time for the things humans are still truly, uniquely good at: Creative tasks. Because, even though coding might seem like a rigid STEM-science to outsiders, there is always a large creative component to it as well.
Are Generative AIs really creative?
GenAIs can theoretically generate anything that was also in the dataset used to train their algorithms. Which is what makes it seem like AI trained on Large Language Models (or LLMs) have a creative mind of their own. But in actuality they just reuse data in ways so intricate that they seem new.
But again, in practical terms, this is disruptive enough: “Everyone can be a digital creator or an artist now,” says Frederik. That doesn’t mean it’s good art, but it’s certainly good enough for a quick sketch in a PowerPoint presentation or to aid with photoshop. It means a lot more people’s daily work can get a lot more creative, more easily.
Because AIs are neither creative, nor intelligent on their own: “LLMs are (at least for now) not truly intelligent. They are just calculating probabilities of the next best word to appear for their answer, based on their training data. They don’t truly ‘understand’ the meaning of the topic they are explaining,“ clarifies Frederik.
And this is the point where we run into the limitations around generative AI as well: “It’s very easy to produce something, but very difficult to generate something specific.” Meaning, AI can certainly impress with what it creates, on a human level, but that doesn’t mean that it’s inherently useful.
In conclusion
Generative AI can be a tremendous aid to your daily business but, it is going to be hard to create anything remarkable JUST using generative AI. In the best-case scenario however, these algorithms can work like an ‘inspiration engine’ for us: You don’t have to start on a blank page anymore! Which is an amazing advancement for humanity in its own right.
Gone is the anxiety of staring at a blank screen, whilst gnawing on your pen for half an hour! Probably. But AI generated content should be the BASE for your work, not the final result! It always needs a human touch to check for errors and consistency. And it will continue to do so for the foreseeable future.
Thanks to Frederik Charon and Sergo Beruashvili for filtering the noise for us!