1
$\begingroup$

I'm 26, working for five years as a software developer and really worried because of new technologies like Github Copilot and GPT-3 in general.

Do you think AI will replace software developers? If so, when? And if you had to chose a job in IT that most likely won't be replaced by AI, what would it be?

$\endgroup$
6
  • 1
    $\begingroup$ If it replaces software developers, it will probably replace everyone at that point. What I mean is that SD requires problem solving skills and abstract thinking, and if we get to that level lots of other jobs would be affected by that, not just SD. $\endgroup$
    – mark mark
    Jun 30 at 18:07
  • 2
    $\begingroup$ I think we're far from this. While AI can come up with beautiful code, there's too much other things going on besides code - communication with stakeholders, understanding their needs, the product, underlying systems, and how they interact. Such universality still seems distant to me. Don't worry :) $\endgroup$
    – mark mark
    Jun 30 at 18:14
  • $\begingroup$ Such generative models are not capable of creating something completely new. They can simply generate something meaningful from the data they have already seen. For example, such a model might generate new code that does not exist, but it would be just a combination of previously seen training examples. $\endgroup$ Jun 30 at 20:00
  • $\begingroup$ There are 2 distinct questions here. Please, edit your post to ask only one question. If you have another (even though related) question, ask it in a separate post, but always make sure to provide the necessary background/info to understand and motivate the question. By the way, we already had a similar question in the past here. Do the answers there answer your question? In particular, my answer should answer your question. $\endgroup$
    – nbro
    Jul 1 at 11:13
  • $\begingroup$ I also recommend you read my other answer here. $\endgroup$
    – nbro
    Jul 1 at 11:13
3
$\begingroup$

That is an opinionated question. So this is my opinionated answer.

Do you think AI will replace software developers? If so, when?

I believe someday (in a very distant future) AI will replace mostly all the jobs. But before that happens, we will work side-by-side with it (as you cited Github Copilot).

Any answer about WHEN is a blind guess. And for technology impact guesses, I like to follow Amara's law, which states:

We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run. - Roy Amara

So I would guess it won't completely extinguish programmers job in the next 10 years. During this period, it will only create opportunities for new programmers (like you) as everyone will need to develop a new set of skills.

The demand for technology is rising worldwide. We are already short of human-resources and projections shows this gap tends to grow.

If you had to chose a job in IT that most likely won't be replaced by AI, what would it be?

Probably something that doesn't exist yet.

Until we don't have an AGI, probably those jobs that combine multiple skill, with high-cognitive tasks. So the interface between business and IT is gold. Understanding the user's real problem, with empathy, creativity (and powered by data and Machine Learning) before coding.

Some examples are: Project Managers, User Experience, Data Science.

But remember: Most professions today didn't exist in the last 20 years. When you think about technology, 10 years is enough to drastic changes! So don't mind aiming, it's a moving target!

Just follow the direction you love, keep adapting, keep moving, keep learning. And before a robot takes your job, you'll be using them to create something you could never dream make by yourself!

$\endgroup$
3
  • $\begingroup$ I'm not sure it will create more opportunities for new programmers than it destroys. I think things like copilot will be great tools for expert programmers (where it suits their workflow), but it will make it more difficult to become an expert programmer. If you want to become a master cabinet maker, dovetail making jigs (that woodworking numpties like me can use) are not going to help you learn to work wood skillfully! $\endgroup$ Aug 17 at 7:12
  • $\begingroup$ The way I see, a machine takes places of thousands low qualified jobs, while creates opportunity for dozen high qualified jobs. I agree, that might create (and increase) the gap with few opportunities for juniors becoming seniors. In the long run, AGI will probably take most human jobs, forcing us to change our current social model, as we won't have available jobs for most population. $\endgroup$ Aug 18 at 14:22
  • $\begingroup$ I don't see how it creates any additional high qualified jobs. Change in social model isn't a problem, provided it happens at a rate that is slow enough for us to adapt, and history tells us that commerce is not going to wait. $\endgroup$ Aug 18 at 15:19
1
$\begingroup$

A decade or so ago, people could make a good living implementing websites, but these days, tools like Wix and WordPress means that users can construct their own blogs and basic e-commerce site for themselves, so those low-end web development jobs are no longer available. There are still jobs though for more complex aspects of web development, so the automation has just reduced employment activities at the low-skill end of the market.

I suspect things like copilot will do the same for programming. If you can only program by assembling code fragments harvested from stack exchange and other web sites, then I suspect your job security will largely dissappear over the next decade. The reason is that is pretty much exactly what copilot does.

It will however be much more difficult to replace more skilled programming jobs. Copilot is just performing text analysis - it doesn't understand the specification or how the program works or what it is supposed to do. So the parts of programming about problem solving, architecture, and engagement with the specifications will be needed for a long time.

So I would say that if you like programming, then it is a still a good choice for a career, provided you want to be a good programmer that really understands what they are doing (and how computers and programming languages work etc.).

In short, there will always be a market for the sort of programmers that can answer questions on stack exchange, less so for programmers that are overly reliant on those answers. IMHO.

$\endgroup$
10
  • $\begingroup$ > "Copilot (...) doesn't understand the specification or how the program works or what it is supposed to do." - I disagree on that. It can already follow some simple specifications and this is just the beta version. But in general, I agree. Wix is a great example. $\endgroup$ Aug 17 at 17:25
  • $\begingroup$ @AndreGoulart No, AIUI, it follows the specifications by language modelling, it doesn't understand the specifications, just like Google translate has no idea of the meaning of the text it is translating - it is just pattern matching. $\endgroup$ Aug 17 at 17:28
  • $\begingroup$ OK, but it doesn't "understand" code either, all it sees are meaningless sequences of tokens. But still, it can predict the next token and generate high quality code. It emulates the understanding in a useful way, and that's what we call Artificial Intelligence. My point is: Copilot "understands" code as good as it "understands" simple instructions. $\endgroup$ Aug 17 at 17:36
  • $\begingroup$ Yes, that is precisely my point. In some familiar situations it can generate high quality code, but how do you know that it has generated high quality code that is appropriate for this particular set of specifications if you don't understand the specifications (which are always ambiguous) or the code. That is why it is a useful tool for expert programmers and a hurdle for learners and junior programmers. $\endgroup$ Aug 17 at 17:41
  • 1
    $\begingroup$ @AndreGoulart yes, as I said it is a useful tool for competent and expert programmers. The most important programming skills are language independent (problem solving, understanding what the code does and why it solves the specifications, and debugging) and those are the things that Copilot cannot do. The problem is how do you become a competent/expert programmer if copilot destroys the market for low-end junior programmers? Similarly why should students learn by solving simple problems if their IDE has a button that they can push to do it for them - "it is what is done in industry"? $\endgroup$ Aug 18 at 6:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.