Is the Software Renaissance Ending?
An anonymous reader writes Writer and former software engineer Matt Gemmell adds his voice to the recent rumblings about writing code as a profession. Gemmell worries that the latest "software Renaissance," which was precipitated by the explosion of mobile devices, is drawing to a close. "Small shops are closing. Three-person companies are dropping back to sole proprietorships all over the place. Products are being acquired every week, usually just for their development teams, and then discarded. The implacable, crushing wheels of industry, slow to move because of their size, have at last arrived on the frontier. Our frontier, or at least yours now. I've relinquished my claim." He also pointed out the cumulative and intractable harm being done by software patents, walled-garden app stores, an increasingly crowded market, and race-to-the-bottom pricing. He says that while the available tools make it a fantastic time to develop software, actually being an independent developer may be less sustainable than ever.
There is a slew of missing applications for industry verticals where there is no race to the bottom. I don't see any evidence that the mobile world is even close to saturated. It may be that general audience horizontal applications aren't the best place for small teams but that isn't the end of the world. How many general purpose task managers and tower defense games do we need?
Could someone explain to me how a "walled garden App Store" is crushing small developers? Exactly what about a walled garden does this?
Everyone wants to make another Candy Crush or Flappy Birds game, and they'll be lucky to make minimum wage for the time they spend doing it. When I became a Mac developer in '84, and when I switched to NeXTSTEP in '89, both were moves decidedly out of the mainstream.
There's no shortage of unmet needs that can be addressed with an iOS app, but if you don't take the time to figure out what they are, then of course you'll fail.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
What I got from the article is that the flood of people that call themselves Software Engineers when all they actually know how to do is configure 3rd party tools and at best write a few scripts to run stuff on the internet are finally being called out.
If so I think that's actually a good thing for restoring some value to the job description and to the currently low perceived value of skilled Engineers that actually can/do develop complex software from scratch.
What "software renaissance"? The writer means the appcrap boom - millions of small bad programs, with a few good ones. Many, maybe most, "apps" could just as well be web pages.
The appcrap boom seems to be winding down. Developers realize that writing a quickie app has roughly the success percentage of starting a garage band. That's a good thing.
It's a great time to code, if you have a problem to solve. The tools are cheap if not free, the online resources are substantial, and there's vast amounts of cheap computing power available on every platform from wrist to data center. If you don't have a problem to solve, coding is sort of pointless.
Everyone thinks this when their specific little niche goes away for whatever reason. Or even when it changes.
Opportunists who are just in it for easy money will bail out and find whatever the land rush is this month. The others will find a way. Remember when AAA gaming crushed all small budget games forever? Yeah.
(This can be 'bad' as well if you're one of those people who think income is the only thing that matters... some of those people could have done better financially elsewhere).
Well, once the current dark age of bloated web pages with delusions of grandeur masquerading as 'apps' is over, the renaissance can start, and then we'll talk about it ending.
I read Matt's blog posting and I do have to say it sounds like his underlying issue is less of a quandary with a code renaissance being over and more of the drowning complexy and exhaustion involved with today's changing technology world from a code slingers perspective. Reading his blurb touching on a few profound things I find myself doing more and more as I get older in the tech industry: enjoying the simplicity of hacking shell or automative code in a text editor without launching an IDE, still having algorithmic thought processes and approaches, documenting less and thinking more. It sounds like his interests have just shifted and probably for the better. There's tons of shit that I look at on my shelves: projects started, topics heavily bookmarked in myriad of O'reilly books, half-finished circuit design on breadboards, code lying around here or there. It's just that: what was important now isn't and you're trying to just simplify the black hole of tech that was once an intriguing and mind-blowing ordeal.
The real worry is that his article is astonishingly short on numbers. In fact, he 1500 words and didn't include a single piece of data to indicate an end to a 'Software Renaissance." All he did was complain that he's tired of programming. That's it. Annoying.
"First they came for the slanderers and i said nothing."
Yes, the viability of mobile as a platform for indie development is now less. But bottom-grade shovelware has been a problem since the dawn of consumer computing. (Anybody remember when PC shovelware was literally sold by the foot at K-Mart? i.e. "Six Feet of Games!" as a chain of CD-ROMs.) It has nothing whatsoever to do with the viability of coding as a profession. The vast majority of developers making a living always have been, and always will be, IT drones coding database applications. Mobile is just another platform for those folks...
The community/industry that these bloggers exist within (at least, the first of the 3, Finkler) isn't real software development anyways. When I read Finkler's blog post, the key phrases that stand out to me are these:
"I used to be really excited about JavaScript"
"I have 15 years of PHP under my belt"
"[...] Python. I don’t feel like I really grok the module system. I definitely don’t understand the class system."
"Have you ever tried setting up something on AWS? There are a billion buttons and settings and new, invented words I don’t understand. I have no clue how any of that stuff works."
"Did you know I used to be a 'designer?'" [of web apps and such]
What I read from the amalgamation of these statements is: This is one of those guys who jumped on the "I want to be a web designer" bandwagon many years ago when the field was hot and it was easy to churn out crap and make money at it. He learned (by cargo cult copypasta and/or Whatever for Dummies books?) to get by in PHP and Javascript over the years. But he never really understood what he was doing.
For one that actually studies (not in a school, I mean really in the real world) computer science and the art of programming, by the time you've learned a language or three the rest come very easily. Such a person can write useful production code in a new programming language on the first day byt the time they get to language number 4 or 5. That simple, core aspects of a sane language like Python baffle Finkler after 15 years of experience and serious use of at least two languages is very telling in this regard.
For one that works professionally in the computer/internet industry, understanding how systems and networks work is critical. Can you build a server from components (at least in theory? Done it a few times years ago with a home PC or something?)? Can you spec out a 100 (or 100,000) -system network of machines for a production cluster of some kind, and understand all the issues involved with everything from cabling to traffic loadbalancing to data migration and scaling issues and fault tolerance tradeoffs and blah blah blah? Could you, at least in theory, go build it all out yourself and be successful and having a fairly optimal and well-designed system at the end of it? Configure the routers and set up peering/transit agreements with the rest of the internet and get your traffic flowing smoothly to a global customer base?
People put *way* too much emphasis on the "Learn a Programming Language" part of being a developer. A real developer who's worth his salt must do much more than that. You must understand the whole stack you're operating on. Just to touch the highlights of that stack for a typical web app: The client's browser, the browser's OS, the machine that OS runs on, the ethernet interface on that machine, the DSL router at the user's home, the ISP network the traffic traverses and how it peers with everything else that peers with you, important side-issues in the network like low-level details of the DNS and how the ISP resolves and caches it, the routers, switches, cabling, and configuration of the network in your datacenter, that whole production cluster mentioned in the previous paragraph, Linux kernel issues on the appserver machines related to interrupt routing and TCP socket features, how your HTTP server works and how to debug deep issues in it, and how it connects to whatever engine or VM runs your application code, and how *that* is scaled locally to utilize the hardware efficiently, etc.
You want a guaranteed job as a desirable developer for decades, without being subject to industry whims and immigration politics? Learn to be someone for whom everything I've said above is trivial. Those are the badasses. If all you can say is "I can write some PHP code that seems to be functionally correct most of the time; the user inputs X and it outputs Y", you're not even 5% of the way there on actually understanding what you *need* to understand to do the job well.
On
And then we'll *still* need developers.
If someone ever invents a language that let's people program in plain English, it will be discovered that the majority of people cannot learn English.
Last post!
My two big hobbies are computer games, and digital audio production. I spend easy that on either one of them. Like digital audio, I not long ago bought BFD3. $350 right there, and it is nothing more than a digital drumkit. I'll never make a cent on it, it is just a toy to me, but damn is it fun. That's just one set of tools I've bought, there were more in the past, and I'm sure more to come.
Or gaming, I buy new games whenever the mood strikes me, get new hardware when I need it and then of course there's MMOs. When I played WoW that was $130 or so for the game and all the expansions, plus $15/month for like 3-4 years. A bargain in my book, I got a tremendous amount of entertainment out of it.
For all that, my hobbies are cheaper than some I know. One of my coworkers is in to cars. Fuck me can you spend a lot on that shit.
Hobbies cost money. Everything costs money. That's just life.
And as you said in terms of a business cost? That's chicken shit. $40/month is hardly on the radar of a small business. When my parents ran their small business (about 4 employees) their PHONES cost more than that. Never mind power, heating, rent, payroll, taxes, etc, etc, etc. Just having the requisite number of phone lines (two) cost more than $40/month. Such a minor cost it was just inconsequential.
I have overwhelmingly observed that the majority of computer users, do not want a truly free, democratic, autonomous, or self-empowering scenario, where their use of a computer is concerned.
With computer use, we now essentially have two groups of people. A minority of specialised, elitist programmers who write software for an almost completely unskilled, disinterested, and technophobic majority; and said technophobic majority themselves.
It seems that the proverbial "owner driver," of computers (a group among whom I gladly self-identify) are becoming a dying breed. I sat up all night last night, until 7 am this morning, compiling and re-compiling sources for my new NetBSD/amd64 vm. I have found use of that system tricky; and the current install is my third attempt. It is uneven in some areas, and there are many jagged edges. Nevertheless, I am determined, and while it has been somewhat frustrating, I have enjoyed the process; to the point where I have since only had six hours' sleep, in part due to my level of enthusiasm to get back into it.
People need to understand that maintaining their freedom requires vigilance, personal initiative and responsibility, and active defense. The psychopaths are tireless in their attempts to take it away from us; and more, to convince us that we should actually want them to take it away.
Learn to program yourself; but when I say this, I do not merely mean the new languages that are popular, which will win you approval from a manager. I mean the old languages, like C, FORTH, Tcl/Tk, shell, awk, m4, and LaTeX. Learn simple HTML, and use RMS' own web site as a code example if you do not know how. Java might bring you money, but in my observation at least, it will not bring you joy.
Use the BSDs. Get comfortable with compiling something from source code. A lot of applications are designed much more smoothly than they used to be, so this is nowhere near as difficult as it once was. Get VMware Player, and install an Open or NetBSD guest. Use it to teach yourself the command line and shell scripting, and then realise that there is no reason for you to pay hundreds of dollars to Microsoft for Windows if you don't want to. You can buy a perfectly good computer from here, which has completely Free Software compatible hardware, and then run one of the BSDs natively, and dual boot it with Windows if you want. I don't hate Microsoft at all; I just think people should have that choice.
In addition to your use of Twitter, consider downloading XChat 2 and discovering Internet Relay Chat. Many open source software projects have IRC channels, so if you do start using *BSD, that will also be a good way of getting help if you need it.
In addition to your use of Reddit, get Forte Agent and find out if your service provider maintains a Usenet server. If they don't, Forte sells Usenet access at $3/month for 20GB.
I know many of you want the new, shiny thing; but voluntary simplicity is becoming a major movement in other areas of life as well, and truthfully I really think it's time we brought it to computer use as well. I am certified as a Permaculture designer, and I truthfully view use of the BSDs as being as close as I can get to using a computer in a Permacultural manner. The word Permaculture is short for "permanent culture," and UNIX is timeless.
The industry does not want independent software developers. The industry wants teams of full-time employees.
When I read what you typed I am perplexed
Exactly which industry that you are referring to?
I have had a string of successful investments in many starts-up and will invest more in the future and it is never my intention to change those starts-up into humongous monsters (although if they change by themselves I won't stop them) employing teams and teams of data monkeys
But TFA does contain a nugget a truth, that is, the so-called " Software Renaissance " is long dead - but not because of the mobile platform, rather, it was because of everybody and their granny's second cousin all chasing after the same pot of gold and copy-catting each others
Instead of exploring new fields, instead of coming up with something exciting, so many starts-up went bust trying to re-invent the wheel (and worse, trying to copy-cat the original shape of the wheel and then sell it as their own invention)
The starts-up that I invest in are those which are offering something that I simply do not see much in the marketplace, and yet, the things that they are doing (sometime it's the back-office thing that consumers don't get to see too often) prove to be essential and become de-facto in the respective niche that they have created
But if I were to take a step back, I reckon that what is happening to the mobile platform is a repeat of what had happened to the desktop (and related big-iron) scene --- which is, too many people (including geeks) are too lazy to explore a new field, rather than do something completely new, they tried to "do a better version" of what is already available in the marketplace
There are only so many improvements one can do to a spreadsheet program, for example - as there are only so many "re-invented angry bird" that the market can bare
Muchas Gracias, Señor Edward Snowden !
Writer? Am I the only one who thought that saying "writer" is a great euphemism for unemployed? This might turn out to be a great vacation that ends when he runs out of money.
Why do we call it race top the bottom and we are sad when we are talking cost of software but we call it economies of scale when we buy hardware and we are happy ?
Yeah id like to see 1000000 phones die, on day 5 of a major weather event
Liberty freedom are no1, not dicks in suits.
I want a GPS app that when I follow a route it does not "FREAK the hell OUT" when I pull off for gas or lunch. It also should pull the current weather radar and allow it to be superimposed over my GPS map so I can see if I am going to be driving into rain. We have ALL this information right now all the technology is there. Yet programmers are too damned lazy to add real features that people will want.. Instead we get crap like Flappy Bird and oh a new redesigned User Interface!
Everyone wants their own secret sauce to be kept hidden, and I want to beat them with a sack of doorknobs.
Do not look at laser with remaining good eye.