Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think we need to have human-level AGI before "AI developers" are a possibility, and it'll probably take us a lot longer to get there than most people imagine.

Remember, the job of a developer is not just (or even primarily) writing code. It's mostly about design and problem solving - coding is just the part after you've nailed down the requirements, figured the architecture and broken the implementation down into pieces that can be assigned (or done by yourself). Coding itself can be fun, but is a somewhat mindless task (esp. for a senior developer who can do this in their sleep) once you've got the task specified to this level where coding can actually begin. Once the various components are coded, they can be built and unit tested (may require custom scaffolding, depending on the project), debugged and fixed, and then you can integrate them (maybe now interacting with external systems, which may be a source of problems) and perform system test, and debug and fix those issues. These aren't necessarily all solo activities - usually there's communication with other team members, maybe people from external systems you're interacting with, etc.

So, above process (which could be expanded quite a bit, but this gives a flavor) gets you version one of a new product. After this there will typically be bugs, and maybe performance issues, found by customers which need to be fixed (starting with figuring out which component(s) of the system are causing the issue), followed by regression tests to make sure you didn't inadvertently break anything else.

Later on in the product cycle there are likely to be functional change requests and additions, which now need to be considered relative to the design you have in place. If you are smart/experienced you may have anticipated certain types of change or future enhancement when you made the original design, and the requested new features/changes will be easy to implement. At some point in the product's lifetime there will likely eventually be changes/features requested that are really outside the scope of flexibility you had designed in, and now you may have to refactor the design to accommodate these.

As time goes by, it's likely that some of the libraries you used will have new versions released, or the operating system the product runs on will be updated, or your development tools (compiler, etc) will be updated, and things may break because of this, which you will have to investigate and fix. Maybe features of the libraries/etc you are using will become deprecated, and you will have to rewrite parts of the application to work around this.

And, so it goes ...

The point of all this is that coding is a small part, and basically the fun/easy part, of being a developer. For AI to actually replace a developer it would need to be able to do the entire job, not just the easy coding bit, and this involves a very diverse set of tasks and skills. I believe this requires human-level AGI.

Without AGI the best you can hope for, is for some of the easier pieces of the process to be addressed by current LLM/AI tech - things such as coding, writing test cases, interpreting compiler error messages, maybe summarizing and answering questions about the code base, etc. All useful, but basically all just developer tools - not a replacement for the developer.

So, yeah, one day we will have human-level AGI, and it should be able to do any job from developer to middle manager to CEO, but until that day arrives we'll just have smart tools to help us do the job.

Personally, even as a developer, I look forward to when there is AGI capable of doing the full job, or at least the bulk of it. I have all sorts of ideas for side projects that I would like an AGI to help me with!



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

Search: