Machine Learning/AI

AI-Augmented Software Engineering: Are We Losing Our Critical Thinking Skills?

In the sci-fi movie "Wall-E," humans live a life of leisure, relying on advanced AI to do everything for them. As a result, they become physically and mentally complacent, losing touch with essential skills. In the movie, the milestone of humans relying on advanced AI to operate starliners and evacuate Earth, known as Operation Cleanup, occurs in 2105, which is just 80 years from now. Considering the rapid advancements in AI we've seen recently, it's likely that we'll reach that milestone significantly sooner than 80 years.

From personal assistants like Siri and Alexa to self-driving cars and AI-powered writing assistants, we are increasingly relying on AI tools to simplify our lives. But as we delegate more tasks to these intelligent machines, a critical question arises: Are we drifting towards a "Wall-E"-like future, where our dependency on AI erodes our critical thinking skills?

In this blog post, we will delve into the relationship between our growing dependency on AI tools and its potential impact on our ability to think critically. We will explore the rise of AI tools and examine the benefits and drawbacks of our reliance on them. By understanding the importance of human critical thinking in shaping the AI landscape, we can better appreciate the need to strike a balance between leveraging AI tools and nurturing our cognitive abilities.

What is Augmented Intelligence

Before delving into augmented intelligence, let's first explore IBM's definition of artificial intelligence:

Artificial Intelligence leverages computers and machines to mimic the problem-solving and decision-making capabilities of the human mind.

According to the definition above, there are two primary aspects of artificial intelligence:

  • Utilizing computational power to complete tasks.
  • Mimic human intelligence (HI).

On the flip side, Augmented Intelligence, also known as Intelligence Amplification (IA), centers around boosting human capabilities by fostering a harmonious partnership between individuals and artificial intelligence (AI) systems. This approach moves away from the idea of AI mimicking human behavior, and instead aims to foster a collaborative environment that leverages both human intuition and machine efficiency. By incorporating human creativity, empathy, and decision-making abilities with computational power, augmented intelligence fosters growth and improved cognitive performance.

This human-centered partnership between people and AI laughs in the face of those Hollywood-inspired tales of robotic doom, starring ‘baddie bots’ like the Terminator or Agent Smith. In contrast, augmented intelligence is like a machine reboot of the duo from "Rain Man", where humans and machines come together in a profound, yet brainy, harmony to solve problems. In this scenario, AI is the savant sibling, using its immense analytical and data-processing capabilities, while the human is the caring and adaptable companion, leveraging their creative, empathetic, and critical thinking skills. Together, they amplify human intelligence rather than letting AI snatch the spotlight, creating a delightful blend of empathy, adaptability, and high-tech wizardry.

Unwinding around a campfire after a long day of unleashing the apocalypse (generated using MidJourney)

Unwinding around a campfire after a long day of unleashing the apocalypse (generated using MidJourney)

As we explore the realm of augmented intelligence and embrace its potential, it becomes increasingly essential to sharpen our critical thinking skills. This powerful combination of human cognition and AI-driven insights allows us to navigate complex challenges with ease and efficiency. Let’s delve into the intricacies of critical thinking and examine how it plays a vital role in the symbiotic relationship between humans and AI.

Understanding Critical Thinking

Critical thinking is a skill that helps people objectively look at information and ideas, making it easier to handle tough problems and decisions. It involves examining information, checking evidence, and making smart choices based on facts. Interestingly, the word "intelligence" is derived from the root Latin words "inter" (between) and "legere" (choose), which almost literally means "to make a smart choice." This skill is not just about finding issues in arguments, but also being open to new thoughts, considering different perspectives, and using reason and evidence to make decisions. Critical thinking promotes independent thinking, intellectual strength, and better decision-making.

Critical thinking is important for many reasons. It helps people make smart decisions based on facts and clear thinking, not just feelings or opinions. It's like a problem-finding ninja in arguments, swooping in to highlight flaws and keep discussions and decision-making spiced up. By considering different ideas and viewpoints, critical thinking supports creativity and new ideas.

How Critical Thinking Fits Into Software Engineering

If you've ever found yourself overwhelmed and frustrated by complicated code, it's likely due to a lack of critical thinking in that code. Following patterns or using tools without giving them much thought can lead to failures, bugs, or hard-to-maintain code. As Pascal once said, "I'd have written you a shorter letter, but I didn't have time", highlighting that simplifying and organizing thoughts—or code, in this context—requires more effort and time. Similarly, over-engineering might also indicate a lack of critical thinking, even though it necessitates considerable mental effort, such as analytical thinking, problem-solving, and mental stamina. However, this often results in unnecessary complexity and excessive functionality.

Critical thinking is vital for software engineers. As an engineer, you're aware that you first need to analyze a problem, assess the solution or approach, and then tackle the issues in a systematic manner. Even though you might not label these steps explicitly while doing it, you still employ critical thinking when crafting a software solution.

