The Working Dead: Which IT Jobs Are Bound For Extinction? (infoworld.com)
Slashdot reader snydeq shares an InfoWorld article identifying "The Working Dead: IT Jobs Bound For Extinction." Here's some of its predictions.
- The president of one job leadership consultancy argues C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net. You still find C++ coders in financial companies because their systems are built on that, but they're disappearing."
- A data scientist at Stack Overflow "says demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise."
- The CEO and co-founder of an anonymous virtual private network service says "The rise of Azure and the Linux takeover has put most Windows admins out of work. Many of my old colleagues have had to retrain for Linux or go into something else entirely."
- In addition, "Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward, notes Terence Chiu, vice president of careers site Indeed Prime."
- The CTO of the job site Ladders adds that Smalltalk, Flex, and Pascal "quickly went from being popular to being only useful for maintaining older systems. Engineers and programmers need to continually learn new languages, or they'll find themselves maintaining systems instead of creating new products."
- The president of Dice.com says "Right now, Java and Python are really hot. In five years they may not be... jobs are changing all the time, and that's a real pain point for tech professionals."
But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."
*cough* What a crock of shit.
Sendmail is like emacs: A nice operating system, but missing an editor and a MTA.
Nicely put.
Low-end AI? Translating user requirements into working software that actually meets their needs is in the same part of the AI difficulty list as cold fusion and solving world hunger.
If you can actually interpret the business specs without a human putting them into a formal language, you don't need to translate them into computer logic at all. By then the AI can just execute them anyway.
The moment you need that intermediary step involving a human and a formalised representation.. we call that programming.
I hate this fact that "java programmer" is considered by some people a different job than "C++ programmer". A good programmer should be able to learn a language in a month and become proficient in three months at most. Functional languages apart, all languages are more or less the same. It doesn't matter if your hammer has a red handle or a green one, as long as you know how to hammer.
But the regional dean of Northeastern University-Silicon Valley has the glummest prediction of all. "If I were to look at a crystal ball, I don't think the world's going to need as many coders after 2020. Ninety percent of coding is taking some business specs and translating them into computer logic. That's really ripe for machine learning and low-end AI."
Sounds like a fantastic opportunity to get rich—fleecing poor bastards who actually believe this dreck. Ninety percent of coding is indeed figuring out how to wedge some business wonk's hairbrained idea into the machine, but does this clown have any idea how broad a phrase "business specs" is? That's everything. I mean e-v-e-r-y-t-h-i-n-g.
"Make my MRI machine work." Business spec. "Make my combine harvester work." Business spec. "Make my search engine work." Business spec. "Make my toy robot work." Business spec. "Present as many goddamned ad impressions as physically possible." Business spec. He's trying to claim that do-what-I-mean-not-what-I-say computers are just around the corner, readily (and cheaply) available. HA. No. You might, MIGHT be able to train a neural net to do a piece of one of those tasks. All of them? And all parts? Not even close. Not in three years.
I'm sure nVidia's new Titan Xp is a marvelous thing, with its dedicated tensor accelerator hardware, but it's not do-what-I-mean hardware. It was just released last month, which means nVidia's next card is a year away. Does anybody think it's going to be do-what-I-mean hardware? No. How about the generation after that? Maybe another node shrink? Still no. How about three generations from now? If historical Titan benchmarks are anything to go by, it'll be twice as fast as a Titan Xp. It takes nVidia about 36 months to double performance. Is it going to be able to do-what-you-mean? Mmm, no.
The world is going to need just as many coders in three years as it does now. It will probably need more. The coming wave of automation is not going to be self-programming, but it is coming. Somebody is going to have to write all that code. And baby all of those neural nets.
The president of one job leadership consultancy argues C and C++ coders will soon be as obsolete as Cobol programmers. "The entire world has gone to Java or .Net. You still find C++ coders in financial companies because their systems are built on that, but they're disappearing."
The entire world has done what now? I work in the computer vision/data processing world. It's all written in C++ on the back end, often with python driving code on the front. Currently C++ is the only language with the expressivity, speed and resource frugalness required for the job.
I've also worked on deep embedded stuff. Hell, some of the compilers don't even do C++ (looking at YOU IAR C/C++), so I wrote it in C. Otherwise I'd use C++, because there aren't any other languages with the resource control which will do the job.
Lots of other stuff seems to run on the browser. All major browsers are implemented in C++ because... well you get the idea. About the only thing which could potentially displace C and C++ is Rust since it's basically the C and C++ model but with a syntax that excludes many common bugs. But it's a way from being there yet.
A data scientist at Stack Overflow "says demand for PHP, WordPress, and LAMP skills are seeing a steady decline, while newer frameworks and languages like React, Angular, and Scala are on the rise."
There's a difference between decline and fall. The displacement is certainly happening, but you can't replace WordPress with Angular and Scala because one is an entire CMS, the other are a library and language. That's not the same thing.
SJW n. One who posts facts.
It is the lack of compiler/preprocessor support for legacy standards of the language.
Between changes in the standard headers, changes in keywords (without provisions to disable them for files written to older standards) Changes in API and ABI, there is a huge clusterfuck of underdocumented shortcomings in C/C++ that are mostly there because of standard ego-stroking. Many of which have no excuse for having shown up in the past decade given that most of them manifest in open source software that could have been tested against in an automated fashion to ensure that new changes to the standard didn't break older code.
Anyway, just like traditional c, then c89, then att C++, we are now seeing c99 and c++98 going the way of the dodo, with a mishmash of code written that straddles the standards but may not always compile into what you were expecting. And depending on the corner-case of interpretation, might not be discovered until MUCH MUCH later, unless you regression tested for every possible contingency or have dozens of special case handling macros for all the things that work on one version but not another (which is steadily increasing with each year, and some of which are only possible using machine automated translation due to the sheer level of keyword, include, namespace and other changes that may be necessary to work against 'common best practices' of a different iteratio of the standard.
I agree - a lot of embedded devices are C and even assembly. Especially when you come down to small devices running an 8051 kernel and similar where every byte counts.
C is also one of the better languages to use if you want a deterministic behavior of your code as long as the coding is done right. Environments like Java and .Net aren't good enough in that area since you have background threads for housekeeping that causes interference.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
Still employed.
They are looking at their narrow market, their company and thinking it is everyone. The best example is the VPN retard saying that Windows has gone away. Ummmm..... no. The massive Wannacrypt outbreak at companies is prima facie evidence that is wrong. There is lots of Windows all over the place at companies from tiny mom n' pop shops up to the biggest in the world. It is on desktops, servers, controlling equipment, etc, etc and people are still needed to run it.
I'm sure in his little world, there are no Windows admins. A VPN service likely uses Linux for its server OS, and he just rents VPS's from places like Azure. So in their little company they are all Linux all the time. That's nice, but not at all representative of what is going on in the larger world and if he had any amount of perspective he'd know that.
Anyone who thinks a trend seen at a single company, even a big one, can be generalized to the whole world is silly.
Interpreted languages are fine so long as there isn't a lot of code sticking together the stuff in those libraries that are nicely compiled for you.
If there is a lot of code to interpret they suck just as much as they always have - hence some really sloooooow stuff out there.
There's some appallingly slow stuff running on fast hardware - things like GUIs that take a couple of seconds to respond to a mouse click and bring down a menu despite being on a 4GHz machine that's not doing a lot other than waiting for input. That's the sort of thing that shows off a failure of lazy programming and using the wrong tool for the job (eg. a massive lump of custom java instead of handing over to a library).
"Thanks to the massive migration to the cloud, listings for jobs that involve maintaining IT infrastructure, like network engineer or system administrator, are trending downward"
There are many businesses that will never be in the cloud. Many companies are not comfortable putting their data on someone else's computer. Also some companies are legally required to keep their data local.
Finally, even businesses that have embraced the cloud (my organization is one of those) still have local infrastructure that needs support - switches, firewalls, telephones, security systems, building access systems - etc. Those simply can not be put in the cloud - the devices need to be local - and those devices still need to be managed.
I think back to situations like steel workers or coal miners whose jobs disappear...and to the combination of where these people live, the lack of variety of the local economy, and the difficulty translating their skills to other industries. These things combine to make it nearly impossible for them to maintain their livelihoods. Conversely, in the tech field, that constant rate of change makes it not only relatively easy to change specialties, it eliminates any stigma that comes from having done so.
Yes, this means that fields and skills sometimes go out of favor...but at least you're not stranded when they do. You have options. Whether or not you exercise those options...that's another thing. I'd rather have options, and have it left up to me whether I fail or succeed.
For your security, this post has been encrypted with ROT-13, twice.