Many people are wondering if ChatGPT and other similar AI technologies that can write their own code will displace software engineers. Every few years a new technology comes along that gives people pause that automation will replace software engineers. In the end, none of them truly make a dent in the need. Quite the opposite. While AI's ability to write code is impressive and maybe the most legit threat yet, it is still very rudimentary and is more of an aid to experienced software engineers. New technologies and advancements come along everyday, but my general view has not changed. Read below to understand why I think software engineering will be safe discipline for years to come.
Originally published on LinkedIn March 1, 2017.
Mark Cuban made news last week with his prediction that students shouldn’t study computer science and software development because within a few years, artificial intelligence (AI) and ‘robots’ will be writing all the code. He suggests instead that students study liberal arts. In his conversation with Bloomberg’s Cory Johnson, Cuban says:
“I personally think there’s going to be a greater demand in 10 years for liberal arts majors than there were for programming majors and maybe even engineering, because when the data is all being spit out for you, options are being spit out for you, you need a different perspective in order to have a different view of the data. And so having someone who is more of a freer thinker.”
"What looks like a great job graduating from college today may be not be a great job graduating from college five years or 10 years from now.”
An article from Inc goes on to say:
He predicts the next wave of innovation will be "the automation of automation." By that, Cuban means software will soon begin writing itself, which will ultimately eliminate those lucrative software development jobs.
About writing software, Cuban said: "It's just math, right?"
Now I think Mark Cuban is a smart guy, and he has proven himself to be a very successful business man. I don’t however see him as a technologist, and I think he is wrong in his prediction and his advice. More importantly, listening to this advice could cost another generation a chance at very high quality jobs and rewarding careers.
First this is not a new prediction. I personally have heard this before. Back in 1996 when I was working for a small technology startup called Continental Power Exchange (CPEX), the management team at the time had an advisor who would come into the office from time to time. His name was Ives and he always wore a white suite, a hat and carried a cane. He looked like a taller version of the old man from the original Jurassic Park movie. I don’t remember much else about Ives except that one day a group of us are at lunch, and Ives starts talking about his son who is high school or college age. Ives told his son that he should not study computer science because in a few years it will all be trivialized through simple software building tools. In effect, according to Ives anyone will be able to build software through the use of these automated tools. At this time, I am just a few years out of college, and just a few years into my career as a software engineer. I remember thinking “boy, I hope he is wrong”. I also remember thinking he didn’t know, and more importantly understand, what he was talking about. Well the following twenty years since have been a huge boom for software development. In that time we have seen the rise and creation and evolution of e-commerce, social networking, mobile computing, cloud computing, and countless juggernaut software based companies such as Google, Amazon, and Uber. By the way, that same startup I was working for evolved after a handful of years, and tons of software development, to become the Intercontinental Exchange (ICE) - the parent company of the New York Stock Exchange (NYSE)
In the early 2000s, there were many people predicting that software development jobs would decline in the United Stated due to the outsourcing craze. Another wrong prediction. There again, if you really understand the nature of software development, how creative, complex and collaborative it can be, and you really care about producing quality software, you would know that out sourcing it can be very risky.
So here we are again, but instead of a guy named Ives predicting the demise of software development to automation, it is a billionaire and reality TV star. Again, I think Mark Cuban is smart and a great business guy — not taking that way form him — but he is no technology savant (as far as I know he has never written a line of code in his life), and listening to his advice could cause another generation to miss out on tremendous career opportunities.
Now Its true that machine learning and AI are making tremendous advances. This technology is why Google Maps is so good, and why voice recognition has improve so dramatically in the past few years. There is also some advanced research where software is starting to write software. However while AI creating software may be working in some limited areas, I think we are long way from seeing this become the main stream. I think much longer than the ten year window Cuban predicts.
In addition Software development is NOT “just math” as Cuban says. In fact, this is very much a common misconception, and the fact that he makes this statement is another sign that “Cuban don’t know Code”. Sure there is always some math involved, and for some small subset of applications there is a lot of math. However the vast major of software out there, particularly business software, does not have much advanced math. Software development is more about taking a large complex problem, breaking it down into components, organizing it, deciphering business logic and rules, and designing interfaces for interaction and communication. There are often many ways to solve the same problem, and rarely is there just one right way. Computer Science is often just as much art as it is science — and rarely is it “just math”.
Mr Cuban also states that the software is now “spitting out data”. This is another sign that Mark Cuban does not really understand software. Data is not software. There has always been data, and yes, now thanks to social media, smart sensors, and the internet of things we have even more data, but software is written to manage and process data, and the fact that we have more data actually means we need more software, and consequently more software developers to make sense of and process the data.
The other part about software development that people are often not aware of is what I view as a version of the “80/20 rule” of software systems. Often the initial 80 percent of any software system is pretty straightforward to get working, however it is the last 20 percent - the difficult edge cases that are rare but must be accounted for - that can take 80 percent of the time and effort to complete. This is where I think some highly hyped technologies like drone delivery, self driving cars and AI are today. We are entering the very difficult 20 percent phase that will take 80 percent of the time. As such I don’t expect self driving cars to be on the road safely for a while because of this. For example, in the area of self driving cars, I think the very difficult edge cases will take time to get right. One problem is that if humans are conditioned to let the car do all the rudimentary basic stuff related to driving, it will be difficult to have human drivers engage in the difficult stuff for that last 5 percent that the software can’t do. To see an example of this, read this fascinating article about a plane crash where over two hundred people died because the auto pilot got into an edge case it could not figure out, and signaled to the pilots to take over. The pilots however were not used to flying with out auto pilot, they had been conditioned to rely on the automation. They got themselves to a point where they literally did not know if they were going up or down.
Mark Cuban’s suggestion is that students study the liberal arts such as English, philosophy, foreign languages, etc. I don't have a problem with this suggestion. I generally believe people should study and focus on their passion, and ultimately an individual will be successful in the areas he or she is most passionate about regardless of field of study. In addition one of the best software developers I ever worked with was a history major, so I am not dissuading anyone from liberal arts study. However, what I do see as a problem is that while most students are introduced to liberal arts study early and often in their studies in high school and college, very few are exposed to software development. Students today have plenty of opportunity to find out if they are passionate about English, history, or humanities. Unfortunately too many students are never exposed to computer software and programing. So while a student may take twelve to fifteen years of English, they may never get a single class in software development. We need to expose students to software development early in their academic careers to find out if they have a passion and proficiency in this endeavor.
If your goal is to get a high quality job and have a rewarding career, the case and “the data” for studying computer science and related technology fields is overwhelming. There are currently over 400,000 jobs in America for software development. This number is projected to grow between 20 and 30% over the coming years. The US Bureau of Labor Statistics currently estimates there will be a shortfall of about one million computer related workers by 2020. While many college grads get out of college with an average of $30,000 debt, and many struggle to find a job, students with computer science and related skills are the most sought after, and command entry level average salaries of $70,000 or more. A U.S. tech industry worker averages an annual wage of $105,400 compared to $51,600 for the average private sector wage. Computer science grads and related disciplines continually rank at the very top of the highest paid and most in demand skills. The are also rated as some of the most gratifying jobs and careers.
Finally I could be all wrong, and Cuban could be right. Time will tell. However, before you start signing your children up for more humanities courses, you might want to consider that Mark Cuban also predicted that Hillary Clinton would win the 2016 presidential election in "a landslide." Also while I do believe the advances in AI are real, and we will see continue to see dramatic changes in software and technology in the next three to ten years. I just don't see AI displacing software developers in that time frame, or in the near future if ever. Besides, if Cuban is right this time, and AI has taken over to the point where robots are writing their own code, we will all have new jobs working to bring down “Skynet”.