There's no doubt that some programmer's jobs will start to disappear. Think about how many web devs/ html jockeys are no longer needed because word press or 100 other web publishing platforms are easy enough for non pgmrs to use. How long will a million programmers write custom software instead of just packaging apps? Today, places like Microsoft, Apple, Facebook, Amazon have a lot of programmers writing custom apps. And lots of other companies - eventually I think we'll need fewer of them. Maybe as a software engineer, I could be retrained to do genetic engineering or dna analysis. But it's a lot easier for me than the guy making hamburgers at McDonalds.
I don't want anyone to lose their job, but this change of reduced labor based work is inevitable. Economic forces are hard to overcome. Just like coal has been wiped out by cheap natural gas - it wasn't a conspiracy.
I agree with the sentiment but there is a difference between a programmer and software engineer. Programmers who just move pixels around a page and hook up a news feed? Sure those will be gone, automated away not blue collar (imo).
Building the systems to make the tools to automate that away? Those will still be white collar jobs. Pushing bits is easy, converting an abstract vision into a scalable, maintainable system is hard.
Programming jobs will not disappear, but it will not be similar to what programmers of today do on a daily basis. So, I think the significant shift needs to happen in the way we are educating kids about CS fundamentals, Math and Science.
As AI systems become more able to generate much code by default, the expectations of the customers will similarly increase. Just remember how much an IDE like Eclipse or IntelliJ changed the productivity of programmers 20 years ago. Similarly, how easy apps were to build when Rails would create a scaffold with a simple command. It only allowed us to build more complex customer experiences in the end. This will continue.
Second, there is the need to verify the output from such systems, and also tie them together with other modules. In large enterprises, they would also need to be integrated into existing codebases, often legacy infrastructure.
Then comes the implementation of tons of Govt regulations in finance, lending, taxes, medicine, and so on as code. Software has not yet penetrated these verticals as well as they can. In a recent podcast, chamath palihapitiya mentioned that now it is possible for the Dodd-Frank regulations to be in code, versus as a written document. It's a good example.
Lastly, there are THOUSANDS of companies with legacy software systems that will still need to be maintained, and transitioned to modern technology stacks and infrastructures. This space will continue to be a major source of employment for programmers for the next few decades.
It seems to me that the problem from a programmers standpoint isn't that their job will disappear but that the definition of their job will change quite a lot.
I always think of the example of supermarket cashiers. Formerly a fairly skilled job but now merely providing cheap meat-robot manipulators for a scanner. The person is still there but has a job concentrated down to the few things a person does better, and those things aren't always the fun things.
It’s conceivable that in the future, coding will be so easy it won’t exist as a specialized job anymore. Consider how the web dev career of making websites for small local businesses has been substantially replaced by squarespace, which can be thought of as a tool for which the input is a very high level specification and the output is html/css/js/backend code. And the specification is high level enough that you can ask your mom to use it - it won’t shock me if we see this happen to more industries
As processing power cheapens, programmers will settle for lazy and inefficient code for everyday consumer applications. It will be easier to be a programmer, because you can get away with writing shitty code. So wages will fall and the prestige of being a software developer wanes. The jobs requiring truly elite skill and understanding will dwindle and face fierce competition for their high pay.
Before this happens, I recommend having your exit strategy for the industry, living off whatever profits you made working as a developer during the early 21st century.
I think you have a good point here. I see a time when programmers become somewhat replaceable and when the industry as a whole reduces benifits for programmers bit by bit. Currently, there is a huge increase in the number of freshmen joining the computer science department in the university I attended and I see it only growing. In the future, a computer science degree might become something like the biology degree and that's when programmers will feel the pain of not being high-demand skilled laborers any more.
Even if the job of software developers will be done by software, someone still needs to maintain and improve that software
Of course; my point is that you need a lot less programmers overall. Where a team was once required, now a staff of one or two will suffice, and this trend will continue as it becomes easier to do more with less. I'm not saying that the professional programmer will cease to exist, rather, I'm suggesting that the employment prospects for developers will inevitably fall in line with other industries.
Who's to say there aren't going to be new markets a few years from now? (For example, we'll need developers to write Google Glass apps).
I don't think there is much longevity in a "apps for yet-another-platform" future. To-Do lists and tower defense games have lost their novelty and useful/interesting apps are pretty rare. I do see platforms like Google Glass and Occulus Rift as potentially huge markets, but the cost of producing software for these platforms continues to fall right along with the discretionary income of all your potential customers who aren't employed as software engineers. It's a rapid race to the bottom.
In addition, even after all this evolution, current frameworks and languages are still horrendous.
Except for the burgeoning movement of hip languages and tools you wouldn't describe as "horrible to program in" that has driven the hype and growth behind the contemporary software golden age.
I agree that machines will probably write most of the software one day. I disagree that this will cause all "programming" jobs to disappear. I disagree vehemently that all programmers are fungible with "cheap guys in India or Russia". Over the last twenty five years, I've watched this industry expand to become the highest-paid industry outside of doctoring, lawyering, and banking, and the whole time, people said the job market was balanced precariously on the edge of collapse because of this imagined (and completely untrue) programmer fungibility with "cheap guys in India or Russia".
I completely agree, and I think that's precisely the heart of the matter. Salaries will likely begin to decrease, or at the very least, they won't increase at the rate they would have if this technology didn't exist. It seems inevitable to me that programming will become just another job. It's saddening because I deeply love to code and understand the inner workings of it all.
This isn't an all-or-none scenario. It's not like all textile factories got auto-looms and the labor market collapsed overnight. Tools will improve, productivity will improve, and the demand for software development as a specialty will wane dramatically. Making simple tools using prompts will no longer require knowledge of data structures and algorithms, efficiency, networking, or anything else we get paid to know, and over time will shift to something white collar workers put on their resume next to MS Office. A tiny handful of specialist engineers will control development, and software creation as a commodity will essentially be automated. We will feel the impact of these changes LONG before that process is complete.
Programmers have been destroying programmer jobs since those jobs exist. Up to now it has meant we have enough productivity for going into more markets, but that will not last forever.
Good point. But still, if that means that the profession of software developers will eventually disappear? I don't think so. Rather if they will be less needed they will have to just be more all-rounder.
Personally I think that this entire sector is due for a reduction. Companies like Facebook or Amazon or Google or just soaking up employees to work on things that don’t really matter. Once they figure that out and manage more efficiently, there will be layoffs followed by the inevitable commodification of CS talent. This field isn’t special, it’s like any other field that went through a boom phase and a later regression to an equilibrium point.
Soon everyone in every role/industry will have rudimentary programming skills and use them on top of safe platforms that don’t needtremendous specialization. It’ll stop being a differentiator and it’ll be more like a basic qualification.
I don't want anyone to lose their job, but this change of reduced labor based work is inevitable. Economic forces are hard to overcome. Just like coal has been wiped out by cheap natural gas - it wasn't a conspiracy.
reply