4 ms·
I've used Copilot for the past six months or so, mostly at work. I've talked to multiple colleagues and I seem to have much better luck using it than others, as
by boricj 1y ago
I've used Copilot for the past six months or so, mostly at work. I've talked to multiple colleagues and I seem to have much better luck using it than others, as in are you sure we're talking about the same tool? kind of discussion. I'm not sure why I manage to get so much more mileage out of Copilot than them.
I mostly throw entire reams of C++ compiler error messages while working on heavily templated, very intricate code full of compile-time and recursion magic. It usually converges quickly to the solution unless I happen to ask something impossible. I also use it for code completion that can often scale out to dozens of lines predicted correctly or close enough. Yet my colleagues seem to have trouble getting the AI to find its way out of a wet paperbag in simpler situations.
AI hasn't changed how I work, I tend to quickly design a rough idea in my head and then iterate on code until I've refined it to what I want. It has however increased my productivity significantly in two ways:
- I can reach beyond my current level on any topic up to a certain point (for example, my hatred of C++ metaprogramming knows no bounds but with AI I can pull off vastly more complex tricks than I can do on my own).
- It handles some of the tedious menial work for me, which gives me more brainpower bandwidth to focus on design and more speed for iterating on code.
> AI is an amplifier of what you are. It's not a substitute - it just reflects and scales whatever you bring to the table.
I'm a chaotic whirlpool with an affinity for heresy. Most of my professional work incorporates some unorthodox element that proves to be unreasonably effective for the problem at hand. Most of my personal work actively hurts the brain of my colleagues whenever I sit down and explain whatever crazy thing I'm currently hacking on.
I can bring a lot of pure unadulterated chaos to the table, which seems to be exactly what's needed when order has failed and everyone else is left scrambling for Plan B. I don't know what AI is amplifying in there or why I seem to have much better luck using it than my colleagues, but maybe it takes an heretic to talk to a soulless machine in an effective manner.
- keepamovin 1y agoThis is a great write up! Hahaha :) I'm curious what sort of products you work on at your company and personally if you want to share.
- boricj 1y agoI'm currently an embedded software developer, but I'm basically the guy you call when you're all out of options regardless of the problem. I've done plenty of debugging paratrooper-style for other teams, but some of my most infamous acts done in a professional capacity are: - Company network is melting down due to the CI load? Hack together in a hurry a Git proxy cache written in a hundred lines of Bash. It's still in production years after I've left that sysadmin position. - Company is trying to meld together two dissimilar pieces of software with wildly incompatible message buses and it's going so poorly it's threatening the entire project? Take a few days to improvise a message bus translator with a highly unconventional architecture. I then spend two hours in a design review meeting with the lead architects, who then decide to go along with it because they've failed to prove it couldn't possibly work and had no other option. This singlehandedly brought the project back under control, but it was pure black magic located right in the most load-bearing component possible and they took years to replace my Play-Doh with something saner. - Company wants to redo the entire CICD? Write a Jenkins plugin that exposes a Debian source repository as an organization folder. With a suitable Jenkinsfile, it essentially turns Jenkins into a bona fide Debian build server, complete with proper dependency tracking. Management decided to go with a more traditional solution (OBS), at the cost of maintaining two different orchestrators and sets of workers. As for my personal work, most of it is just various open-source contributions and faffing about on random stuff that never sees the light of day, but some of the things that actually ended up in the wild are: - A Ghidra extension that can export relocatable object files out of a program selection. The simplest way I can explain it is Mad Max, but with program bits instead of car parts. - Porting the epsilon firmware for the NumWorks calculator to the HP Prime calculator (another calculator manufacturer) and sending a pull request to the epsilon repository. I should probably make an effort to actually finish more personal projects, release them and write up about them, but being chaos incarnate is somewhat antithetical to that.
- keepamovin 1y agoYou write really well.