jamelkenya.com

GitHub Copilot: An Overhyped Tool for Software Developers

Written on

Chapter 1: Introduction to GitHub Copilot

My experience with GitHub Copilot has led me to strong conclusions about its usefulness—or lack thereof. The coding community is rife with discussions on clean code, programming paradigms, and best practices, yet every year, new tools emerge to automate coding tasks. This year is no exception, but GitHub Copilot, an AI tool developed by Microsoft, is not just another WYSIWYG application.

I eagerly signed up for Copilot, driven by curiosity and skepticism. I often see AI as a potential asset or a problem, with no middle ground.

First Impressions

My genuine curiosity—perhaps fueled by too many sci-fi flicks—prompted me to explore what Copilot could do. Installing the extension was straightforward, and I opted for VSCode, a Microsoft product, ensuring compatibility. However, I soon realized that Copilot requires a constant internet connection and access to your repository, which felt unsettling.

To use Copilot, you must remain logged in, and I found the connectivity to be unreliable, likely due to issues with either VSCode or the plugin. But as a software engineer, I understand that bugs are part of early software. Unfortunately, I encountered similar issues in WebStorm as well.

My first attempt at using Copilot involved generating code from comments. I entered this comment in an HTML file:

// a menu with links to the different pages

The result was an alarming snippet:

<ul>

<li>Home</li>

<li>About</li>

<li>Contact</li>

</ul>

If you can't spot the issue—an unclosed <ul> tag—you might want to revisit HTML basics. When a product from a leading tech company fails to deliver on straightforward tasks, alarm bells ring loudly.

While it did create a semantic menu, the failure to close the unordered list was a significant oversight. Still, I decided to test it further with JavaScript.

// an array with 17 items (1-17)

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];

// a function that takes an array and a number

function getItem(arr, num) {

}

At first glance, this seems acceptable. However, having relied on IDEs with autocomplete features for years, I found that writing those comments was not faster than coding it directly. I also expected an arrow function, highlighting a gap in expectations.

Who Is This Tool For?

GitHub Copilot appears to serve no clear audience. Despite Microsoft's intent to create a useful tool, I wonder who in the software engineering community would find it beneficial.

Here are some key considerations:

  • Coding is a way to express a potential solution in a language a computer understands. The real challenge lies in understanding problems, devising solutions, and validating them.
  • Most developers are competent coders. While they may use Google for help, they generally understand syntax and tools.
  • Code editors and IDEs today offer excellent autocomplete, hinting, and linting features, addressing many of the challenges developers face.
  • Complex problem-solving takes precedence over writing simple code snippets.

In contrast, platforms like LeetCode and HackerRank promote coding mastery while Copilot appears to undermine it. It lacks context and education, unlike StackOverflow, which provides detailed explanations alongside code snippets.

If Copilot diminishes the skills of junior developers and fails to assist seniors, then who is it actually for? Essentially, it acts as an advanced autocomplete tool that doesn't outperform existing solutions. At $100 a year, it hardly qualifies as inexpensive.

GitHub Copilot seems to be a clever facade designed to siphon away your intellectual property while claiming to automate mundane coding tasks. The reality is that we already have tools that accomplish this effectively.

Ultimately, it doesn’t benefit anyone—except perhaps Microsoft.

While I encourage you to try it for yourself, I personally would not choose to use it, even if it were free. Writing comments and expecting the best is not my approach to programming.

Conclusion

In summary, GitHub Copilot is not the tool I would choose to have alongside me in my coding journey. It's more akin to an expensive liability that could hinder your skills and career.

Copilot, shift + delete!

Attila Vago — Software Engineer dedicated to improving the world one line of code at a time. Cool nerd since forever, writer of codes and blogs. Web accessibility advocate, Lego fan, vinyl record collector. Loves craft beer!

Chapter 2: Video Insights

An analysis of how GitHub Copilot may be impacting code quality negatively.

A first look at GitHub Copilot and its features, exploring its potential and limitations.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Unlocking Micro SaaS Success: Harnessing Soft Skills for Growth

Discover how to leverage soft skills for building a successful Micro SaaS business.

Kick Doubt to the Curb: Cultivating Confidence in the New Year

Discover how to build unshakeable confidence through understanding, practice, and dedication.

# Understanding the Origins of Self-Attacking B Cells in Lupus

Exploring the role of B cells in systemic lupus erythematosus and how viral infections can trigger symptoms.

Exploring the M1 Mac mini: A Three-Month Journey

A three-month review of the M1 Mac mini, discussing its strengths, weaknesses, and overall performance.

Transforming AWS CloudFormation: A DDD Adventure in the Cloud

Discover how to simplify AWS CloudFormation with Domain-Driven Design principles for a more organized cloud infrastructure.

Here’s How Fictional Narratives Can Transform Your Life

Discover how engaging with fictional stories can enhance your thoughts, motivations, and even influence societal changes.

Exploring the Impact of Microbiota on Astronaut Health in Space

Discover how space travel affects astronauts' gut health and the implications for long-term missions.

# Unveiling the Unlikely Parallels Between Apple and LEGO

Explore the unexpected connections between Apple and LEGO, two iconic brands that share a common UX philosophy despite their different industries.