I once worked with a guy who embodied the "grumpy old man" (we were both just out of college btw) attitude for every new, cool thing I brought to his attention. I kept telling him that in order to stay relevant as a programmer in the foreseeable future he would have to stay on top of technology and keep his chops up outside of the very mundane engineering work that we did at that company. He would flatly refuse out of hand and say things like "Someone who only knows COBOL for 40 years will still have a job". It frustrated the hell out of me at the time, but he's probably right. Not saying you're guaranteed a great job or be making google-level salaries, but you have to try pretty hard to become completely irrelevant in technology. There's a huge long tail of boring business coding that happens every day, and that world as an aggregate whole doesn't change very much.
If you have even enough interest to be on this website and explore things like App Maker and question things like this, you're going to be just fine :)
I have a colleague, a graphic designer who is nearing retirement age. Every time Adobe announces a new software tool, she's partly excited, mostly terrified. Adobe likes to show how newbie-friendly these tools are. One click here, another there, and...project is done. She pays money to visit these demonstrations at conferences. Then she watches on, imagining her billable hours being redirected to an intern, the client's nephew or someone like that.
Usually the terror gets a sort of beachhead in her mind, and for a while my colleague bears the cognitive cost of this "well there's no need for me anymore" anxiety. It's really sad to watch.
> There's a huge long tail of boring business coding that happens every day, and that world as an aggregate whole doesn't change very much.
This is so true. I wish everyone fearing for their career due to new tech could understand it. Braided into a broader whole of business process you've got huge loads of necessary mental capital too, like the ability to deliver on multiple deadlines, the ability to set healthy boundaries, set proper budgets, and communicate well with others. My colleague has all these things; if only she could see new technology is only a small part, and overall a very forgiving part that needs humans like her more than we might think.
Her customers are the people who want someone to "make this work" and who don't want to mess with it themselves any more than they want to buy a big chest of tools and do their own vehicle maintenance.
Her customers are not the skilled amateurs now getting better tools. Her customers are the business people who already have too many things to do and aren't looking for ANOTHER project to add to their plates.
edit: minor phrasing
Not at all actually. There is a ton of demand for light code app builders (waves hand) for simple CRUD stuff in most businesses. These apps are usually cost prohibitive to build and maintain, so things App Maker make a ton of sense.
Agreed. I don't know how it is in other countries, but most currency exchange offices I have seen in Romania use FoxPro software running on an MS-DOS equivalent. I haven't used FoxPro in the last 20 years, but some people still make a living with it.
[Now that I think about it... I have actually written a small program in Visual FoxPro last year to interface with a .NET application... huh.]
This is true, but there are a few caveats.
The one that I've been running up against most recently is that a lot of this new-fangled stuff does not really have a strong value proposition, and I personally do not want to waste time on it.
This has become especially true since "cloud" hit critical mass. Junk seems to get generated 20 times faster than it used to and see much wider adoption. GitHub profiles are now status symbols and everyone feels a need to have a bundle of their own showpieces to display.
A lot of the fads are totally perplexing, from the perspective of an engineer who is more interested in building a robust system than padding his resume. JavaScript on the backend (or, even more horrifying, the desktop)? Single-page app frameworks like Angular for everything, including very simple pages? Why?
Yet, it's hard to find a web-oriented position that isn't asking for a background with some SPA and some Node.js. Maybe it's a fad, but it's still going to impact your job prospects.
The takeaway: stay on top of fads and new tech, even if you resent it and think it's really dumb.
I had the same experience with Rails; I hated so much about it and put off getting serious experience with it for 4 years or so. Turns out I still hate it after years of usage, but it was much easier to find work, both as an employee and a consultant, when I had significant experience in the fad.
Didn't matter that I was learning all kinds of new tech that I thought was interesting. As much as one may hate it, it's usually best to bite the bullet and ride the market's waves.
The most frustrating one today is Kubernetes and Docker. Ansible was so beautiful. I hate Docker with a seething passion (not necessarily other container systems), and I see Kubernetes as a very rough toolkit for people who have Google-scale problems that no one should be trying to make for themselves.
Other caveats:
* sometimes techs DO go extinct. Though COBOL is not quite extinct yet, I've known COBOL coders who have gone years unemployed (that doesn't happen to anyone who knows a language/stack still in wide circulation). A small niche has pros and cons, and one of the cons is that the supply:demand ratio is fickle, and may not always be in your favor.
* It is very rare that your technical qualifications will be so unique that they will take precedence over your personal and political qualifications. This is something most developers try to dance around, but the fact is that tech is ultimately run by people, and they want to be comfortable more than they care about that loop's runtime. If you're looking for something that will confer huge career benefits, the odds are that improving your people skills will be more valuable than improving your technical skills. This is almost universally true. It's especially true if you think it's not.
Most of the application stacks I see that are popular I think of as being invented by people who didn't bother to look around at what had already been tried and rejected by the previous generation.
Caveat I don't build apps that need to scale to millions of users.
But I think you should re-consider Node.js. JavaScript is based on an ECMA-specified (ISO-adopted even) language with at least three major implementations, plus smaller (yet still highly regarded) ones. The Node.js API is (loosely) based on CommonJS which is as good as it gets in terms of a community API standard for JavaScript.
Genuine question. I'm not a fan of it either, after working with it for two years, but I can't quite explain why. Maybe it's the "magic" aspect of it, since so much is convention, DSL, and hidden away.
The best ones, then, tend to be the ones that have been around long enough, or had enough foresight to have covered various corner cases.
The other issue is that most of them have "per user / per month" pricing, which doesn't work for many use cases. Things like, for example, an applicant tracking app. If you use the functionality to a high degree, every job applicant is another end user license.
Two of the better ones: http://quickbase.com & http://ragic.com
Other ones I've seen: http://caspio.com, http://knack.com, http://fusio.com, http://trackvia.com/, http://podio.com, https://www.zoho.com/creator/, http://airtable.com, https://getzenbase.com/, http://www.zenginehq.com/
One of the more promising ones was DabbleDB. Twitter acquihired them and shut the tool down. It had a very smooth UI: https://www.youtube.com/watch?v=MCVj5RZOqwY
One I hit in many of the tools was lack of a good UI widget for select fields that have lots of choices. Something like a combobox with autocomplete.
Maybe he sees pedestrian get shot on the street while he walks to his desk and smiles. Maybe a chair screeches on the floor, reminding him of the screams of some kid five years his junior he was beating up in high school. Maybe he cuts his hand on the edge of his giant mahogany desk and the drop of blood fondly makes him remember the thousands of children whose families he sucked dry, and condemned to abject poverty at his previous bank job, reveling in their inescapable fate. We will never know. An epiphany happens.
Then he proceeds to phone up some lead architect and asks the question "don't we fully control the data that these cloud 'customers' think is theirs" ? He likes the answer so much he fires the lead architect on the spot.
And his eyes twinkle.
I've saved countless hours by doing as you suggested - only using the tools that have matured, where all standard questions are already answered on stackoverflow and common corner cases are covered.
So when I see Google App Maker, my response is "cool, this might be something I can use in a year or two, let's see."
Sometimes the wall is the data model, or the construct they give you for navigation, access control, roles, etc.
Something like freeform javascript that executes in the client would help a lot, because you could patch around limitations in many cases.
We are looking at a number of these rapid development tools. Hopefully google opens it up soon before we select a different one.
I'd be curious if this platform has sticking power. Google rolls these sorts of offerings out from time to time and then shuts them down. If I knew there was a couple years of runway for this offering my fears would go away.
I have no idea if it worked, but at least that way it does something. Per default, the form just doesn’t do anything for me.
1. App Maker developer wanted to create App Maker Apps .
2. Web developer needed to transition our App Maker App to a javascript / python / ruby standalone project.
And a lot of my best freelance jobs recently have been for companies not traditionally in the tech industry who had a new idea they wanted to pursue, proofed the concept with a Wordpress site, and then once they had some degree of market validation, needed a developer to build it into something more robust and customizable.
The question is really one of execution (and remaining modern). Too generic and it lacks a killer app. Too specific and it hides of a niche.
What I have seen is non-programmers getting enough power to get overconfident only to wind up with a mess.
These type of applications make it super easy to do 85% of the work. Unfortunately the remaining 15% often turns out to be impossible. Additionally when requirements change (and when don't they?) there often isn't the flexibility needed to make the changes.
The last thing I've observed is when something goes wrong if the person can't drill down into the internals and make adjustments they are just plain out of luck. I've seen this with both Access and Lotus Notes. Companies struggle with bugs for years. I've had a fair share of work re-writing these type of applications into web applications which finally do what is really needed without issue and can be changed when required.
In short I'm not concerned. Seen it before. Works for very simple apps, blows up spectacularly when something non-standard is needed. And this makes work for me.
Maybe this time it will be different but I really don't think so.
App Maker < App Engine < Container Engine < Compute Engine (VMs)
So pick your poison for the business problem at hand. Don't host your blog on a dedicated VM. Don't use App Maker for training neural networks.
- speech recognition so that you tell what you want
- LEGO blocks for simple things that can be composed and adjusted by voice or AR gestures
- large amount of working code so that "glue" between blocks can be inferred using ML/DL
I am pretty sure App Maker 2.0 will have at least 1 of these finished.
It's funny 3-4 years ago when I first started to learn web dev, I had a lot of ideas that I thought would be "viral/make money" but now I have hardly any... a lot of my ideas back then were pretty dumb too looking back at it.