Let's now look at how critical thinking abilities are used in typical software development activities.

  1. Analysis: Before diving into coding, do you pause to ask pertinent questions and try to grasp the client's requirements?
  2. Design: Do you carefully consider various design options, potential challenges, trade-offs and suitable technologies to create the solution?
  3. Implementation: Can you break down complex tasks into manageable components, handle edge cases, and develop efficient code?
  4. Testing: Are you skilled at analyzing code, spotting patterns, and identifying the root cause of issues to create effective fixes?
  5. Deployment: Do you apply risk analysis to identify potential risks and evaluate their impact on the deployment?
  6. Maintenance: Can you critically assess new information, such as user feedback or changing business requirements, to identify areas for improvement, and apply problem-solving skills to analyze and address issues that arise during the software's lifecycle?

Clearly, critical thinking plays an essential role throughout the entire process of software development.

Harnessing “the Force” of AI

A few weeks ago, I was tasked with creating a Terraform module to provision an Azure service. Instead of immediately jumping into VSCode, I opted to try ChatGPT, hoping it would help me avoid the more tedious aspects of crafting a new module.

I won't delve into the entire workflow in this post, but I would like to share my observations on how using AI as an augmented intelligence tool can save a significant amount of time. If you're interested in viewing the full conversation, you can find it here.

ChatGPT successfully generated a starter Terraform configuration, which, although not surprising given its capabilities, was impressive nonetheless. It was fantastic to go beyond what the development environment could offer in terms of refactoring, simply telling ChatGPT my desired end result and watching it seamlessly accomplish the task.

Additionally, it was surprising to see how ChatGPT could simulate the output of common command line interface tools, producing results that appeared as if I had run the tools myself.

When humans and AI join forces, even world domination feels like child's play. (created by Midjourney))

When humans and AI join forces, even world domination feels like child's play. (created by Midjourney))

The collaboration between me and ChatGPT has been very productive and effective. Using ChatGPT as an augmented intelligence tool helped me save time, streamline the module creation process, and automate tedious tasks such as refactoring and documentation. The AI's ability to understand and execute complex instructions shows its potential as a valuable tool for engineers.

By using ChatGPT as an intelligence amplifier, I was able to better focus on the higher-level aspects of the project, such as designing the module, making important decisions, and refining the structure and functionality of the module.

Critical thinking means analyzing and evaluating the information at hand and making decisions based on that information. In this case, I evaluated the Terraform configurations created, requested changes and improvements, and tested the module to ensure it met my requirements. By delegating time-consuming routine tasks to ChatGPT, I was able to focus on the more strategic and creative aspects of the project, maximizing the value of my critical thinking skills.

The Dark Side of AI Dependency

You didn't expect ChatGPT, as an intelligence amplifier, to consistently work wonders, did you? After experiencing fantastic results with ChatGPT, I found myself relying on it more and more in my work. Just as in any relationship, the more time you spend with someone, the more you discover their strengths and weaknesses. The same is true for ChatGPT.

I've encountered instances where it generated non-functional TypeScript code and even crafted highly realistic yet fictitious aliases for some Azure services to use in policies. These seemed all too believable until I ran the code it generated, only to watch it fall apart before my eyes.

This highlights the importance of considering the potential drawbacks of using AI as an intelligence amplifier. Over-reliance on AI tools can lead to a decline in our programming and problem-solving skills, making it more challenging to produce clean and efficient code. Furthermore, ready-made solutions from AI tools can potentially stifle creativity and innovation, discouraging exploration of alternative methods for tackling complex problems.

Critical thinking is essential when assessing AI-generated code, as AI tools may not always fully comprehend the context surrounding certain code decisions. This can result in suggestions that are incompatible with project requirements. Furthermore, since AI tools typically specialize in specific tasks or domains, they might encounter difficulties when attempting to solve intricate, cross-domain problems. Combining critical thinking skills with AI-generated code can help ensure more effective and accurate outcomes.

Evolving Together: The Dynamic Duo of HI and AI

The relationship between critical thinking and AI development is a captivating, ongoing cycle that plays a crucial role in advancing AI technology. Within this mutually reinforcing cycle, AI tools can enhance human critical thinking abilities by offering fresh insights and promoting innovative problem-solving approaches. As AI technology progresses, engineers can further hone their critical thinking skills, which are vital for making informed decisions about how best to act in a particular context, which leads to autonomy. By becoming more autonomous, engineers can make better decisions in AI development, ultimately resulting in the creation of more powerful, responsible, ethical, and effective AI systems.

The key to navigating the AI revolution lies in fostering a symbiotic relationship between AI tools and human critical thinking. By remaining vigilant, curious, and adaptable, we can ensure that we continue to grow and evolve alongside the AI tools we create, ultimately working together to shape a future that is both technologically advanced and cognitively rich.


Download the Cloud Native Attitude book for free

Comments
Leave your Comment