I think that there is a great deal of trust implied by the actionably ambiguous statements she uses for AC. In an environment where trust between 'client' and development team is not ideal, I find that empowering the business owner to be more prescriptive with AC to be helpful.
In those situations I encourage AC of the form:
The payment form must contain fields for email address and name.
The payment form just match the visual mockup.
When I post a request with data X the response must be returned as JSON
It helps the engineers know what they business owner will test to validate completion.
I completely agree and came to make a similar comment, if intentions were left that ambiguous for us we'd get eaten alive by contractors... I don't mean to but I laugh and think, wow this person has very limited scope of experience.
Indeed. I could help but think, "If the customer wants that button labeled 'Check out now' then the AC had better have that in it and not just 'a button'."
The reaction to this seems awkwardly negative when contrasted with the praise that gushed for Amazon's Alexa products. I am having a hard time tracking why folks seem to feel so differently about google and Amazon having similar access to personal information.
People have a very different perception of their relationship with Amazon (and, similarly, Apple) and their relationship with Google.
Amazon sells you stuff in exchange for money.* This is a clearly understood type of transaction that people understand.
Google gives you stuff in exchange for being able to "sell your eyeballs" to third parties. And, most people actually believe that Google sells your data to those third parties, even though that's not the case, which gets at the fact that this model is not as well-understood.
As far as hardware design:
Echo provides a clear and prominently-placed button (right on top), with an LED light indicating when it's muting the microphone; when the button is active, the entire indicator ring also lights up. This button has equal prominence with the button that can be used to manually activate Alexa. The existence of this button was highlighted when Amazon introduced Echo.
Google Home places the button on the back side of the device, when there is clearly a "front," as defined by the tilt of the top surface. The existence of this button was not highlighted in the introduction at I/O.
* Yes, Amazon also runs an advertising network. Most people don't really know this. And it's a very, very small part of their business.
Amazon sells you things. Google sells your information indirectly to other people who want to sell you things. There's a lot more cultural acceptance around the first business model because more people interact directly with those who do it.
I hope that anyone who incorporates this concept into their AI also measures the number of mistakes which become heuristics and biases in the AI. I would hypothesize that there is a link between the willingness or ability of the human mind to learn this way and the propensity to accept ( even DESIRE ) an answer to a question that, in truth, there is not adequate information to answer correctly.
This tendency leads to both helpful and dangerous heuristics and biases. From these biases humans build false beliefs that are damaging to themselves, their communities, and in the long run the species as a whole. If AI is about enabling humans to do more and better, should we not accept the failings of the current technologies in favor of assuring that they do not fall prey to the same biases and heuristics that lead humans to slaughter each other over the religious dogma of the past, destroy the environment with impunity, and accept ideas that 'feel' correct over being correct?
A reason to fear human AI would be that they would realize how destructive humans are and how little they perceive us necessary to the evolution of the species.
You make a point that really needs far more consideration. Do we really want human AI? It strikes me that the very notion of a human like AI at exponential capacity is a terrifying thing not for its potential for advancement and good, but for its potential for falling for the same fallacies that humans fall for on a regular basis and are mostly relative as is. Humans are wildly imperfect even, and especially when they think they are correct or right. That does not sound like a characteristic I would want an AI system to have.
The author seems to ignore the fact that eastern traditions made just such a separation long before 550bce. It would have been more correct to note that this research was limited to western 'classical' thinkers.
I felt like this article actually begs a bigger question, why don't we tell each other how much we make? I get the sense that because we keep this so extremely private, it makes it so much easier for the class division between the wealthy, the 'middle class', and the poor to continue to grow.
If everyone truly understood just how much less the 'rich' people they know earned than any of the 700,000 or so folks in the global elite, would we still be having the same sort of disdain for progressive taxation?
>> But if that’s so, then why do most engineers, even the good ones, stay put at their full-time, salaried positions?
Or because you have to spend an egregious amount of time doing biz dev, and accounting, and software, and PM work, oh and don't forget about Wives, Families.
Tokyo, New York, San Francisco, Chicago, Philadelphia, Austin, Nuremberg, London, Boston, Ogaki, and anywhere else you can convince a business owner or decisionmaker that you're solving a problem worth $X for some price which is $Y where $Y is less than $X.
There are projects which have the technical complexity of the Rails 15 minute blog demo which are worth $100k to the right business.
Concrete example: for example, the central SEO tool for Bingo Card Creator is "a purpose-built CMS which is superior in only one hyper-specific way over WordPress." (WordPress doesn't have a "turn this blog post into a bingo card" button. BCC's code does.) That tool comprises about, hmm, 500 lines of code. It has a crank attached to it that can be turned by anyone who has done teaching. That tool plus $3,000 of teacher time equals more than $200k of software sales. BCC is very much not the only software company in the world that can get that scale of benefit out of that scale of software complexity.
Or, lets see, you know ActionMailer? You know Rake? You know cron jobs? You know how you could have a cron job fire a Rake task which would send an ActionMailer email? That plus a few hundred words of copy plus a three line if statement can increase the yearly recurring revenue of some businesses by 7+ figures. You can charge $150 an hour if you can write that if statement given a description of the desired behavior. You can charge $30,000 a week (representative number, not a ceiling) if you can people what that if statement should say.
Back when I was a consultant, Rails was one tool in my bag of tricks and most of my clients were B2B software companies. It is very much not the case that B2B software companies are the entirety of the solution space for "clients who a computer system could make a shedload of money for."
A rate like that has little to do with "CS complexity" and everything to do with selling a solution that makes the client better off than they were without said solution.
I'm in near-rural Virginia and my last hourly consulting rate was over $200, and I'm not anything close to being an amazing Ruby developer.
Did you quote that hourly rate to the client ($200/ph and I expect it will take x hours), or did you quote a total for the deliverable?
What was the source of the client? If they went looking for a 'programmer', I'm curious why they weren't (like many others) lured by others who are cheaper per hour but worse in every other respect.
Whether I was billing by the hour or the week, I always estimated in a ballpark number of weeks a project would take, which translated to an estimated budget.
I think my current job will be my last salaried position, at least for awhile. I have a broad range of technical skills and can talk to potential clients, but have always been a bit nervous about taking the plunge (Where will my next client come from? Will I just find cheapskates who want some website for $500 total? Etc.)
It's not about the technology used. It's never been about the technology. You're selling yourself. You're selling your track record. You're selling you.
It's always about the solution and the peace of mind you bring to the client.
In those situations I encourage AC of the form:
The payment form must contain fields for email address and name.
The payment form just match the visual mockup.
When I post a request with data X the response must be returned as JSON
It helps the engineers know what they business owner will test to validate completion.