4 ms·
I find ChatGPT is pretty helpful for debugging. A big chunk of debugging is missing stupid things, and for debugging, it's like having a second set of eyes. It
by blagie 4y ago
I find ChatGPT is pretty helpful for debugging. A big chunk of debugging is missing stupid things, and for debugging, it's like having a second set of eyes.
It's almost useless for high-level design and architecture. Those tasks do take more time than writing code, but they're super-charged by rapid prototyping, which ChatGPT excels at. For example, right now, if I'm picking between three libraries, I can have working versions of my code implemented in all three in a few minutes, and built out a bigger mockup in a few hours. I can make a more educated decision from there. In the olden days, that'd be a few hours and many days, respectively.
It also does really nicely for code reviews, which results in better code. That also speeds up maintenance and, later, debugging. That's especially true in domains I'm less familiar with.
Some maintenance, it excels at. I'm the author of a major piece of open source infrastructure, which is widely used, well-architected, but every technology used is obsolete (JQuery, older Python web frameworks, legacy database, etc.). I feel like I could rewrite the whole thing in React+Node+etc. in a few weeks. There is close to zero architecture work -- it's mostly having GPT write -- or sometimes just translate -- code piece-by-piece.
I don't feel like GPT-4 obsoletes software engineers as it's used yet, but it does really raise the bar on what's possible to build.
- nolawi89 4y agoNot yet; I spend 60% my day reviewing PRs. I don't have to if chat GPT gets integrated as a PR reviewer..
- grumple 4y agoI review PRs primarily for correctness and to look for nonobvious problems. I rarely find buggy code. Sometimes I'll find performance issues. In order to do what I do when reviewing, ChatGPT would need clear specs (yeah right) and a deep understanding of our system, domain, and even our customers. Of course I'll try it and see how it does. But it struggled and failed to produce what I would consider trivial code when I tried to create a single usable page to spec in react native, so I'm not terribly optimistic.
- Lewton 4y agoChatGPT will turn your day into spending 90% of your time reviewing code...
- nolawi89 4y agowhat do you mean? Do you mean that there is infinite amount of code because its also writing so much code?
- grogenaut 4y agoBecause people will generate more crap and throw it at you as the quality control. They'll have less knowledge overall as they cede more to chat GPT. Also your impact will be in cr, so they'll send you more people. You get faster and more responsive using chat GPT to review, so you'll do more reviews, causing people to send more frequent ones to get your feedback faster. Eventually just hire some interns to toss plausible shit at gpt and then you. Fire the ftes. Done.
- blagie 4y agoThat's actually how I spent a lot of my time. GPT drafts code of mixed quality, and I spend a lot of time reviewing it. What's interesting is that GPT isn't trained to produce high-quality code. It's trained as an autocompletion tool. I'd be curious how smart such a system could be if we knew how to engineer it for quality.
- blagie 4y agoGPT can't do full code reviews. GPT is very good at finding improvements, such as making code more functional, bad variable names, etc. In some sense, it's like ESLint or pycodestyle on steroids. It won't find subtle race conditions, abstraction violations, or deeper issues. I find it makes code reviews shorter and more productive, so perhaps you'll spend 10% of your time instead of 60%. You won't spend 0% of your time, though.
- dmix 4y agoI’ve asked GPT to refactor blocks of code and it sometimes does a really good job, sometimes it makes it extremely verbose and wordy but you can’t always win. I just hate how slow it is even with Plus. For analyzing code for debugging you’d ideally have something that moves a little faster. I guess we’re in the 56k days of LLM watching it print line by line.