You might fairly consider this an insignificant anecdote, but: I have rejected people for contract work because they insisted on retaining copyright, sometimes on this basis alone.
Here's my problem with using quicksort at interview:
A developer who writes an implementation of the quicksort algorithm as part of their job should usually be removed from their post for incompetence.
The interview process should be a two-way procedure which also allows the candidate to understand what is expected of them in a role (and make their decision about the job accordingly). If regurgitating quicksort is expected, then this is a fair test: otherwise, this is not how you should be presenting the job.
> Unrestricted labour movement will mean you get paid average if you are average.
There are quite a lot of assumptions in this statement. You assume an efficient market (something that does not and probably cannot exist at scale, if at all). You assume information equality, which is the exact opposite of actual practice, you assume the people who make the hiring decisions have some means of separating the average from the above or below average. In practice development skill is a completely separate and unrelated skill to marketing (of one's self). Ability derives from the former, salary from the latter.
So no, unrestricted labour movement most definitely does not mean you get paid average if you are average (not that I care about this anyway: I think all developer pay should go up across the board). What it will mean is employer perception will be that they should be able to get even better talent at even lower prices. And since employers can wait literally years to fill positions and people can rarely go more than a month without a job, this will certainly drive salaries down even further.
Of course, one could imagine that eventually everything would become more efficient and companies should recognise that better developers cost more. But how many companies actually care about having better developers? For the majority of IT jobs, the hiring company doesn't care about developer quality, they care about costs. If development takes longer, so what. Everyone else in their market will be working under the same constraints so it doesn't matter.
There's a dichotomy here on HN:
Best marketing practice generally praises upselling and A/B testing conversions to increase sales and profits.
But, taking these to a natural conclusion typically results in exactly the Dark Patterns we see here: where users are tricked or misled into agreeing to things they might not if they were offered clear, open and full disclosure upfront.
We can identify dark patterns - but in many cases, these are here because they work. At least, large international businesses such as RyanAir believe that they have a positive outcome which overwhelms any damage to the brand.
I would like to know: how can we resolve these two ideas and run ethical but viable/competitive businesses?
> I would like to know: how can we resolve these two ideas and run ethical but viable/competitive businesses?
All other things being equal, you can't. If there are dark patterns that empirically do increase competitiveness in the market of interest at the cost of violating things you hold to be ethical principles, you aren't going to be competitive without employing them unless you have some other non-duplicated market-relevant advantage that compensates for the disadvantage of ethics, unless you can change the market context to eliminate the effectiveness of the dark patterns.
I think you're right here, but the qualifier "all things being equal" can't be taken lightly. Rarely if never are "all things equal." I also don't think a shift in the market context is necessary. We already have a market place where people who feel tricked or duped will have a lower opinion of the company doing the duping. dark patterns have a bad edge to them too--very few of them, when noticed by the user, leave the user actually feeling good about how they were duped.
This kinda reminds me of the talk PG gave at 2008 start up school titled "Be Good." (http://www.paulgraham.com/good.html or https://www.youtube.com/watch?v=q7K0vRUKXKc) He outlines many ways why it's not merely ethically appropriate to be good, but also a strategically superior approach to running a startup. Ease of use, simplicity, trustworthiness--these are important qualities of a biz's reputation, both internally and in public perception. And Dark patterns tend to harm that reputation.
Edit: Addendum--obviously there are monopolies or monopoly-like situations where reputation isn't important.
> I also don't think a shift in the market context is necessary.
If the dark patterns empirically work, then a market context shift is necessary.
> We already have a market place where people who feel tricked or duped will have a lower opinion of the company doing the duping. dark patterns have a bad edge to them too--very few of them, when noticed by the user, leave the user actually feeling good about how they were duped.
If they had enough of a "bad edge" that they didn't actually work to increase the returns realized by a business--then they wouldn't be an issue, as there'd be no incentive to use them.
1) Dark patterns do empirically work, that's the whole point.
2) Market won't magically shift - they work based on homo sapiens basic psychology, and that won't change so soon. However, dark patterns can (and are) reduced by making them illegal - effective consumer protection / truthful advertising laws can mitigate them. For example, if 'I agree' opt-out boxes are legally considered invalid, then it makes sense to use opt-in subscriptions; similarly for other [mis]representations.
Sometimes the "bad edge" effect is cumulative over time. This can lead to a new entrant to the market suddenly gaining a lot of market share, because so many people have gotten fed up with the dominant player. So maybe the dark patterns work well, until suddenly they nose-dive, because everyone's switched to the less annoying alternative.
A/B testing only tells you what works today, not what's going to keep your customers satisfied in the long run.
Dark patterns confuse the user in to spending money, whether they want your product or not. A/B testing communicates the value of your product, and the customer wants to give you money.
A/B testing empirically measures the value of any technique to improve the value being optimized; if you the value you are optimizing for (based on what it is you are measuring in the A/B test) is not "effectively communicates the value of your product", but, e.g., "increases conversions", then dark patterns which optimize the value sought (increasing conversions) by "confusing the user into spending money" will be favored by A/B testing.
There is nothing intrinsically favoring honest communication or opposing dark patterns about A/B testing.
I would like to know: how can we resolve these two ideas and run ethical but viable/competitive businesses?
There is no way to "resolve" the fact that there are always ways to make money unethically, there are always people taking advantage of them, and if you are a human being you will always feel a twinge of regret and unfairness that you can't join in the fun.
Is that really a dichotomy? Tricking or misleading customers may increase conversions and upselling, but you don't need to do that to achieve that goal. Instead you can offer legitimate value and information that might help a customer make such a choice.
That doesn't stop them from adding dark patterns on top. Acting with business interests in mind, airlines are practically compelled to add dark patterns.
Other airlines have moved towards RyanAir's model, not away from it.
I find that frightening, as an ethical person who wants to run a business.
They add them because people most often choose the cheapest flight.
Lets say you have two airlines that both need to offer a flight for $300 in order to make a reasonable profit. If one shifts $15 of that cost to bag fees, then people will choose that one even though the end cost is the same. The other airlines have to follow suit or they will fail to stay competitive.
RyanAir is not the dark pattern. The tricked-into-insurance aspect is.
Your comment was regarding conversions and upselling (purporting it as a dichotomy to do those yet deride dark patterns), yet neither of those ever need dark patterns -- if you have a compelling pitch that makes the customer knowingly and intentionally choose the option, you have legitimate business gains.
Then I guess you would have no problem giving him (or anyone else) a read-only access to all your mail that doesn't mention authentication data (passwords and such)?
Or a read-only access to whatever online service you're currently using?
I am not sure of the pedagogical benefit of what is being described here - a separation of arithmetical and algebraic thinking at the level of school mathematics.
By the distinction that Prof Devlin tries to make, primary school subtraction is typically taught/learned in an 'algebraic' way (logical reasoning to invert addition).
This makes it difficult to understand what he is trying to say.
I most strongly doubt the claim that students who are strong in arithmetic find it harder to learn algebra. It's obvious that students with good arithmetic skills are more quickly able to find value and purpose in algebra.
It may be taught that way, but do kids learn it that way? Kids learn a bunch of "facts", and are tested on their capability to repeat those facts in a timely manner. Then they are taught rote-level procedures for combining those facts in order to do arithmetic on multi-digit numbers. The fact that subtraction is the opposite of addition gets demoted to "interesting bit of trivia".
For most school kids, algebra is the first place where the art of mathematics comes into play: where you are given a problem, and are not told specifically how to get from here to a solution. You have to figure that out yourself with the aid of mathematical tools.
For most people, who aren't used to the art of logical thinking, that is crushing.
Slightly tangential, but every time I work with someone on basic kinematics and they say, "Oh, well, if I just flip the sign from positive to negative, I get the right answer! I'm done!" a little piece of me dies.
It's like... you're not even trying to understand the concepts, are you?
I think this is hard because it's not immediately obvious that direction is such an important concept in kinematics.
It's probably the most important thing to get across when teaching the subject, but you have to battle against prior knowledge:
Math students (that is, everyone) earlier learned that this sign-flipping strategy is ok and perhaps an encouraged shortcut when e.g. subtracting.
(see also that Khan Academy video - "first do the multiplication, then think about the sign")