← Back to context

Comment by ChrisMarshallNY

1 day ago

> So what good are these tools? Do they have any value whatsoever?

In my case, yes, but I think I use it differently from the way that most do.

First, for context, I'm a pretty senior developer, and I've been doing code since 1983, but I'm currently retired, and most of my work is alone (I've found that most young folks don't want to work with people my age, so I've calibrated my workflow to account for that).

I have tried a number of tools, and have settled on basically just using ChatGPT and Perplexity. I don't let them write code directly, but I often take the code they give me, and use it as a starting point for implementation. Sometimes, I use it wholesale, but usually, I do a lot of modification (often completely rewriting).

I have found that they can get into "death spirals," where their suggestions keep getting worse and worse. I've learned to just walk away, and try something else, when that happens. I shudder to think of junior engineers, implementing the code that comes from these.

The biggest value, to me, is that I can use them as an "instant turnaround" StackOverflow, without the demeaning sneers. I can ask the "stupidest" question; one that I could easily look up, myself, but it's faster to use ChatGPT, and I'll usually get a serviceable answer, almost instantly. That's extremely valuable, to me.

I recently spent a few weeks, learning about implementing PassKeys in iOS. I started off "cold," with very little knowledge of PKs, in general, and used what ChatGPT gave me (server and client) verbatim, then walked through the code, as I learned. That's usually how I learn new tech. It's messy, but I come out of it, with a really solid understanding. The code I have now, is almost unrecognizable, from what I started with.

This is exactly how I use it. I’m almost done with a personal project where I didn’t even know how to begin to start, but now I have a decent handle on the codebase.

Your use case is one that I have been gently leaning into for small projects at work and personal projects - the LLM is used to give me an initial ideal and code. In a sense, the LLM writes "the one I throw away", and by exploring the limitations of what it produces I both get a better idea of the problem domain and more confidence in actually implementing something useful.

  • It helps provide a launching point or springboard.

    We know, going in, this isn't the final product but enough to get boilerplate and momentum.