AI assisted coding (GitHub Copilot) and never going back

AI assisted coding (GitHub Copilot) and never going back

It began when the CTO at my workplace, where I'm currently employed full-time, proposed, "Let's give GitHub Copilot a try; it could cut down engineers' time by 40%." He reiterated this idea several times, and my first reaction was a mix of skepticism 😏 and curiosity 🤔. This reaction stemmed from a past encounter with a different organisation's CTO who had proclaimed, "Coding is a thing of the past; the world has moved on to connecting components like plug and play."

Here's my personal feedback after experimenting with GitHub Copilot for a few days on my personal project

TL;DR

  1. Never code without an AI assistance (GitHub Copilot for now) from now.
  2. Does it save 40% of engineering effort? Probably much more.
  3. Does it take the job of an engineer? Hell NO.

Disclaimer

  1. The feedback is based on my personal experience while working on my weekend project.
  2. Am not a legal advisor so deal with your legal team before making decisions.
  3. It's ok to assume that am exaggerating, coz my initial reaction was the same before I tried it myself.

The bumpy road

So, I decided to take on this side project of rebuilding one of my iOS apps just for kicks. The original version was done with Objective-C and OpenGL/Metal APIs, but now I'm switching things up with SwiftUI, Swift, and SceneKit. It's my first time diving into Swift, SwiftUI, and SceneKit, and let me tell you, it's a wild ride.

This app isn't your run-of-the-mill type – it's got heavy-duty UI design and 3D rendering going on. So, yeah, I expected a pretty gnarly learning curve. I'm using Xcode on my trusty MacOS, and even though GitHub Copilot isn't officially vibing with it, there are some cool open-source extensions that make it play nice.

The type of driver, I am

I'm the kind of programmer who's always tinkering with code and building things, even if it's just for fun on my personal projects. Despite my job not requiring me to code over the past decade, I still find myself diving into it whenever I can.

Now, when it comes to programming languages, I'm a bit of a polyglot. I hop between them like a squirrel in a nut store. Remembering every syntax? Nah, that's not my style. I prefer to keep my mind free and depend on good ol' search engines or, more recently, the helpful nudges from ChatGPT. So, you could say I'm all about that dynamic, ever-learning coding life.

I struggle with learning anything related to UI design, and dancing with div alignment in HTML and HStack/VStack in SwiftUI always frustrates me because I never seem to get it right, even after trying multiple times.

The ride experience

I kicked off this project flying solo, no AI to lend a hand, just to see how it rolls. After a week of wrestling with new programming languages, syntax, and frameworks, I thought, "Why not give GitHub Copilot a spin?" So, I went on with the personal subscription and slapped on those extensions. Let the coding games begin! 🚀

First reaction

So, I fired up the same project and man, was I disappointed at first. I was half expecting fireworks—new toolbars, a flashy AI menu, maybe even a little chatbot buddy on the side. But nope, nada. My expectations totally missed the mark.

Anyway, I dove into coding like I always do, just to see what this AI fuss was about and where it was hiding. And let me tell you, I was floored. As soon as I started typing, bam! AI suggestions started popping up left and right, tailored perfectly to what I was working on. It was like the AI had been watching over my shoulder the whole time, picking up on my coding style and preferences.

But here's the real kicker: these suggestions weren't just generic boilerplate. They were spot-on, matching my coding style and design principles to a T. It was like having a supercharged coding buddy who knew exactly what I needed before I even knew I needed it.

Suddenly, UI development felt like a breeze. No more bouncing between search engines, docs, ChatGPT, and Stack Overflow. The IDE and its sneaky AI assistant had my back, doing all the heavy lifting so I could focus on what really matters—bringing my ideas to life.

The mind-blowing thing about how well the AI grasps the local context is just incredible. It's like the whole developer experience has had a major upgrade overnight. The last time I felt this kind of game-changing shift was...

  1. Back in the day, when Turbo-C++ rolled out with that amazing help document right there in the IDE, it was a game-changer. Before that, I was constantly flipping through a book for syntax references while coding. I can't even recall how much I appreciated the folks behind the IDE for bringing in that genius idea of contextual help. It was like a dream come true for every coder out there.
  1. And then, along came the internet community, with powerhouses like Stack Overflow and the trusty search engine combo, taking problem-solving to a whole new level. It's like they opened up a treasure trove of solutions, each one tackling the same problem but with a different twist. It was like having a global team of coding buddies at your fingertips, ready to lend a hand whenever you needed it.
  1. ChatGPT certainly pushed things forward, but it didn't quite hit the mark. Enter GitHub Copilot, taking the game to a whole new dimension. Check out this screenshot—suggestions for the 3rd button, complete with pre-filled code snippets based on my past code. This right here is one of those jaw-dropping moments where I just couldn't believe what I was seeing. Mind blown, for real! 🚀

If you thought UI development (declarative programming) was full of pattern similarities and easy for AI to handle, I had the same hunch and decided to test it out with Shader programming in 3D rendering. And guess what? Lightning struck twice—it had that same wow effect all over again. It's like finding those hidden threads that connect different realms of coding, making it a wild and eye-opening ride.

Destination

GitHub Copilot is definitely the next logical step in the evolution of developer experience. It's no wonder why my CTO sang its praises and hyped up its potential to change our lives. This tool is like having a coding genius right at your fingertips, ready to jump in and lend a hand whenever you need it. It's a game-changer, plain and simple.

Fellow programmers, to address the age-old question of "Am I losing my job to AI?" my answer is a resounding no. Instead, you're on the brink of becoming even better at what you do. Think of it like how power tools revolutionized carpentry—they didn't replace the carpenter; they just made their skills more efficient and effective. Similarly, AI tools like GitHub Copilot are here to enhance our capabilities, not replace us. So, embrace the change and get ready to take your coding skills to new heights!

If my GitHub Copilot experience sounds like an exaggeration to you, no hard feelings—I was skeptical too until I gave it a shot. Happy coding, and may your programming adventures be filled with pleasant surprises! 🚀

Harishankar

Harishankar

An ordinary human with huge passion towards electronics design from childhood. Later seduced by computer programming & became software architect by profession.