Viewing a single comment thread. View all comments

ChronoPsyche t1_iylfryt wrote

Certainly. Read my other reply on this thread. Coding is not the same as software engineering. These are the general steps in the software development life cycle.

  1. Requirements Gathering
  2. Software Design
  3. Implementation
  4. Testing
  5. Integration
  6. Deployment
  7. Maintenance

Coding only applies to step #3. It's also the easiest step. Any professional software engineer will tell you this. In fact, a lot of coding jobs in developed countries are already outsourced out to cheap labor markets (reducing demand for coders domestically). Here in the US, for example, it's very common for software engineers to remotely collaborate with contract-to-hires from India to help speed up implementation.

In general it's very easy to train AI to program because of how many publicly available repos there are online to be trained on. In the end, though, those repos are mostly only for open-source software and personal projects. Commercial-grade applications usually have private repos that can't be trained on which limits the applicability of these tools and that is still just in the implementation step.

All the other steps are and will remain much more difficult for AI to accomplish because there are no datasets that perfectly encapsulate those processes that can be trained on. It will take AI with much more generalist capabilities in order to be anywhere near competent enough to entirely replace software engineers. We basically need competent AGI before we get to that point.

2

turntable_server t1_iyllv1q wrote

Very good answer. I do think AI will impact all the stages of the lifecycle, some more profoundly than others, but the principle is always the same, it provides suggestions, and it is the work of human to select from them.

I believe lots of software engineering will become test-driven. Given some code template, write unit tests and allow AI to come up with multiple implementations. Then review them. This will affect the outsourcing, but at the same time it will also create new types of jobs both home and abroad.

1

ChronoPsyche t1_iylms0f wrote

>This will affect the outsourcing, but at the same time it will also create new types of jobs both home and abroad.

And that's really the thing. Software engineering as a discipline has always been a rapidly-changing thing. Now faster than ever, but it's been evolving at a disruptive pace ever since Fortran was developed a little over a half-century ago.

My grand-uncle was among the first software engineers using Fortran in the 1950s. Nowadays, he knows very little about the current state of software engineering. Mostly due to the choice of not keeping current with things, but just goes to show how fast the field has already been changing.

1