Forgot your password?
typodupeerror
Software Businesses Programming

Is the Software Renaissance Ending? 171

Posted by Soulskill
from the da-vinci-code dept.
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.
This discussion has been archived. No new comments can be posted.

Is the Software Renaissance Ending?

Comments Filter:
  • Walled garden? (Score:5, Insightful)

    by MikeMo (521697) on Tuesday July 15, 2014 @08:09PM (#47462783)
    Could someone explain to me how a "walled garden App Store" is crushing small developers? Exactly what about a walled garden does this?
  • by jcr (53032) <.jcr. .at. .mac.com.> on Tuesday July 15, 2014 @08:14PM (#47462807) Journal

    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

  • Re:Walled garden? (Score:5, Insightful)

    by Anonymous Coward on Tuesday July 15, 2014 @08:19PM (#47462839)

    The walled garden may look like it makes it easier for users to get your app, but if it's the only way most people use to get apps, then there is no diversity in ranking. With only a single option for getting users to notice you, you end up with what I call the rock star economy: Few make it big, the rest need a real job to support their art. The walled garden is a hit parade and it has the same effect on product diversity as the equivalent in music.

  • by Bill, Shooter of Bul (629286) on Tuesday July 15, 2014 @08:21PM (#47462855) Journal

    Yeah, but the missing applications require specific domain knowledge that is difficult for an indipendant without experience in that field to aquire.

  • by JustNiz (692889) on Tuesday July 15, 2014 @08:22PM (#47462861)

    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.

  • by Animats (122034) on Tuesday July 15, 2014 @08:36PM (#47462925) Homepage

    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.

  • Re:Walled garden? (Score:5, Insightful)

    by aaronb1138 (2035478) on Tuesday July 15, 2014 @08:43PM (#47462963)
    That remark is nonsense. Most hobbies require an investment in tools and materials to continue the hobby. At $8-40 / month, iDevelopment is among the cheapest of hobbies. Evening adding in the Apple tax to own a couple iShinys still keeps this well below the cost of most modest hobbies.

    If someone is trying to make a living off iCrapware, then they will certainly need to be making a good amount more than that per month to sustain themselves. Not being able to afford a fixed $40 / month cost to do business means your product is a failure.
  • by Panaflex (13191) <convivialdingo@noSpaM.yahoo.com> on Tuesday July 15, 2014 @08:48PM (#47462997)

    Amen! I'm know there were some gems in the rough, and also some amazing apps that I never saw, but by-and-large the emphasis on shiny marketing and top tens over quality has overshadowed the market for a couple of years.

    I have some genuine good ideas I'd like to throw at an app, but I'm looking at the market and I don't really want to touch it.

  • Timing (Score:4, Insightful)

    by Livius (318358) on Tuesday July 15, 2014 @08:56PM (#47463047)

    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.

  • The real worry (Score:5, Insightful)

    by phantomfive (622387) on Tuesday July 15, 2014 @09:53PM (#47463323) Journal
    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.
  • by Anonymous Coward on Tuesday July 15, 2014 @09:58PM (#47463343)

    I can name 10 apps that may not be profitable, but

    Stopped reading there. Actually, I didn't, and I weep for the fact that I could have, because all 10 apps would be great. But not one will ever be written.

    1. A GOOD pgp/gpg app can't be monetized by putting your email in NSA's cloud
    2. Moving files between cloud servers doesn't make money for any one cloud provider.
    3. That's a great idea! If you want cross-platform encryption, let's do it as a web app implemented entirely Javashit, and dependent upon six different frameworks, and it'll only work on Mozilla Australis 29.0 to 31.0 or Chrome 42.x, because browser-based cryI'm sorry, I was going to do all ten, but I can't go on, I'm laughing too hard at the pathetic pile of shit our industry has become

  • by Anonymous Coward on Tuesday July 15, 2014 @10:33PM (#47463487)

    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

  • by Bite The Pillow (3087109) on Tuesday July 15, 2014 @11:10PM (#47463637)

    Guy spends 20 years doing something and decides he would rather become a writer. Things he used to internally justify the decision, instead of being a sign to change jobs or move to a new city, are now reasons for EVERYONE to jump out of the game.

    None of your questions seem relevant, because one ex-coder is not a rigorous study with good selection criteria and clearly reported margins of error.

    In my line of work, this guy stands out as an outlier who was looking for a reason to quit. His friends are all apparently employed and doing fine, not complaining about being *this* close to losing the job, or cuts around the corner, or asking how he changed careers.

    In other words, his blog sucks.

  • by bytestorm (1296659) on Wednesday July 16, 2014 @08:02AM (#47465431)
    Maybe.

    I can design a shed and oversee or perform its construction. That does not make me an architect.
    I can design and build a model car with a little spring-and-gear engine. That does not make me a mechanical engineer.
    I can design and build a little circuit "piano" with pushbuttons and a 555 timer. That does not make me an electrical engineer.

    I can lead a team to build proposals; reasonably accurately gauge task complexity; predict completion dates and manpower requirements; define deliverables and release criteria; control defect introduction through manual and automated unit and system tasting; build accurate development, maintenance, and operation documentation; and actually write, debug, and review efficient, best-practices-compliant code for custom software exceeding 100k LOC of new code or modifications per contract, not counting software packages integrated from other ISVs, capable of reliably processing millions of financial and medical transactions per day. Does that make me a software engineer?

    Your cellphone is just a brick without software and firmware designed by thousands of developers with millions of hours of dev time, a significant portion of it in critical areas where flaws can result in physical damage, horrible performance or just plain crashing. Your car engine is controlled by a PCM driven by software, weighing in with probably multiple megabytes of code and lookup tables, designed to increase your fuel efficiency beyond what you could get with a mechanical system alone, where flaws will very likely cause serious mechanical and safety problems. The ridiculously convoluted system of wires, routers, switches, and servers that got this message from me to you is all dependent on software largely written by some team or other of developers in a controlled and systematic process and certainly not a million monkeys at random.

    Software engineering is real. Many of them are even licensed as professional engineers now. Your conception of who they are, what they do, and their importance to your way of life appears to be flawed.

There is no distinction between any AI program and some existent game.

Working...