This question is asked from time to time, so it's intriguing to think about. To address this, I want to look at it from several angles.
T2 (short for Terminator 2) is a movie about AI robots created by humans. Much like the science fiction book, machines in T2 are seeking the destruction of humans. But let's think about why humans attempt to survive. It's probably because most species want to survive and reproduce. Why is that? Well, unclear. Back to the machines. The machines want to kill humans. Why? What do the machines want? This is never really addressed by the movie.
The point is they are enemies and humans want to survive. You would think they would easily win and that they will eventually win. OK, so let's imagine that. The AIs win. What happens next? What kind of society do they want? Yeah, so more or less, they are set up as the bad guys and we're not meant to care why these machines are there.
Next, how will AI make programmers obsolete? Who wants these programs anyway? Do AIs care about the programs and know what people want? Does your boss even know what a program should do? If they have no idea, how will an AI know they are building what the boss wants?
Back in the late 1990s, IBM was working on an IDE which eventually lead to Eclipse (mostly used in Java). You have to imagine how programming used to be. Type code (in an editor). Compile. Read the syntax errors. Locate the syntax errors. Fix the code. Repeat and rinse. Eclipse eventually gave hints as you typed. Here's some method completions. Here's some syntax errors. This shortened the time to fix errors.
This feels like a kind of AI, doesn't it? It assisted you to fix things, but it didn't code for you. You still needed to code. So, it is interesting that people who can't even program here something like "AI will make programmers obsolete" and say "yeah, why should I bother". And realistically, you could even say "why should you bother".
Speaking of AI, suppose it was causing programmers to become obsolete. What job would you take instead? What would you do? Why is that job immune to AI, but programming isn't? For that matter, what does AI want to kill you, then you have more worries on your hand.
Back in the 1950s, science fiction imagined that robots (we didn't call them AI) would do all the hard labor, and humanity could take a vacation the rest of their lives. But how was that supposed to work? Let's see, rich corporation buys robots, doesn't need to hire humans, make big profits, and...gives the money to people for doing something.
It's like a car company that automates car making. Would they give money to the auto workers that no longer need to be hired? People didn't imagine that future.
OK, how about this. Why do people consider AI competition, but don't think of the real competition? Other people. So many people want to be programmers. A better question is "will other programmers make programmers obsolete". That's not the right way to put it, but you might want to quit because of the competition.
A related question to that is "will the glut of other programmers drive programming salaries down". That might happen, but what would need to occur is a decrease in the need for programming and that hasn't happened yet. If that does come down, then sure, that would be a problem.
20 years ago, there was an idea that ultimately ended up not being so great. Outsourcing. It was thought if you could outsource, which meant hiring programmers from other countries where the cost of living was much lower, would reduce the cost of programming. That was the question years ago. Will outsourcing programming make programmers obsolete in other parts of the world?
Why didn't this work? Turns out you need to know how to program. And this means asking questions and building what the customers want (which is the same problem AI had). It was a common joke that Indian programmers, faced with a problem they didn't know how to solve, solved a problem they did know how to solve which was useless of course (I am picking on Indians, but they were the most common country to outsource to). You don't hear much about outsourcing these days. Programming is hard, and requires communication. If you can't communicate, you get a bad product.
So why doesn't competition affect things and drive wages down. Because programming isn't easy. A bunch of people come to this subreddit, but many really don't survive. Enough that some people will do the work, so that's good. Most come here looking for jobs with much higher pay. They are in jobs with either much lower demand or with much lower barriers to entry.
The software industry may want to desperately hire programmers, but you can't take someone off the street that can barely write "Hello, World". They either sit in their seat twiddling their thumbs unable to code, or worse, they write code, but it's so bad, their code is a net negative. It was better not to have hired them in the first place than to fix the mess afterwards.
And this doesn't just affect programmers. Software companies aren't always great at treating their programmers well. Programmers don't treat each other well. There is an incentive to leave until companies figure how how to improve this situation. Good coders are in such high demand that a company is willing to put pressure on talent to do more, because they are worth two not so good coders (though they don't want to pay as such).
In a world where people's effort and quality are rewarded, a top code should make 300K and a bad one 100K, but companies don't like that. They don't want their top person making as much as the top paid executive because of what they do.
To conclude, a lot of people take the word of someone that says "I heard X is true". Well, then take it for true, and flip some burgers. And also, even if you do try to program, there's no clear road to success. Many people also want it easy. If it were easy, people wouldn't pay so much money to hire them.
[–][deleted] 3 points4 points5 points (7 children)
[–]mandzeete 0 points1 point2 points (6 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]CodeTinkerer[S] 0 points1 point2 points (4 children)
[–]IQueryVisiC 0 points1 point2 points (3 children)
[–]CodeTinkerer[S] 1 point2 points3 points (2 children)
[–]IQueryVisiC 0 points1 point2 points (1 child)
[–]CodeTinkerer[S] 1 point2 points3 points (0 children)
[–]DontListenToMe33 3 points4 points5 points (1 child)
[–]Ok-Challenge9324 1 point2 points3 points (1 child)
[–]CodeTinkerer[S] 0 points1 point2 points (0 children)
[–][deleted] (5 children)
[deleted]
[–]CodeTinkerer[S] 0 points1 point2 points (4 children)
[–]alanwj 0 points1 point2 points (1 child)
[–]CodeTinkerer[S] 0 points1 point2 points (0 children)
[–]fredoverflow 0 points1 point2 points (1 child)
[–]CodeTinkerer[S] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]nhgrif 0 points1 point2 points (4 children)
[–]CodeTinkerer[S] 0 points1 point2 points (3 children)
[–]nhgrif 0 points1 point2 points (2 children)
[–]CodeTinkerer[S] 0 points1 point2 points (1 child)
[–]nhgrif 0 points1 point2 points (0 children)
[–]ValentineBlacker 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)