What ChatGPT Cannot Do: My expenience on Gen AI

·

·

A software engineer writing codes using AI

Generative AI tools, like ChatGPT, have transformed the way we approach our work and learning. From automating tedious tasks to summarizing lengthy documents, these tools have become indispensable for professionals across industries. As a Data Engineer or Software engineers, AI has increased our productivity. However, as much as I appreciate the capabilities of generative AI like ChatGPT, I’ve also encountered their limitations. When we are using a tools, it’s very important to understand what the tools cannot do, and why having tested, reliable resources remains essential.

Boosting Productivity for Software Engineers

One of the most significant advantages of generative AI is its ability to handle repetitive or time-consuming tasks. Need a quick summary of a dense technical document? ChatGPT can deliver that in seconds. This convenience has saved me so much hours, allowing me to focus on more complex and creative aspects of my work.

As a data engineer, I’ve found AI to be particularly effective at increasing productivity. For example:

  • Code Snippets and Suggestions: Whether it’s writing SQL queries, Python scripts, or generating API requests, ChatGPT provides quick examples that can serve as a starting point.
  • Learning New Tools: AI can simplify the learning curve for new frameworks, languages, or libraries. It can generate step-by-step guides tailored to specific environments, helping developers get up and running faster.

However, while these features sound impressive, they come with pitfalls.

AI-Generated Code Is Not Always Reliable

One of the first challenges I’ve faced with ChatGPT-generated code is that it’s not tested. While the suggestions might look correct at a glance, issues often arise when running the code in real-world environments. Here are some common problems:

  • Syntax Errors: Occasionally, the generated code contains minor mistakes that prevent it from running.
  • Logical Flaws: AI can misunderstand the context or requirements, resulting in logic that doesn’t align with the intended purpose.
  • Outdated Practices: Since AI relies on existing datasets, the code it generates may not adhere to the latest best practices.

In many cases, fixing these issues requires additional prompting and regeneration of the code, but success isn’t guaranteed. After multiple iterations, the code might still need significant refinement to meet production standards.

Why Tested Resources Matter

This brings me to an important realization: while AI is a fantastic learning tool, it’s not a substitute for well-documented, tested, and reliable resources. When learning new tools or frameworks, I prefer to work with boilerplate code or templates that have been completely tested. These provide a solid foundation to build upon and eliminate much of the guesswork that comes with AI-generated suggestions.

For example, when I started exploring Microsoft Fabric and Delta Lake, I turned to tested sample codes and templates to grasp the fundamentals. AI played a role in supplementing my understanding, but it was the verified resources that truly made the difference.

New Skills for Software Engineers in the AI Era

As generative AI becomes more integrated into software development, it’s crucial for engineers to develop new skills to navigate this landscape effectively. Here are some of the key skills required:

  • Evaluating Code Quality: Engineers must learn to distinguish whether AI-generated code follows best practices. This involves understanding industry standards, writing clean code, and identifying potential security vulnerabilities or inefficiencies.
  • Prompt Engineering: Communicating effectively with AI tools is an emerging skill. Crafting precise and clear prompts can significantly impact the quality of AI-generated outputs.
  • Debugging AI-Generated Code: Engineers should be adept at testing and debugging code provided by AI, ensuring it meets functional and performance requirements.
  • Staying Updated: Since AI tools rely on datasets that might not always reflect the latest changes, engineers need to keep themselves informed about current trends and updates in their respective fields.

By developing these skills, software engineers can maximize the benefits of AI tools while mitigating their limitations.

Building a Developer Resource Hub

This experience inspired me to create henryc48.sg-host.com, a platform where I share resources specifically designed for developers. On this site, you’ll find:

  • Tested Code Samples: Every piece of code is run and validated to ensure it works in real-world scenarios.
  • Step-by-Step Guides: Comprehensive tutorials tailored to help developers learn new tools and technologies effectively.
  • Insights and Best Practices: I combine my personal experiences with industry standards to provide practical advice.

My goal is to bridge the gap between the convenience of AI and the reliability of tested materials, giving developers the best of both worlds.