The future is here: AI in software development  

The future is here: AI in software development  

AI has transformed every walk of life since its invention. Our PM Rodrigo Paschetta shares his views on how this technology has evolved over the years and what we are hoping for in the foreseeable future. 

A few days ago, I read some news about a Google engineer who says that a chatbot from a company called LaMDA became a sentient being. Beyond all the moral and ethical questions, as well as the possibility of it being true, I was astonished, but not so much, because even if this is not real, it is not impossible either.  

To start off this article, we must recognize that AI is a technology that is transforming every walk of life, allowing us to rethink how we integrate information, analyze data, and use the resulting insights to improve decision making. How has it evolved over the years, and what are we hoping for in the foreseeable future? Let the journey begin! 

The early beginning of AI 

In 2004, in my last year of university, I took a course called Introduction to Artificial Intelligence, and I must say that everything seemed like science fiction at first. As time went by and the academic year progressed, I began to see it as something with a lot of potential.  

The future is here AI in software development 1

After implementing some algorithms (which I remember fondly) and reading several papers, I began to see the tangibility of these theories. It was amazing to see the different C++ implementations of algorithms such as A* and Dijkstra, among others, or the readings on neural networks that seemed to be taken from a Steven Spielberg movie. 

Thanks to this, I was able to realize that beyond what it seemed, it was not so complex, and with simple things, you could do powerful things. 

The future is here AI in software development 2

In those days, Google was already destroying the rest of the search engines with its search algorithms. There was also the ethical and moral dilemma if the company’s bots were really reading our emails to show us offers according to their content. Microsoft had the word assistant Clippy, but I don’t think anyone believed it was intelligent

From science fiction to reality 

Today, there is the discussion of whether they hear or see us through the microphones and cameras of our electronic devices.  

Over the years I began to see the silent penetration of AI into the lives of ordinary people.  

Nowadays, it is undoubtedly being used in everyday life: 

The future is here AI in software development 3

● Smartphones with their Siri or Google voice assistants, as well as software that magically frames and takes photos. 

● Smart speakers like Google home and Amazon echo. 

● Search engines and their predictive searches that use the data or traces you leave on the internet to predict your tastes and show you recommendations of all kinds like music or shopping, just to mention a few. 

● Maps like Google maps or Apple maps, that use historic location data and recent search queries to help you navigate using the quickest route possible. 

● Customer service: the famous chatbots that we love so much (lies, we don’t love them, but they exist).  

AI history in the software industry  

Going back to my personal experience a long time ago, back in 2005, when I started in the software industry, I arrived with the illusion of being able to apply all these fantastic things and with the naivety of what was really done in the industry. I realized that, while large companies were developing a lot of AI tools internally, for simple or medium-sized applications for small or medium-sized companies AI was hardly taken into account. Neither customers nor software development companies really believed that using AI could add value. In fact, the opposite was true. 

In my ignorance, I once asked the question, “Why not improve X search with Y algorithm?” The answer was, “It will take more development time and make everything much slower, and the customer doesn’t want that.” The worst of all was that the person was right — the algorithm had to be implemented, which I did for fun, but it was very slow, and the client didn’t really care because it didn’t add value to the deliverable. Why should I make so much effort if a simple database query could do the same thing as the algorithm? 

I had to give up because as Steve Jobs said, with whom I agree, “One of the things I’ve always found is that you’ve got to start with the customer experience and work backwards for the technology. You can’t start with the technology and try to figure out where you’re going to try to sell it. And I made this mistake probably more than anybody else in this room.” In short, customer experience rules, and I’m convinced it does. Even though AI by itself is an enhancer of that, it wasn’t the time or place for it. 

As time went by and after a few projects, I had a very pleasant experience. I worked for a client that sold custom sites. Within those sites, you could optionally hire a service that basically indexed the products and tried to predict or show products to the end user. It was a service, so the processing was on a dedicated server for that and was different from the original site.  

Years later, working for a new client with a lot of legacy code and super complex batch processes, I was able to work on a pretty advanced implementation. The idea was to take millions of “ifs” out of the code that were used to decide what to present to the user and pass it to an AI software to make those decisions. The complexity was more about redoing the code and giving the data to this AI software. It was very simple to use this tool, and it was not much smarter than the old, beloved A* or Siri. However, it did its job and improved everything a lot. 

This might be interesting as well: Artificial Intelligence in businesses: How it works

So, what is coming next? 

With the rise of Machine Learning, the spread of many free AI libraries that save us from wasting time implementing them, with the processing power that cloud services like Amazon or Azure give us, anyone can implement agents or parts with AI in their applications. 

The missing step was that the users of these applications wanted to give value to these new features, and from what was mentioned above about the penetration of AI in everyday life, we know that it is now a reality. 

To conclude, we should now be thinking about where to consider and offer AI elements when we present or discuss a project or application with a new client.  

I will mention 5 key places where we could take AI into account to improve our products

1. Searches: The typical Create, Read, Update and Delete (CRUD) and its search function could have AI. 

2. Predictions: In sales, there are customizable menus or a way to predict what the user does most frequently within our app, according to what they type or based on their interaction with certain content or other users, they help predict tastes and offer recommendations. 

3. Maps: Companies have their own developments, or people use the already known Google maps. It is quite widespread, but it is still worth mentioning. 

4. Chatbots: For user service, this is something that is very trendy and necessary. 

5. Accessibility: This gives the option to use apps with voice recognition or other methods that make apps usable in our own way. 

Going back to the news that started this article, I do not know if it is possible that an intelligent agent can feel. However, what is real is that AI is here today (as it was some time ago) and is even more within everyone’s reach. In the case of application development, it can greatly improve the user experience and therefore, our products. The future has been here…. for a long time. 

Comments?  Contact us for more information. We’ll quickly get back to you with the information you need.