I do not like this narrative at all, and it's becoming pretty common. Do you imagine a doctor saying "Don't worry, in 2020 most physicians won't be doctors, they will be engineers, teachers, farmers, executives"?
* The majority of doctors are self-employed
* Farmers are, by definition, owners of the business
* Executives tend to be large stakeholders in the companies they manage
Institutional school teachers tend to be employees, although I'm not sure about all teachers. However, I did have at least one high school teacher (from years ago) tell us that in the future people would learn on demand over the internet, which is coming true, and largely being provided by people who do not have teaching backgrounds.I expect programmers also tend towards being employees, and thus there is a strong interest to automate/eliminate that work.
Too bad all those engineers are going to be farmers by 2020 though. Because when your prototype gets popular, I doubt Bubble.is can handle all the things that actually make your app run at scale (the deployments, maintenance, database, etc management programming that is really what makes apps like Twitter run .. not just the tiny html/css/js stack that the client plays with).
Today, only about 20 million people[1] are building software for over 3 billion internet connected people[2] (and even more who can get access to software in other ways). That's only about 0.6% of users contributing to the rest. Tools like bubble.is are not replacing the very scarce resource of software engineers, they're just vastly expanding the bubble (har har) of potential developers.
The world will always need people (or at least creative robotics) capable of designing and building hardware as well as the software that interfaces with that hardware. But the amount of resources spent on those critical systems will be minuscule compared to the resources spent building very custom things on top of it.
It's sort of like how you may be able to build your own computer at home with pre-made components and plug it into the wall and have it start up, without having to know how to generate the electricity required to run it, or how to make the hardware components.
In 2020 farmers may very well be building their own application, and if that is the case then most likely the number of people using these "WYSIWYG" tools will outnumber the kind of software engineers we see today. I personally think 2020 is a bit optimistic, but it's clearly the direction in which we're going.
[1] http://www.techrepublic.com/blog/european-technology/there-a... [2] http://www.internetworldstats.com/stats.htm
This change doesn't necessarily mean there will be much more higher quality content on a global scale, but it will definitely increase the amount of content and shift consumption into narrower scopes by providing many specialized solution rather than one monolith solution for the problems out there.
Of course, as a lot of people are pointing out, this approach doesn't scale very well. To be fair, neither did the original Twitter, and it was built on Rails. They're different levels of scale, but if all you really need is a proof of concept this could solve the "How do I find a CTO so we can build a quick app and see if anyone cares?" problem.
I'd be careful pitching it (yet) as a "we'll never need engineers again" product, as I don't think that's the case; it is incredibly slow, and it errored out for me three times (http://take.ms/iwa9W). I still haven't been able to get in.
Being optimistic, it might just be a hosting problem.
For those who are wondering if its just a login page: you can register an account (login is automatic on registration, and email verification is not required). The entire UI is almost exactly same as twitter.
Link to the framework used: https://bubble.is/
That's quite a nice thing to read. I hope more people start committing to this.
EDIT: To clarify that, I don't mean that in a nasty, snarky way. VB drove a lot of business software and got huge numbers of people writing software, many of whom weren't employed as developers.
The most common reason for failure I've seen seems to stem from the idea that a website requires a developer due to a website requiring massive amounts of meticulously written text in an esoteric language; by replacing this text with a graphical interface, a website no longer requires a developer who understands how to write this text. Experience leads me to believe a developer serves a much different purpose in building websites.
Consider applying this logic to another problem, such as writing. If one builds a tool allowing non-writers to drag correctly spelled words and punctuation onto a page, then a non-writer now has the ability to write gripping novels, impactful research papers, and influential editorials -- and they can do this without knowing how to spell. This doesn't make sense, of course, since writing a book requires a certain understanding of how to communicate effectively, an achievement demanding a much more clever tool.
Much like writing a book, writing software also demands a much more clever tool than a graphical, drag-and-drop interface. Developers understand more than how to write text in odd languages; they understand how to solve problems. Creating a graphical interface for building websites doesn't remove the necessity of a developer. On the contrary, it creates more jobs for more developers who specialize in building applications using a drag-and-drop interface.
Or to translate to your analogy: there might have been a lot of brilliant writers in the world that simply never learned how to write, or they never had access to distribution so the only person who read their masterpiece was themselves. Today, with the Internet and computers and better access to schools, we have a lot more writers. There might also be more lower quality content because the bar of entry has been lowered, but I'm absolutely sure there will be a lot more high quality content as well.
It doesn't need to scale especially well for the vast majority of customers. If your first reaction is "this doesn't scale" or "this doesn't eliminate programmers" you have to be a professional point-misser. I'd want to see how intuitive the interface for making this is but it's cool stuff, and as it matures I'm sure will only get more interesting.
If someone doesn't want to dig in to building something for themselves they won't no matter how easy you make the tools. WYSIWYG editors have been around for decades but programmers still have a job. They've gone from writing crazy cobol to doing .net but they are still doing it.
On a serious note, cool product but we've seen many many many of these sorts of platforms before. They never work outside a niche market simply because programming isn't about typing, but assembling logic.
Yay for frontpage 2.0. All this seems to do is make it easier for people to not better themselves. "What's this? I can make a website without having to learn anything?! Great! Let me put a million animated gifs on here!"
Yeah, that worked out great for FrontPage didn't it?
What product manager wouldn't like to be able to quickly test and iterate on concepts without bothering the developers?
I feel like if bubble.is can nail this, in a year 90% of "Show HN" product launches and new ideas on Product Hunt will be built with this tool.
It's the new and better launchrock as it's actually a reflection of the product.
I'm sure this is not the tool, but I'm also sure that when the tool comes along that busts this open most developers (including myself, in all likelihood) will fail to recognize what it can do and will mock its intentions, just because that's the way we humans work. So, in closing, I leave you with the lines of an old Scottish folk song:
If it wasn't for the weavers, what would ye do? Ye wouldn't have your clothes that's made of wool! Ye wouldn't have your coat of the black or the blue If it wasn't for the work of the weavers.
A confident bunch, those weavers :).
There are engineers who seem to be focused on the mere plumbing behind applications: DBs, ORMs, web frameworks, REST, SOAP, you name it. When asked to implement a particular solution to a real world problem these developers tend to first argue about whether to use PostgreSQL, MySQL or WhateverDB without even trying to understand the actual problem first. I know this sounds very clichéd but quite a few developers seem to try very hard to live up to the cliché.
Believe it or not, in some areas this attitude is almost pervasive. I'd say it's the main reason why recruiting freelance developers mostly works by recruiters matching TLAs instead of developers pitching their services to clients directly (like design agencies do).
Anyway, this kind of developers might indeed have a hard time finding a job in 5 years but there will - save for a possible technological singularity - always be the need for people who can fathom a real problem and design a solution.
http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
The hard bit of software engineering is not knowing the syntax and typing the lines of code, but the design and problem solving, that abstractions can't solve.
You can make it easier to produce software with better tools, but the fundamental intellectual requirements of software design and implementation will never go away (until you have AIs genuinely powerful enough to write code themselves)
Maybe this could be a good thing in the future for simple prototyping (to show off to investors, not a general public kind of thing) but the bubble.is pricing advertises "Grow" "Scale" and "Flourish" plans for $460, $1700, and $4200 respectively.[1] I would definitely wait until the architecture here becomes more advanced before trusting them with your entire app.
I noticed their architecture was built on JS. JS is a pain in the butt when it comes to sandboxing. Either you run multiple contexts in a V8 engine that can crash each other if one OOMs, or you start up a new process for every instance. Single-threadedness is also not fun to deal with, in terms of efficiency.
(Yes, I've explored building a service like this on Node.js. I summarily discovered that it's probably not the best plan.)
That said I am totally in favor of the "in 2020 most programmers won't be engineers, they'll be [whatever trade uses programming as a tool]". Empowering the users should be the number one goal of every system builder, whether it is via simpler systems (as seen on mobile), more accessible interfaces (from colorblind to sensory to kinetic disabilities), or powerful coding (R, NumPy, iPython, Matlab, Mathematica...) or non-coding (Hypercard...) environments.
Build apps without coding - since the 90's.
If any of the site's devs are browsing the comments, you might want to address this problem I found while navigating the site: http://imgur.com/h0iUIVw