Josselin Dionisi - Freelance developer

What does the future hold for AI (artificial intelligence) and developers?

ionicons-v5-k Josselin Dionisi Jan 31, 2023
75 reads Level:

Hello and welcome to a new world! Well, almost.
You couldn't miss it, today everyone's talking about AI, Artificial Intelligence and super-smart robots that do everything for us.
< So I thought, this might be a good opportunity to set the record straight on the subject.

What is AI?

We're talking about artificial intelligence, but that in itself is already shorthand for a machine learning model. In other words, the "computer", i.e. a set of servers, will be able to deduce things by probability from a more or less substantial set of data.

For example: if every Monday you order pizzas at 7pm and your neighbor orders them on Tuesday at 1pm. You could almost assume that almost 100% of pizza sales in your neighborhood take place on Mondays and Tuesdays.

Of course, this statement is truncated, and if one of your neighbors orders at another time, or if you change your habits, the result becomes false?

So, to remedy this type of situation, the model "learns" over a long period of time, i.e. it will make its probabilities on a set of data between a date X and Y, and continue to readjust its deductions in the future.

In this way, it will get closer and closer to the truth and provide us with usable results.

But we'll never reach 100% reliability, even if we're at 99.99998%.

Note how important this is for the future?

Tools linked to the world of developers and tech

Of course, you've recently heard of ChatGPT, or even before that of Github Copilot. These brilliant little tools write code for you, leaving you even more time to drink coffee.

They've been the talk of the town (and the coffee), and everyone has tried them out. If you haven't already, I'd recommend it.

So yes, it's great, it's a revolution to be able to talk to your computer as if it were a human being. It knows how to "think" and remembers the beginning of a conversation so you don't have to repeat your request every time.

But then, as many have said, what use are we developers going to be? If all we have to do is ask a chatbox to create a mobile app in just a few minutes, with step-by-step code to boot?

Spoiler: Far from putting us out of work, this opens up a whole new side of our profession.

And yes, as I said in the introduction, nothing is ever infallible. As humans, we already make mistakes, so you can imagine that a dataset that makes approximate deductions... makes a lot of them too!

The media and sensationalist articles will always be looking for the buzz and make you think, unconsciously or not, of the Terminator that's coming soon. But in reality, machine learning models are confined to certain very specific tasks and can't get out of them.

In fact, these tools save an extraordinary amount of time. All the little repetitive tasks, the hours spent writing Regexes or configuration files such as .htaccess or whatever. Yes, we can be "replaced" by these robots, but that's just the beginning. Never take the results you're given literally.

Always check and correct to compensate for the margin of error.

Using AI for development Its real usefulness lies in providing us with valuable assistance and answering questions more quickly than by searching Google or obscure developer forums.

You've got a cron job to write, a regex, a call to a standard API, all those little operations we often spend time on because of bad writing/configuration.

It can at least help you write it in a few minutes.

But we can't leave the whole task of creating a site, an app or even a fairly complex script to an AI. Not only is the code it will generate not necessarily designed to work in production, there are potential security flaws, code errors that could lead to performance losses, etc...

Or, quite simply, after copying and pasting, you may find that the code throws an error and doesn't work?

You can certainly notify the AI and tell it that it has made a mistake, and it will recognize this and give you new code, but even then it will never be perfect.

What's more, our profession, like many others, is made up of a theoretical aspect that an algorithm obviously can't replace. Before creating an app or a site, you have to think about it, design it. Knowing how the elements will interact, how the database will be structured... so many things that, despite the power of the tools mentioned, they will be incapable of doing.

Conclusion

Our profession is not dead, I'd even say it's reborn, and in the same way as frameworks standardize the façon of coding, AIs will provide us with valuable elements to implement in our way of thinking and writing.

So, yes, we mustn't miss out on the AI era and get started now to understand the ins and outs. But clearly, don't give up on development just because ChatGPT knows how to write a PHP class for you?