Mark Cuban says AI will reduce the demand for computer science degrees.

Spatial Paradox

All Star
Supporter
Joined
May 16, 2012
Messages
2,289
Reputation
1,120
Daps
12,144
Reppin
Brooklyn
This is kind of long, and I'm simplifying some things, but bear with me. I'm not convinced of Mark Cuban's prediction will come to pass, at least not in the way he's thinking of it. And it's because we've already been automating away tedious tasks and because software development isn't "just math" and can be very ambiguous. And computers are awful at dealing with ambiguity on their own.

On the first point, if you look at the history of programming languages, we've always automated tasks where we could. With early computers, you'd have to literally flip switches to instruct it to do exactly what you wanted. When modern electronic computers became a thing in the 1950s, if you wanted to write a program for it, you would write it in an assembly language. Assembly languages are basically really low level instructions for the CPU itself, just one step above the machine code, basically a series of binary values that correspond to commands the CPU understands. And when I say low level instructions, I mean things like "add the two values at these memory locations together", "move this value from x place to y place", "store this new value in memory". It's tedious. But you could get things done faster than literally toggling switches.

So not long after assembly languages became a thing, people started building programming languages that get compiled down into assembly code or machine code, with Fortran being the first "high level" programming language of this kind. Instead of worrying about writing all of that tedious assembly code to tell the computer exactly how to do something, we instead write code that's a closer representation of what we actually want to do and then have a compiler* build the machine code the computer actually understands (I'm simplifying this process for the sake of argument). And we're a lot more productive because of it. Programmers didn't lose their jobs as compiled languages became more common.You still need someone who could "tell" the compiler what to build. And figuring out "what to build" is actually where the real bulk of a software engineer's work is.
 

Spatial Paradox

All Star
Supporter
Joined
May 16, 2012
Messages
2,289
Reputation
1,120
Daps
12,144
Reppin
Brooklyn
For all of the imagery we have of engineers and the work that we do, a very important part of your job involves working with people and all of the ambiguity that comes with that. People come to you to have you build software to perform some task or solve some problem. So you need to know what the requirements are for this software. The requirements are often ill-defined, vague, and/or incomplete. There's often critical information that they're missing that you either have to ask for or figure out yourself. These requirements come from people who often have little to no idea of how software is actually built, so you have to be able to take a step back from the technical side and speak to them on their terms so they can understand what you need to get the work done and solve whatever problem needs solving.

You'd need a human who can "transform" these requirements into a form an AI could understand to be able to build the software on its own. Which is basically what programming is today, it'd just be more abstract, just like how writing in a modern programming language is more abstract than writing assembly code. If AI is already "smart" enough to deal with all of that ambiguity on its own, we'd have bigger problems than programmers being automated out of job.

For the near term, I think it's a lot more likely "AI" will simply make software engineers more productive. And further down the line, maybe software engineers won't be writing code directly. But we'd probably still be telling the computers that are writing the code what to write. And because we'd be more productive, there would probably be more demand But replacing them? I'd think software engineering wouldn't be the only job category being replaced.
 
Top