Companies Are Developing More Apps With Fewer Developers (fortune.com)
Fortune reports that the "yawning gap in tech skills" has resulted in a surprising shift in supply and demand in the software industry. And in many companies now, a growing trend of developer jobs being given to non-developers can be seen. From the article: That's because a relatively new technology, known as low-code or no-code platforms, is now doing a big chunk of the work that high-priced human talent used to do. Low-code platforms are designed so that people with little or no coding or software engineering background -- known in the business as "citizen developers" -- can create apps, both for use in-house and for clients. Not surprisingly, the low-code platform industry, made up of about 40 small companies (so far), is growing like crazy. A recent Forrester Research report put its total revenues at about $1.7 billion in 2015, a figure that's projected to balloon to $15 billion in the next four years. Low-code-platform providers, notes Forrester, are typically seeing sales increases in excess of 50% a year.The report cites QuickBase, a company whose low-code platforms are used by half of the Fortune 500 companies, as an example. Its CEO Allison Mnookin says that almost any employee can now do most or all of the same work that developers used to do. Mnookin adds that there's a big advantage in this. "Opening an app's development to the non-techies who need the app removes misunderstandings between the IT department and other employees about what the end user needs."
Companies Are ______ With Fewer ______.
.
For example, what I currently do in a LibreOffice spreadsheet used to require one or two developers to write the software to do the same thing.
Now I just open a spreadsheet, enter some numbers and do the analysis myself.
Does that include apps that simply involve invoking a browser and opening the website of the application in question? A tactic popular w/ Microsoft in Windows Phone/Mobile
Sharepoint and InfoPath. This has caused nothing but more problems for us.
Maybe it's because I don't live on the West Coast but I have yet to see or even hear about one of these platforms. Where I work, writing a SQL query flies over the heads of the majority of product managers and business analysts. QA requires a lot of hand-holding. I'm old enough to remember the days when the non-techies tried to write software platforms hacking VBA in Excel and Access and that turned out really well.
This is not a new promise. It's been made before and it seems this article is slanted towards one particular product the one I haven't heard of. I know people have been customizing CMS's with clever hacking to make them work for purposes they weren't intended like WordPress and Joomla and so forth but it's not anywhere near what it needs to be to meet real, ever increasing business needs. Heck, for all the progress that HTML5, CSS, Javascript/ECMAScript and all the MVC/MVVM tool stacks that sit on top of them, for most cutting edge companies, it still ain't good enough. They want the sun, the moon and the stars. If hard-core development tool stacks can't deliver it, these lo code/no code solutions sure as heck can't come close.
We'll make great pets
today's low-code shortcut is tomorrow's abandoned platform ... cold fusion ... delphi ... VB6 ... you name it, it's been abandoned ... placing bets on a fly by nite startup's platform is not a good idea ...
This'll work fine for very simple apps, ones that only require standardized functionality. But then, with an app like that, do you really need to develop a custom one for any reason other than branding/appearance? And it'll work for disposable apps, ones that do the current job but don't need to be maintained or enhanced down the road. That's been true forever, it's why spreadsheets and word processors had macro languages so secretaries and accountants could do simple operations and calculations without needing to have the programming team get involved. But the moment you start dealing with an app with complex functionality that has to be changed, enhanced and extended over time, that's when you'll discover that you need software engineers. It's the same reason anybody who can grab a hammer and saw can cobble together a sawhorse that'll work for one job, but you need someone who understands architecture and construction to build a house that's expected to last for decades.
“You don’t need to know how to code in order to use them, but you do need strong analytical skills,”
Um yep. Knowing how to read and write a programming language is the easy part. Having the analytical skills to achieve the task is why we get paid well.
"low-code platform" is just another buzzword unless there is a difference between "low-code platform" and SAP, OBI, Sharepoint, infopath, etc.
Our Sharepoint developer also codes in C#. Sharepoint is just a tool for him.
No, we will not see "programming disappear". This same stuff has been predicted continuously for decades now. People skilled in the use of tools are many times more productive than those who are unskilled. As the tools themselves get more productive, the skilled users become more valuable. What I suspect we are seeing here is the temporary drop in the usefulness of software due to phones and tablets causing the unskilled to be able to produce "state of the art". This is a temporary phenomena that will end when software and computers become more useful again.
Excellent point. As more tools like this appear from the aether, the value of developers will decline.
Excellent point. As more tools like this appear from the aether, the value of developers will decline.
History says otherwise. Tools that make people more productive cause those people to be more valuable, not less. A developer that produces 10 apps per year is going to bring in more profit than a developer that produces one app per year, and can thus command a higher salary.
Rising productivity does not cause poverty. It causes prosperity. If your brain is too dysfunctional to realize that through logic, then just open your eyes and look at the world: Countries/regions with high productivity: America, Western Europe, East Asia. Countries with low productivity: Ethiopia, Niger, Pakistan, North Korea. Do you really think the latter group have benefited by avoiding "job killing" productivity improvements?
VB, PHP(spit!), JavaScript... the commonality is the ease with which a neophyte can 'code' something, and in the process open some real nasty and easily-exploitable security holes with 'em (which reminds me... how does the TFA product avoid a lot of this?)
Quo usque tandem abutere, Nimbus, patientia nostra?
Yet another case of someone attempting to apply an absolute to a real-world problem. The historical trends you cited only apply to a situation where a significant number of human beings in the "world market" (such as it was) were in need of goods/services and could be counted on as customers; in other words, an anomaly. Do not expect the trend to continue.
Once productivity outstrips demand (or rather, quantity demanded at any given point in time), continued increases in productivity only devalue labor, since you have a situation where you only need to produce X, but can do so with a declining number of people Y. If we apply this effect across all employers everywhere, they will all simultaneously seek to reduce Y while maintaining X. But as Y decreases, quantity demanded (X) must decrease as the overall buying power of people declines (due to layoffs), leading to a cascade effect in which X and Y decline together.
You can not argue that increased productivity increases the value of human labor if quantity demanded is either static or (inevitably) in decline.
Yes, a few people that remain valuable to industry of one sort or another WILL see an increase in pay as they take on the work of 2-4 or more former colleagues, but what of everyone else? Unless they "retrain" they will certainly see declining wages as they have been rendered obsolete in the view of the marketplace, reducing the effective value of their labor to 0 or near-0.
"Retraining" means moving people into a new labor sector where they will compete with people already attempting to make a living. Increases in available labor there will drive down the real-world value of that labor.
If you would open your eyes, you would notice that manufacturing worldwide is in decline, that long-term permanent unemployment in "developed" countries like the United States is up, and that growth is stagnant. Nations like Niger are poor examples as they have terrible socioeconomic dysfunction and have never functioned at a level even approaching optimal economic conditions. Attempting to apply labor supply/demand models to a nation like Niger is a waste of time. Just look at their labor laws!
Looking at the links Google turns up for "low code". Marketing hype is all I'm seeing. This will be sold to CEOs the world over and it will fall short. Remember CASE? CORBA? 4GL? Visual Basic? Same smell.
If you post it, they will read.
Having people writing scripts to make their job easier can be great. Sometimes you don't need to actually know what you're doing to write software.
It only becomes a big problem when either a) it's exposed on the internet, where hacker bots hit it a thousand ties per day (headline: Acme Corp exposes 12 Million Credit Cards) or b) the data is actually important to your business. Example you write "rm $file", that's no problem until someone puts a * in a file name and it deletes everything in the folder.
If it's going to be on the internet, or deal with mission-critical data or resources, it's good to have it done by people who know what they're doing, who know what the common errors are and how to avoid them*.
* Not everyone with the word "developer" in their title is qualified. Does their education include systems development, or do they have a chemistry degree?
Search for Rapid Application Development from the 90's.
Powerbuilder is one such tool that started getting built in early 1990's. What is old is new again.
Multi user too.
Writing some macros that tie word and a spreadsheet together might work ok for the non developer that created it, but once multiple people start using it, the fact that the author didn't know anything about mutex or acid or race conditions will be a re-run of the mid to late 90s all over again.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
Back in the day, you had to move wires around to program and then someone had the bright idea of assembly. Then someone invented human readable code. And we've been programming like that for what? 60 years now? Programming hasn't changed much at all since then. We're basically writing code.
What nonsense.
I remember when "lines of code" was a widely-accepted measure of programmer productivity -- and the industry standard was single digit counts per programmer per day. That's less than ten lines per day per developer. And these were mostly programs for batch processing; some systems supported interactive use, where you'd type a command on a terminal, enter data in response to some prompts, and then see results. There was process-control stuff happening, too, but when a system executing thousands of instructions per second had to control a physical process, it wasn't very elaborate -- there wasn't time, never mind RAM, for much complexity. So, programmers thought really hard about each line that they wrote. (Are you old enough to have heard the term "desk checking"? Why waste valuable computer time trying to compile and run something, when it's got bugs that you should have caught with a few hours' review?)
By the standards of those days, most of today's code is profligate waste -- coddling the users, correcting their mistakes, presenting things in a way that's convenient to the user rather than the computer. But by the standards of those days, displaying streaming video or recognizing speech by comparing it against a multi-terabyte distributed archive of conversational snippets is bleeding magic.
And being able to invoke that power by calling a simple API? Oh, sure, that's exactly like duplicating your Quicksort card deck to add it into your current FORTRAN job.
No, we will not see "programming disappear". This same stuff has been predicted continuously for decades now. People skilled in the use of tools are many times more productive than those who are unskilled. As the tools themselves get more productive, the skilled users become more valuable. What I suspect we are seeing here is the temporary drop in the usefulness of software due to phones and tablets causing the unskilled to be able to produce "state of the art". This is a temporary phenomena that will end when software and computers become more useful again.
I don't think we will see programming disappear, but I think we will see the low hanging fruit moving away from professional developers and into a generic white collar worker. Think about the progression of clerical functions - years ago you had a pool of typists, because it was both a manual skill that most office workers did not have, and difficult enough that it was worthwhile to farm it out to specialists (though in this case the specialists were cheap). Then we had word processing come in, and initially it was done by clerical staff, but the bar was raised in terms of what constituted "professional looking" output. Then the software became easy enough, and the office workers sufficiently used to typing and using computers that word processing as a dedicated job function has moved into a publishing role.
Now we have a situation where everyone is expected to be able to use a word processor, and while anyone can type up a simple letter or paper, turning those same people loose on a multi-chapter book that is expected to use consistent styles and formatting rules is asking for trouble. Talk to any tech writer or publisher, and you will hear horror stories about documents in exactly the same way we talk about spaghetti code.
no skills coding, what could go wrong?
For small-ish (non-enterprise) apps, the real problem with VB Classic was not really the language or IDE, but the deployment and DLL-Hell, especially if it used 3rd-party components. The installation and help-desk staff hated that aspect.
Table-ized A.I.
...but the price is not. They have no serious competitors as far as I can tell, the market is screaming for competition. If you need to build a network-accessible database driven application that runs in a browser, it's really, really slick.
I was involved with a project to build a type of customer database using QuckBase - it would track and follow a customer's project all the way to completion, and multiple people with different roles could interact with it in various ways. Imagine Filemaker Pro or MS Access on steroids and network enabled.
To earn our business, QBase reps basically built the bones of the program in realtime as we chatted on the phone and watched via webex, for free and gave us a month to play with it at no cost. After that it was around $300 per month, so out of range of individuals but fine for businesses that can justify it with revenue.
I think there is a huge future for this market that's waiting to be tapped further. Right now it's a bit of a monopoly.
Which is why i would eat 10 pizzas and buy 20 laptops, cars, houses, etc. if I only had the money.
Oh, wait... I wouldn't. I'm tired of that old chestnut of infinite wants, limited resources going unchallenged. The first is only true over time and the latter is generally true over a fixed period of time.
Productivity gains almost always boil down to a transfer of wealth from labour to capital. The economy as a whole might benefit in an abstract sense but that hasn't helped actual people much in the last 30 years. We now work longer hours for less buying power.
I'm calling you out on the "far higher quality standards" bluff. I've worked with big name, cheap labor shops, and it was far from high quality, but it was delivered quickly and cheaply. For proof of concept and quick market capture they're an excellent choice but you'll have to recreate your product later when the tech debt grinds your product to a halt and loses you customers due to service outages and inability to fulfill changing business requirements.
Think globally but act within local variable scope.
If your brain is too dysfunctional ...
I think your reasoning is too simplistic - throughout history we have seen many times, how increased automation means job-losses for the people whose skills are being automated; I can't see how anybody can explain that away. Automation quite often also leads to loss of variation - products become more uniform, because a machine always makes it in the same way, and is able to produce in huge quantities; some would argue that this is another downside. However, it is true that over time the increased productivity often leads to better outcomes for society as a whole, once the people that lost their livelyhoods have gone away in one way or another.
Another part of reasoning you haven't addressed is the fact that companies do this to drive down cost per unit produced; very often this means employing low-skilled, cheap workers instead of the more expensive, highly skilled ones. So, more employment for unskilled workers, which is good for them, of course, but since there will be less employment for the skilled workers, who lost out, there is less incentive for anyone to get an education in that particular skill. That, in turn, will lead to a situation where that skill becomes higly specialilsed; and if the skill is one that is still going to be of critical importance, then those few specialists will become very valuable, and thus expensive. And of course, the fewer there are of these experts, the closer you get to have a single point of failure, where companies can't find the critical staff they need. There's a bit of a cyclical argument going on here, but I think I have demonstrated that it isn't quite as simple as you suggest.
It tends to balance out if there is meaningful competition. At least for those goods where there is no bottleneck for production and competition can drive down prices.
For instance, my own salary has seen only minor increases over the last ten years, but there are also a lot of cheap offers for technology stuff. Food and housing have seen more price hikes, but I can still live with those.
And if it wasn't for politics supporting capital over labour, things would look even better for the "working class". A lot of the transfer of wealth from labour to capital was actually caused by shifts in legislation that favored the capital side.
So while I don't trust the left-wing parties in my country too much, I'm increasingly inclined to support them in the next elections. Because I see plenty of evidence that it is needed to stop capital from grabbing an ever larger part of the pie.
C - the footgun of programming languages