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.  

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. 

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: 

● 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. 

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. 

WHY TO HAVE IT?

DevOps is a new way of collaboration that makes processes change for the better. The idea of this paper is to understand why you need DevOps and to learn how you can get started. You will walk through the key ideas that bring development and operations together to produce higher-quality software.

White Paper
×

WHY TO HAVE IT?

With an eye on business demands on having clean code, the idea of Technical Debt has emerged. The problem is a software product can only handle so much Technical Debt before it begins to crumble under the weight of its own inefficiency. Learn here how to tackle Technical Debt properly.

White Paper
×

WHY TO HAVE IT?

Companies who are successfully incorporating continuous innovation into their business practices have changed the way their enterprise software is deployed. Trends in application development and deployment support organization-wide transformation but which type of architecture is right for you?

White Paper
×

READY TO TAKE A LOOK?

Many organizations around the world are transferring their IT and software development operations to third parties. For most of them, thinking about outsourcing is an issue of efficiency and focus. Don’t miss these interesting facts that show you why this might be the perfect choice for your business.

White Paper
×

WHY TO HAVE IT?

In the search for the perfect solution, it is not uncommon to find that off-the-shelf products don’t offer solutions fitting your needs and business model. This is where a software development partner comes in. If you are looking to understand what software consultants companies can do for you, keep reading.

White Paper
×

Event-Driven Architecture (EDA) An old concept for a modern context

The concept of Event-Driven Architecture (EDA) may not be new in the software development industry; however, it is becoming stronger once again, thanks to its flexibility and adaptability by using information in real time. At the same time, EDA offers companies the opportunity to process events and flows of events that result in immediate analysis.

White Paper
×

A Beginner’s Guide to Scrum in Agile Projects

Scrum has proven to be very useful in any field and industry, regardless of its complexity. This quick and easy guide aims to show the main insights this methodology has, how it works, and other important aspects to consider if you want to start in the Agile world and improve your company’s results.

White Paper
×