I created my first AI-assisted pull request
https://nelson.cloud/i-created-my-first-ai-assisted-pull-request-and-i-feel-like-a-fraud/
I created my first AI-assisted pull request
https://nelson.cloud/i-created-my-first-ai-assisted-pull-request-and-i-feel-like-a-fraud/
Yeah I mean, now you know how managers feel? :)
spend all day talking to people (except it's LLMs) and not sure if you accomplished anything, but people seem happy
The plus side is for your personal things like this you don't have to use it of course!
Last year I got two coworkers. My first in terms of coding. First I looked at everyone code request, but it soone overwhelmed me. We got a third and there was no way I could oversee everything and since I got a team of three management gave me other responsibilities on top.
I have no idea what they code and how they code it. I only go over the specs with them. Everything got quicker but the quality went down. I had to step in and we now have e2e-Test for everything. Maybe it's too much, but bugs got squashed and catched before we shipped.
So that's a win. Before I could test everything by hand. I worked more on things like creating a working release cycle and what tools we should use.
With or without AI the situation would have been similar.
I became a manager. We move the needle. I don't really get to code anymore and I don't see much of the code. It's strange.
Article addresses that.
Author says he does enjoy managing people, challenging them, and seeing them grow and accomplish things they couldn’t before.
None of that accompanies “managing” an LLM.
When you realize that being a great "programmer", isn't about writing the most code, but getting the job done...
AI will click as another tool in the toolbox.
This is the wrong way to think about tool use.
You wanted this feature for years. You understood the problem, but the amount of time that it would have taken to properly implement and test it held you back from doing it. Obviously, anyone else who wanted this feature came to the same conclusion.
This new tool reduced the amount of time that it would take. So you used the tool. You used the tool to bring the feature into existence, checked the tests, and took enough time to ensure that it was good. You didn't lie about your contribution in the PR, and the maintainer deemed it acceptable. And now everyone has this feature!
When you eat a strawberry do you feel like an impostor for not growing it yourself?
We grew tomatoes last summer. Over the last 2 years, something about tomatoes (and BLTs in particular) really clicked for me; we'd grown tomatoes many previous summers, and I could give a shit, but last summer I cared a lot about our home-grown tomatoes.
And I totally did feel less good about BLTs I made with supermarket heirloom tomatoes!
It was irrational, but I did feel that way. I get where people are coming from.
Hot take: We mostly eat garbage tomatoes.
"*A BLT is a tomato sandwich, seasoned with bacon.*
It wasn't until I tasted my first great tomato, at the vine-ripe old age of 22, that I finally understood the true nature of the BLT (and, by extension, why I'd never enjoyed tomatoes on my sandwiches or in my salads). Here we go: A BLT is not a well-dressed bacon sandwich. A BLT is a tomato sandwich, seasoned with bacon. From this basic premise, all else follows."
https://www.seriouseats.com/ultimate-blt-sandwich-bacon-lett...
try these varities
Cherokee Purple.
Black Krim
Black from Tula.
Brandywine
heck, Almost any black tomato is a richer flavor than traditional hybrids.
Heirloom tomatoes are also fantastic for flavors, but they are difficult to grow. Consistent watering, pruning lower leaves to keep disease away, proactive treatment of fungus and bacteria. It's a lot of work, but the results you get when it all comes together, yeah, it makes a fantastic tomato soup, sauce, Caprese salad.
I'm starting seedlings this week. I'm probably going to have more tomato seedlings than I know what to do with. Of course, as problems go, I could have worse ones. The problem I'd like to have is growing too many mini watermelons. For some reason, I just can't get any yield, and the squirrels/mice gnaw on them as soon as they are vaguely ripe.
My partner is not going to be happy when I rip up most of the lawn in the backyard. She'll probably buy me overalls and a straw hat.
We did Cherokee Purples (like everyone else), Buffalo Suns, and Indigo Roses.
The Buffalo Suns were great, by the way.
Except, calling it a "tool" is exactly why OP feels bad. Simply phrasing it another way, I.E. "OP paid for a service to implement a feature he wanted," would completely remove the guilt and be more technically accurate.
IMO, the way we talk about using AI leads to a lot of confusion and needs to change.
> When you eat a strawberry do you feel like an impostor for not growing it yourself?
No, but if I asked an intern to eat it for me, I wouldn't feel like I did anything or experienced anything at all.
That's what LLM coding feels like--like I'm not doing anything meaningful. It's like hiring someone to love my kid for me.
> No, but if I asked an intern to eat it for me, I wouldn't feel like I did anything at all.
That's a poor analogy.
If I asked an intern to implement a function, I know I did the instruction and that I worked through them. The intern did work, but I did fancy high level work and killed several birds with one stone.
Even better analogy: if I'm a film director, I'm working through a lot of people. The DP, the cast, the crew, the AD (though they're my boss, telling me what I can/can't budget for)...
The best analogy for AI is the "film director" analogy.
There are good directors and bad directors, good films and bad films. No director works alone (unless it's some kind of avant-garde film school project).
You wouldn't say a film director isn't doing work. That they can't be uniquely felt through their work. That what they're doing isn't hard, doesn't require talent/taste, and doesn't get better over time.
We're all basically becoming film directors.
Directors do work, but a different kind of work. Not really what most people would consider hands-on filmmaking. They're more like managers--telling others what to do, how to light this, how to shoot that, where the characters should be. It's work but it's not "making." If I want to make a film, I'm going to grab a camera and point it at something. If I wanted to tell other people to make a film, I'd become a director.
That's the major difference I feel between writing code and having an LLM do it. We're all being asked to become directors when we just want to make movies.
So yeah, our job that we were all interested in has transformed into a different thing (directing), which some people are also interested in, and some aren't.
There's no substantive difference between directing an intern and directing people on a movie, by the way, except the number of people. If you never aspired to direct people, it's all kind of the same, and if you actively dislike it, I imagine directing more people would probably be worse!
> When you eat a strawberry do you feel like an impostor for not growing it yourself?
I don’t think this is the right question. What you posit is a consumption dilemma. It’s a valid question, but it focuses on what values we might arbitrarily ascribe to how we source what we consume.
The OPs dilemma is more akin to giving a cutting board for Christmas that you bought vs handmade. Or some other. I think these cases of how we present what it appears we created is the dilemma OP is facing.
I'd like to adjust your metaphor.
As a woodworker who owns both hand tools and power tools, I don't feel bad when I spend most of a project cutting the repetitive pieces with a motorized saw. I also don't feel like a snob because I prefer certain hand saws under certain circumstances.
To me, the metaphor is pretty solid for coding LLMs. A motorized saw, to anyone that's used them, takes away all the pain and complexity of using a hand saw for the same work, but it also introduces its own complexity and pain. There's also things that stay consistent: I still find myself transferring or measuring certain ways, I still have to brace the piece, I still need jigs (albeit different ones).
My perspective on this is that my first real job in 1999 was a DBA. I was an intern and then junior focused on the Oracle and Informix database and optimization of the systems and storage. Basically the Unix sysadmin who grokked database.
We had 8 people on that team. The entire scope of what we did for a living was replaced, mostly by 2010 or so. My role was made redundant by improving storage performance and capacity. We had a few TB and lots of blob data. I cared about where data was stored from a disk geometry perspective. Today, I could smoke that infrastructure with my MacBook.
The other DBA roles also mostly moved on. ORMs automated a lot of schema work. Engine optimizations eliminated a lot of the operational tuning work that went on. Most of the other stuff moved into adjacent developer roles.
Most places have very few DBAs today. That startup today would have had zero.
I think the author is being way too hard on himself. He defined a problem, worked with the computer to “scratch the itch” presumably QA’d the result and sent it upstream. That’s valid and useful. The method is different. But the work is solving the problems - and just like crazy kids solved problems with VisualBasic and the real men wielding C++ shook their heads, the AI tools are going to produce alot of shit, but also solve alot of problems.
It seems like the author feels like a fraud because they successfully made a contribution without learning anything.
The quality of a contribution is not a function of how much you learned or grew while you made it. Learning and growth are part of your compensation for making the contribution. The author is not a fraud for not learning anything. If anything, it seems like they should feel short-changed!
When voluntarily making contributions to open-source projects, everyone should of course feel free not to use AI tools if they want. However, I would argue that using AI tools is a valuable skill itself, and worth practicing.