As AI assumes more software development work, developers may eventually be working with training models more than they do with coding tools:
Over the past few decades, various movements, paradigms, or technology surges -- whatever you want to call them -- have roiled the software world, promising either to hand a lot of programming grunt work to end users, or automate more of the process. CASE tools, 4GL, object-oriented programming, service oriented architecture, microservices, cloud services, Platform as a Service, serverless computing, low-code, and no-code all have theoretically taken the onerous burdens out of software development. And, potentially, threaten the job security of developers.
Yet, here we are. Software developers are busier than ever, with demand for skills only increasing.
[...] Matt Welsh, CEO and co-founder of Fixie.ai, for one, predicts that "programming will be obsolete" within the next decade or so. "I believe the conventional idea of 'writing a program' is headed for extinction," he predicts in a recent article published by the Association for Computing Machinery. "Indeed, for all but very specialized applications, most software, as we know it, will be replaced by AI systems that are trained rather than programmed."
In situations where one needs a "simple program -- after all, not everything should require a model of hundreds of billions of parameters running on a cluster of GPUs -- those programs will, themselves, be generated by an AI rather than coded by hand," Welsh adds.
Although some of the article delves into businesspeak, it does speculate on what the roles of IT professionals and developers may be in a future where most of the code writing grunt work is done by AI.
Previously:
- Software Developer Named Most Important Tech Job of the Future
- Non-Programmers are Building More of the World's Software
- Want to be a Developer? These are the Coding Skills That Can Get You Hired
- Low Code And No Code: A Looming Trend In Mobile App Development
- Where Are the Jobs Really?
Related Stories
Want to be a developer? These are the coding skills that can get you hired:
Technology recruiters say they are struggling to find experienced full-stack engineers to meet the growing demand for web app development in a candidate-driven tech jobs market.
Developer recruitment platform CodinGame and online technical assessment platform CoderPad surveyed 4,000 tech recruiters to identify the most in-demand tech roles, technical skills, programming languages and frameworks in 2022.
Over 10,000 developers were also polled to identify whether their skillsets and professional aspirations were aligned with the needs of employers.
The top three skills recruiters are looking to hire for this year are web development, DevOps and AI/machine learning, the survey found.
More than a third of tech recruiters (36%) polled said that they were struggling to find experienced full-stack engineers in a competitive hiring market, while 35% of recruiters said there was strong demand for back-end engineers.
Nonprogrammers are building more of the world's software: A computer scientist explains 'no-code':
Traditional computer programming has a steep learning curve that requires learning a programming language, for example C/C++, Java or Python, just to build a simple application such as a calculator or Tic-tac-toe game. Programming also requires substantial debugging skills, which easily frustrates new learners. The study time, effort and experience needed often stop nonprogrammers from making software from scratch.
No-code is a way to program websites, mobile apps and games without using codes or scripts, or sets of commands. People readily learn from visual cues, which led to the development of "what you see is what you get" (WYSIWYG) document and multimedia editors as early as the 1970s. WYSIWYG editors allow you to work in a document as it appears in finished form. The concept was extended to software development in the 1990s.
There are many no-code development platforms that allow both programmers and nonprogrammers to create software through drag-and-drop graphical user interfaces instead of traditional line-by-line coding. For example, a user can drag a label and drop it to a website. The no-code platform will show how the label looks and create the corresponding HTML code. No-code development platforms generally offer templates or modules that allow anyone to build apps.
[...] There are many current no-code website-building platforms such as Bubble, Wix, WordPress and GoogleSites that overcome the shortcomings of the early no-code website builders. Bubble allows users to design the interface by defining a workflow. A workflow is a series of actions triggered by an event. For instance, when a user clicks on the save button (the event), the current game status is saved to a file (the series of actions).
In a survey of more than 500 tech workers and employers, 37pc said software developer will be the most important technology job in the future.
They were polled by Remote, a US-based company that helps organisations hire remote workers. It asked more than 500 employers and employees who work in tech for their thoughts on in-demand skills for the future.
After software developer, the jobs deemed most important for the future were software engineer, workplace manager, digital workplace programme director, head of automation and machine learning engineer.
The respondents were also asked for their views on the most in-demand skills for tech workers. The top five in-demand skills singled out by those surveyed were social media skills, digital marketing, software development, programming, web and app development and software engineering.
[...] In June of this year, the Code Institute's digital content and production manager, Daragh Ó Tuama, wrote a piece for SiliconRepublic.com that outlined nine reasons to become a software developer.
From job satisfaction to great career progression opportunities and high salaries, it's a very good option for anyone who is considering their future at the moment.
Do our tech workers agree? (And when did "pc" start getting used for "percent"? Is "pct" too old fashioned now?)
Dick Clark's New Year's Rockin' Eve has become a woke, sanitized shell of its former self. The crowd of rowdy, inebriated locals and tourists is long gone. What you see now is bouncing and screaming for the latest flash-in-the-pan artists while industry veterans like Duran Duran barely elicit a cheer.
Youtuber and music industry veteran Rick Beato recently posted an interesting video on how Auto-Tune has destroyed popular music. Beato quotes from an interview he did with Smashing Pumpkins' Billy Corgan where the latter stated, "AI systems will completely dominate music. The idea of an intuitive artist beating an AI system is going to be very difficult." AI is making inroads into visual art as well, and hackers, artists and others seem to be embracing it with enthusiasm.
AI seems to be everywhere lately, from retrofitting decades old manufacturing operations to online help desk shenanigans to a wearable assistant to helping students cheat. Experts are predicting AI to usher in the next cyber security crisis and the end of programming as we know it.
Will there be a future where AI can and will do everything? Where artists are judged on their talents with a keyboard/mouse instead of a paintbrush or guitar? And what about those of us who will be developing the systems AI uses to produce stuff? Will tomorrow's artist be the programming genius who devises a profound algorithm that can produce stuff faster, or more eye/ear-appealing, where everything is completely computerized and lacking any humanity? Beato makes a good point in his video on auto-tune, that most people don't notice when something has been digitally altered, and quite frankly, they don't care either.
Will the "purists" among us be disparaged and become the new "Boomers"? What do you think?.
(Score: 4, Insightful) by Anonymous Coward on Sunday January 01 2023, @01:38PM (2 children)
They have been trying to get this to work for decades. Vapourware. All of it.
At my work we have lots of scenarios where generating code would be really useful. Guess what.. when you need to do that.. you have to write the program to generate the code. Sure, it might help. It would be even better if it came with test cases and testing and capturing test results. Humans will be needed for this for a long time at the current rate of progress in this domain.
(Score: 3, Interesting) by coolgopher on Sunday January 01 2023, @10:57PM (1 child)
The irony is that when it comes to software engineering, especially low level code, the demand for strict correctness is beyond the level of what ML systems can deliver. And if CASE tools are anything to go by, will be for a very long time.
Even if I'm being generous and assuming that by loading the full Technical Reference Manual such a tool could generate correct code, what about dealing with hardware errata? Documented and undocumented. It's part for the course to have to alter design and/or implementation once the software hits the silicon.
Until such a time we achieve proper reasoning systems, it is my view this will remain vapour ware.
(Score: 2, Interesting) by Anonymous Coward on Monday January 02 2023, @01:12AM
> the demand for strict correctness is beyond the level of what ML systems can deliver.
And yet, at least some of the advocates for self-driving cars (iirc) work with software--I'm reasonably certain there are some here on SN. If any application requires "correctness", it's a system like a car which can injure and kill people.
Separate comment--one company mentioned in tfa is named Fixie. This is the common name for a fixed gear bicycle--no freewheel, single speed, the pedals turn when the rear wheel turns, often no brake (reverse the force on the pedals to slow down). Looked at their home page and their logo is a bicycle, so that name wasn't an accident.
Fixies take special skill and a look-ahead mentality to ride successfully. They have very limited use cases--primarily racing on velodromes and sometimes by bike messengers and a few other "urban assault" types of cyclists. Doesn't seem like a good name for a VC backed company that wants to sell to "everyone"?
(Score: 5, Insightful) by turgid on Sunday January 01 2023, @01:43PM (3 children)
What I've seen over the last 25 years is second-system effect [wikipedia.org] and inner-platform effect [wikipedia.org] with an unhealthy dose of programming language zealotry and software bloat [wikipedia.org]. Everything these days seems to be Python and Docker containers.
There came a point in my career when I advanced to the other side of the interview table. That was truly enlightening. I don't call myself an expert by any means. I taught myself (and was LARTed [wikipedia.org] over the years by much better senior colleagues) enough to get by and now I assess other people's code submissions.
There are a few very good people of all ages, who really understand how to write good code to solve a problem. Their solutions are clear and concise and they obviously understand the language they are using. Others are OK-ish, a bit rough round the edges but get the job done. However, the majority might as well have been written by a chicken pecking at the keyboard or a monkey copying off of Stack Overflow. Asking them to explain how their program works usually ends in catastrophe. In fact, you'd be surprised how many people writing code don't really understand how a computer works or what it does.
There are some very simple elementary data structures and algorithms that everyone should know about and understand, which will get you to a working solution to your problem in 99% of cases. You need to start with something that works, in a test harness, so you can then set about optimising and extending it without fear of breaking too much.
Too many people are still doing waterfall development, writing tiny little pieces of untested code, integrating the day of the deadline and finding out that the whole system doesn't work.
People don't know about architecture and design. Design patterns aren't just a PHB fad. They're a very effective communication tool for working in teams.
And source control is not backup.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 3, Funny) by Anonymous Coward on Sunday January 01 2023, @02:40PM
Why is the specification for systemd [wikipedia.org] posted on wikipedia?
(Score: 2, Interesting) by Anonymous Coward on Sunday January 01 2023, @08:48PM (1 child)
Ditto this for science.
What you learn in school is the distilled concentrate of 300 years of the smartest humans that ever existed. The guys you will work with may be able to regurgitate solutions but when it comes to original work and deep understanding... yeah, no. But nobody will tell you this- they'll hide behind titles and "being busy" doing administrative tasks such as roll call, signing forms, copy-paste, strutting around, hosting important meetings, etc.
(Score: 1, Interesting) by Anonymous Coward on Monday January 02 2023, @12:41AM
> ...they'll hide behind titles and...
Sorry to hear that this has been your corporate experience. The big company I contract for (with my little two person company) has very little bs like you describe. They have problems that require specialized software to solve. We quote on projects in our area of specialty (a tiny niche of engineering) and do them. When the spec changes (as it is bound to do with experience) we get together and work out how to go forward with the minimum of fuss.
(Score: 5, Insightful) by Rosco P. Coltrane on Sunday January 01 2023, @01:49PM (3 children)
I'm sure there are applications where no-code is a valid solution. But at least on the project I've been working on for the past 30 years - mostly building automated test rigs - I guarantee you there's no way a machine will spew out the correct code to performed the desired functions and produce the desired output with the required exactness and minutiae.
No-code is a buzzword that doesn't apply to 90% of actual, real-world software requirement cases. Not until machines are as good as human at really understanding requirements. And for the few requirement-based automatic code generators like SCADE, it's only superficially no-code, because while no programmer touches the code itself, some highly skilled individuals are responsible for encoding the requirements for the machine to output the code. It just shifts the work to someone else.
(Score: 0) by Anonymous Coward on Sunday January 01 2023, @02:50PM (1 child)
MS is trying to do this with its cloud offerings. Sadly, for them, the bait and hook approach is a real killer. It can work really well, until you do something with substance and then the costs kick in. It makes it not even worth using. This is really sad as it has great potential.
(Score: 4, Informative) by turgid on Sunday January 01 2023, @03:01PM
I found out recently that with Azure, if you want to use NFS instead of CIFS (Samba) you have to pay more. Go figure.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 2, Funny) by Anonymous Coward on Sunday January 01 2023, @09:02PM
Bu bu bu... but you just need more training data.
(Score: 5, Insightful) by krokodilerian on Sunday January 01 2023, @02:01PM (3 children)
Show me an AI that can debug, then we can talk...
(Score: 5, Touché) by looorg on Sunday January 01 2023, @02:32PM (2 children)
If the AI is writing the code will there even be a need for debugging? I thought it was supposed to produce flawless genious code around the clock ...
(Score: 1, Interesting) by Anonymous Coward on Sunday January 01 2023, @09:04PM (1 child)
To be fair, it worked for Mother Nature. Humans are the AI created to debug that shit.
(Score: 0) by Anonymous Coward on Monday January 02 2023, @12:44AM
I thought the fossil record was full of Mother Natures mistakes (as well as successes)?
(Score: 5, Insightful) by HiThere on Sunday January 01 2023, @02:21PM (5 children)
That's a true claim because of the "as we know it". The end of programming as we know it has already happened several times during my lifetime. Originally programmers either wrote assembler or built patch-cord boards. (I missed the "program in binary" phase that preceded this.) Then compiler languages came in. Then languages with garbage collectors. Then looking things up on the internet. Each of these was a major transition. This will be another one, when it stops producing code that's full of errors.
Note that all of the earlier approaches still survive, just among a lot fewer programmers. There is probably a bunch of programmers who still work in binary somewhere, possibly among the companies designing chips.
Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.
(Score: 2, Insightful) by Anonymous Coward on Sunday January 01 2023, @02:45PM (4 children)
Your tagline is on point here: "Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer."
(Score: 5, Interesting) by Anonymous Coward on Sunday January 01 2023, @03:02PM (2 children)
That's small potatoes compared to this: https://www.nature.com/articles/d41586-020-01767-x [nature.com]
(Score: 1, Insightful) by Anonymous Coward on Sunday January 01 2023, @03:35PM (1 child)
Yeah that is not scary AT ALL
Run. /srs
(Score: 0) by Anonymous Coward on Monday January 02 2023, @08:08AM
Unless that's another reason why deep fried/processed food is bad for you - you get lower amounts of microRNAs but badly damaged ones...
(Score: 0) by Anonymous Coward on Monday January 02 2023, @05:44PM
I use JavaScript in local html files. I have complete control over what happens.
(Score: 1, Touché) by Anonymous Coward on Sunday January 01 2023, @03:32PM (2 children)
Which is great. In future I may be able to charge more to fix problems arising from fools who used the equivalent of ChatGPT to generate code.
(Score: 2) by mhajicek on Sunday January 01 2023, @07:15PM
I watched a YouTube of someone trying to use ChatGPT to write a CNC program to just drill four holes, about the simplest program that could be made. Either freehand or in CAM, this would take a human about a minute or less. The AI took many iterations with tailored inputs to correct its errors, and the result was still suboptimal.
The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
(Score: 1, Interesting) by Anonymous Coward on Monday January 02 2023, @12:53AM
A good friend from college (an excellent, highly experienced programmer) has been sending out a hilarious Holiday letter for the last 30+ years. They are funny enough that I save them to re-read. This year he decided to have ChatGPT write the letter. The result was full of errors and wasn't even funny, a total fail compared to his past "manual" efforts.
Perhaps "don't hold your breath for this to be useful" was the message he was trying to send...next time I talk with him I'll have to ask for some more details.
(Score: 2) by Sjolfr on Sunday January 01 2023, @05:50PM (2 children)
That's what we need just not really what we need.
So we found out a way to get rid of all the low-skilled and almost brainless software development ... yay ... but we replace it with AI, that really is just more complicated scripted responce mechanisms, that will generate spagetti code on top of the poorly thought out processes.
What could go wrong.
(Score: 0) by Anonymous Coward on Sunday January 01 2023, @09:07PM (1 child)
Sounds like the tax code.
(Score: 0) by Anonymous Coward on Monday January 02 2023, @11:56AM
You are more right than you know, and mostly due to the stupidity in the laws passed which require the code to be spagettified just to work
(Score: 5, Insightful) by crafoo on Sunday January 01 2023, @06:32PM (1 child)
Boss: finish the product. write the docs. I have gold to do.
Manager: what he said, but make him look good too. Late for a meeting, bye.
Program Manager: My nails need did. Don't fuck it up.
Engineer: I think maybe we need AI to manage businesses and make business decisions, not necessarily to do the technical work. Realistically, which is more easily automated and which would save the shareholders more money?
For real. Fire all of management, program management, and replace them all with a simple AI.
(Score: 1, Interesting) by Anonymous Coward on Sunday January 01 2023, @09:11PM
The boss thinks AI will let him cut out all the middle layers so he can do exactly what he wants without all the losers costing him money and screwing it up.
"Hey AI, create me an awesome code that's 10X better and makes me a million dollars. Hey AI, where's my code? Hey AI, find me a coke dealer. Hey AI, hookers too."
(Score: 3, Interesting) by ChrisMaple on Sunday January 01 2023, @10:52PM
30 years ago, fuzzy logic was going to solve almost all programming projects.
Long before that, if popular technical press had been an influential thing, Kalman filters would solve all problems. Before that, Weiner filters.
(Score: 2, Interesting) by ShovelOperator1 on Sunday January 01 2023, @11:11PM (1 child)
I remember a few of such ends. As I correctly remind...
The first end was when companies introduced RAD tools. They were initially really bad, later being acceptable only for a simple CRUDs. Finally, lots of complex applications, especially corporate systems, have been developed in them, and now someone has to support it. RAD development UIs went away with OS upgrades and the servicing goes with hand-crafting SQL queries in production or patching resources in executables.
And IT techs started to hate it because they were indeed good in what they were made to do: Writing a simple CRUD. No need to hire a dev team to make a simple book catalog for a family store!
The second end was when Java started to be really popular. In fact, there are two kinds of implementation of Java VM. First one, as we know today, is relatively slow, memory-hungry and requires significant maintenance, especially when it runs a corporate software with a huge luggage of compatibility. The second, long forgotten implementation is the implementation around the OS itself, like an extension of API. This is really fast, however, only some versions of Sun's Unix and IBM OS/2 had this feature. Windows team did this feature too, but right before the release MS pulled it and used a generic implementation for some reason - it was around the release of Windows XP. Independently, Java corporate applications got so overgrown, patched and slow that it is now a significant work to make them still run properly.
The third end was around 2004-2005, when RADs became so complex that they got renamed to "No-code tools". And it is not used anymore because of licensing hell, compatibility issues and poor portability of generated applications. When it got obvious that to maintain compatibility the software must have an open and compilable source chain, it was quickly found out that there are no "No-code tools" going along this criteria, even when we lower our expectations and look for equivalent of Windows 3.x Cardfile. Not talking about HP PIM's Phonebook, into which everyone could add fields without coding, so every user used it as some kind of inventory database, but almost nobody for storing telephone numbers :).
What will happen with AI coding? A similar thing, however this time the fall may be more painful. While it is still possible to maintain this Delphi 2 CRM application running on modern i7 in a virtualized box, and it is possible to fix this old Visual Basic-powered University's system because some wise soul 25 years ago introduced the table of table's fields in their database and it is possible to serialize the forms into a text, send it thru web and cast in HTML form using JS (I have seen this with my own eyes. 30MB+ of data runs back and forth all time), this time AI will generate so complex and mangled code that the only solution will be to rewrite it from scratch when something bad happens.
And maybe it's a good idea for some systems?
(Score: 1, Insightful) by Anonymous Coward on Monday January 02 2023, @12:06PM
This pretty much describes a lot of crap projects I have seen. Make It Web 2.0 means that you still have a mainframe or SAP or whatever back end, and the data is then passed to a front end. It's just passing through an API to get from the web session to the back end and then return. Nothing new under the sun.
(Score: 3, Interesting) by Mojibake Tengu on Monday January 02 2023, @12:09AM (2 children)
I am tempted to teach a paradigm of Magic to some conversational AI.
https://ell.stackexchange.com/questions/56603/conjure-meaning-out-of-the-void [stackexchange.com]
Rust programming language offends both my Intelligence and my Spirit.
(Score: 2, Interesting) by Anonymous Coward on Monday January 02 2023, @08:27AM (1 child)
What are meaningless constants though? How would you ensure it's not doing a Hardy?
https://www.livemint.com/Politics/ZFvvKBAwBVNuU8SrD7dGYL/Mathematicians-says-theres-more-to-Ramanujans-1729-than-me.html [livemint.com]
(Score: 3, Touché) by Mojibake Tengu on Tuesday January 03 2023, @01:44AM
Two meaningless constants is a sufficient prerequisite for crating a binary system. or even Tao.
Rust programming language offends both my Intelligence and my Spirit.
(Score: 3, Insightful) by https on Monday January 02 2023, @01:33AM (1 child)
Obligatory xkcd [xkcd.com].
Offended and laughing about it.
(Score: 4, Insightful) by Anonymous Coward on Monday January 02 2023, @08:42AM
Clarify their ideas? Somehow that reminds me of a very old story about consultants and the "sultan" who didn't want to be conned by the "sultans of con": https://www.biblegateway.com/passage/?search=Daniel%202&version=ESV [biblegateway.com]
Ever been a consultant who had to tell a customer what their dream was, interpret it and maybe implement it? 😉