Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
My position on: How GPT has changed coding
3 points by johnwheeler on May 28, 2024 | hide | past | favorite | 5 comments
I saw a post this morning, and the other day I wrote a post about how GPT has already automated most of what programmers do. https://news.ycombinator.com/item?id=40489717

In that post, I basically said programmers are glorified searchers and that naturally pissed a lot of people off, so I realized my failings in communication and wanted to explain in detail my position

When I first used GPT4 (I hadn't used 2 or 3), I asked it something like

"How do I setup a CDN on AWS?"

almost jokingly not expecting much more than I'd seen GitHub CoPilot do in general, which was still amazing enough, but too novel for me to grok the significance of.

GPT began outputting a fairly comprehensive CDK, which is code-As-configuration, a layer atop AWS SAM, which is another layer over AWS CloudFormation.

The script it created had all the buckets, certificates, policies, and the CloudFront distribution and linked everything together.

The script was in JavaScript, and I asked it to convert it to Python for me.

Then GPT gave me instructions on how to go into my domain provider to setup a CNAME for the CloudFront subdomain of my choice.

So let's talk about the process that has replaced:

Normally, this would have been my workflow--see if its similar to what yours might be if you're a line-of-business application developer like me:

I would have performed a Google search for "AWS CDN How" or something like that.

Next, I would read AWS documentation until I felt comfortable enough about the components involved. I'd then go into AWS Console and set one up manually by creating the buckets, policies, certificates, and the CloudFront distribution.

I would have wanted a custom domain, so I'd figure out how to setup the CNAME to point to the CloudFront distribution. This would've taken a long time for me personally. Probably a few hours with stupid issues like not having a '.' at the end of the CNAME target. That has actually tripped me up in the past.

Next to make sure I really understood what was going on-- I would tear the CDN down, build it back up, and take notes and put them in the company Confluence.

Afterwards, I would try to automate it the process. Being a generalist and not a DevOps person, I'd probably start searching for some older tech I had heard about but never used: "Ansible AWS", "Puppet AWS" or "Chef AWS".

I'd quickly learn about a thing called CloudFormation and start reading up on it.

I'd realize I had zero interest in learning CloudFormation because it is tedious and error-prone. I would begin to Google for something on top of it.

I'd likely get dumped into a SAM tutorial

Next, I'd start building out a prototype in SAM, and by the time it was half-way done and the week was almost over I'd watch a YouTube video and find out about: CDK

And this is what my career has been like my whole life.

The conclusion

GPT was giving me a Python script I could put to use in seconds. It wasn't perfect, and I had some hiccups along the way, but by the end of the day, I had a fully functioning CDN with a domain pointing to it, and I don't think I even wanted one!

Not only that, but it freed up time for me to learn about various security features of AWS CDN that I otherwise wouldn't have.

It helped me install edge lambdas and write code to automatically resize images on demand with Python Pillow. It did that very fast too.

I had a better understanding of solution because GPT cut through all the ambiguity of search faster than I could. It doesn't always do it perfect, but that is not the point. It usually does it much better.

So, again I say:

I don't use GPT for writing code because that's not what it's good at.

I use GPT to automate the very expensive, very time-consuming, highly compensated function of specialized Google Search

And, that's the bulk of what we, most of us programmers do, whether we want to admit it or not.



That’s certainly a fitting description of what I do as something of a sysadmin/devops amalgam, albeit a fairly experienced one, making a living with freelance consulting and SMB IT support. My perspective for what programmers are centered on the very conceptualization process you describe, where I would do something very similar to your scenario, I imagined “programmers” operating on a much lower level, less operational in nature, and tackling much more novel problems that involve something more creative than taping together APIs and tooling. I also see LLMs as being mostly productive in that latter category, where the solutions exist and it can pull from existing approaches.

For your broader point, I would be more inclined to agree if you had given it a more abstract task of solving some non-IT-related problem by developing an application from scratch. But maybe my perception of a “programmer” is naive?


Thank you for reading!

So I'm a generalist, and I do have a lot of experience doing cloud work, which is why I'm able to reverse-engineer what I would have had to do without GPT.

I mostly do web programming. Right now, the thing GPT helped me build is my startup https://www.demo.fun

It didn't and currently couldn't build the whole thing, but it definitely helped as far as carrying out the same knowledge tasked I outlined in the OP

GPT cannot automate a programmer -- my point -- that either I am saying incorrectly or people don't want to hear --

is that the hard and valuable work of information search and integration is now automated by ChatGPT.

That chunk of work is something I needed for my startup. If I would have tried to do it, it would've been shittier. Also, an employer would've paid me about $15,000 to do it probably.

What I'm trying to tell people is to invert that relationship and realize how valuable those chunks are.

But thank you for validating my DevOps conundrum.


Yes, I'm also changing my coding workflow with the use of LLM. I created a cli integration that grabs the files I want as context, the ones I want to refactor and instruct the LLM about what I want to change, the script gets the change and apply to the files and create a COMMIT_EDITMSG. After the first generation of files and boilerplate (and sometimes more complex business logic) I add what's missing and fix small issues.


Nice! Yes, it's not pure automation - but I really think people discount the automation is does because they buy into the narrative that it makes mistakes. To each their own. I've been building like crazy!!!


Yes, AI can greatly automate workflow. Though, I always have a double-check as there may be mistakes... As you said, your Python script wasn't perect... That's why I always have backup of my data to have a chance to restore my prevous work if there is a mistake.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: