That doesn't seem entirely true. If most people didn't need money to live, they would be less willing to sign up for "bullshit jobs", meaning employers would have to provide more enticing compensation, potentially resulting in a reduction in people working such meaningless jobs.
In other words, the job market is currently supply driven, but that is due to the fact that demand is inelastic -- everyone needs money to live.
ETA: There is also an indirect effect through public policy: politicians will not want to pass legislation that reduces the number of jobs, since that would increase unemployment figures, making them look bad. Of course, the fact that high unemployment figures are bad is a result of people needing to work to live.
Personally, I have read the abstract alone, and was pleased to see it nurtured my own preferences: static typing is better, strong typing is better. But then I saw this disclaimer:
> It is worth noting that these modest effects arising from language design are overwhelmingly dominated by the process factors such as project size, team size, and commit size.
So I dismissed the paper as "not conclusive", at least for the time being. I wasn't surprised if their finding were mostly noise, or a confounding factor they missed.
By the way, I recall some other paper saying that code size is the most significant factor ever to measure everything else. Which means that more concise and expressive languages, which yield smaller programs, will also reduce the time to completion, as well as the bug rate. But if their study corrects for project size, while ignoring the problems being solved, then it overlooks one of the most important effect of programming languages in a project: its size.
But seriously, I'm not sure writing the stuff in assembly can also optimise simplicity and manageability. Though we are talking about the obsolete X86 architecture here. More reasonable hardware will likely be easier to compile to.
I think it would be more accurate to say that people vastly underestimate how they actually value their own privacy.
Remember the Holocaust? Well, one thing that helped was an initially mostly harmless ethnic census conducted by Napoleon. Then the Nazi got hold of that data, and used it. Oops. Not that you or your descendants actually risk being put down in the gaz chamber because you turn on your TV, but there's a whole range of nasty stuff that can happen between nothing and summary execution.
Good luck trying to convince people to merely get rid of their government. We need an alternative, and the mere lack of government is not it. It will be perceived as chaos, and few people actually want chaos.
In other words, even if we don't want rulers we still need rules. We need a system. Actually, we will have a system, anyway. even "no system" is a system. It's just not clear how it would actually work at the moment (possibilities ranges from "Libertarian Utopia" to "mob rule", including "gang rule" and "local warlords").
We keep having to tell people that having no ruleRs doesn't mean having no ruleS. If by "no system" you mean "freedom", that's fine with me. Sure, we need rules and negative consequences for breaking them, but that does not require rulers.
You're different from that straw-man libertarian I once met.
"Freedom" is an ideal, not a mechanism. The question is, which mechanism promotes freedom?
Personally, I currently bet on democracy. Not representative governments, but democracy, which we don't currently have. Like in ancient Athens, where people where chosen by random trial, instead of elections. (Plus a host of checks and balances, before during, and after whatever short mandate was given.)
Freedom just means that no one forcefully intervenes in your life, assuming that you're not harming anyone yourself, of course.
Demoracy is just mob rule. You'll find it unacceptable any time you're being forced to comply with what the majority wants. You know most people are idiots, right? You don't want idiots making decisions that affect your life. Does that help?
And, how would we make that happen? How, once you remove the rulers, do you prevent new ones from rising up? How do you prevent companies from flooding customer under a wealth of irrelevant information? How do you prevent things like cartels, now that there is no regulator?
It's all well and good to postulate a free society, but do you have any idea what a free society actually looks like? (Neither do I, by the way.)
A tiny elite can't rule over millions if the millions are opposed to being ruled at all. Today, no one sees governments as the rulers they are, but everyone considers dictatorships illegitimate.
But from our point of view, what's the practical difference between being forced to comply with a King's royal edicts and being forced to comply with a bunch of politicians'?
Cartels can't be maintained in a free society. We know everyone participating in one is a scumbag, and the more lucrative the cartel's position is, the more motivated the participants are to betray the others (because there's lots of room for competing on price and taking away all the captive customers, thus making shitloads of money).
Or, the rest of the cartel can launch a denigration campaign against the defector, or poach the defector's employees, or other shady means that money can buy, even in a "free society". And of course, I wouldn't rule out outright criminal behaviour. I recall being told about a board meeting where they discussed triggering an "accident" to get rid of polluting chemicals, because it was cheaper than abiding to the countries safety laws. Totally illegal, very expensive if they get caught (both for the company and the board submerse themselves), but still within the bounds of a cynical cost/benefit analysis.
Cartels are a difficult thing to break. The light bulb cartel for instance still exist, even though it has officially been dissolved: light bulbs still only last a couple thousand hours, despite the existence of designs that can last 10 times longer. (Heck, that's one of the few things the centrally planned economy of the USSR got right: long lived light bulbs.)
Strength lies in numbers. Fascists knew that, popular movement know that, and cartels know that. Betraying the cartel is to fin yourself alone. The financial incentive may not overcome the need to be part of the same team. And sometimes, as is the case in the light bulb industry, it is not clear that you could actually take away the cartel's customers: light bulbs are fairly cheap, at face value. It's the planned obsolescence that's the real cost, and that cost is not disclosed to the customer.
You can only make your purchase decisions based on what you know. If the cartel is based on deceit, rather than on price regulation, it can be difficult to convince people based on durability concerns. People don't care about sustainability, because of hyperbolic discounting. (Why do you think we're trashing on the planet with little regard for future generations? It's not because of our rulers. It's because we just don't care about the future as much as we should.)
How would the remaining cartel members cause harm to the defector by badmouthing him?
If the guy is selling X for half the cartel price, and can point to the cartel members and tell people how they've been screwed by them, what do people care aboit what the cartel scum is saying anymore? Nothing. They'll just buy X for 50% cheaper. You know you would too.
Who are trashing the planet? Ordinary people, or big corporations who've paid politicians off to let them pollute? What about militaries all over the world? Do you really think ordinary people are the problem here, or govts the solution? Really?
It's not just about price. It's about quality, durability, planned obsolescence or lack thereof, external costs (like pollution overseas or child labour). Many important things that are often hidden from the customer, preventing a fair evaluation of the true price: total cost of ownership, including external costs.
> Who are trashing the planet?
Everyone of course. Some people more than others, and as you suggested, some people are more responsible than others. But in the end, we're all caught up in this system. Heck even writing and reading this comment takes energy, and sits on top of one of the most polluting industries (computing).
Separating the library does not remove dependency because library version change affects both primary components so the change requires coordination. This is really fundamental in large systems and I was hit by it many times.
Copy & paste sounds bad but what it really says is: let's make that piece an invariant and don't import the library if you only need one short function.
So I would say the trade off boils down to "simplicity vs flexibility"
> library version change affects both primary components
In my experience, it changes neither, because the interface of the library just doesn't change. Of course it depends where you make the separation. Basically, if the interface to your library is big, you either suck at API design, or you traced the wrong boundary.
Now if you happen to only need a small fraction of a sizeable library, I can only suspect the library itself fell prey to scope creep. If there's no way to import what you need, and little more, that probably indicates a problem with the library itself.
Even big libraries which by nature must make many different things can often be separated into different components. Like the SDL for instance.
Oh, and I was assuming we were talking about internal dependencies. Like, you write the library which will then be used in different parts of your (possibly big) project. That's very different from external dependencies, which are generally bigger, harder to freeze and harder to update.
> […] managers […] should be trained to respect opinions of subordinates.
That's your problem right there: the subordinacy of engineers.
We are biased to listen to high-status people more than low-status people. The strength of this bias varies from people to people, and from culture to culture. But if you are asking someone to listen to the opinion of a direct subordinate, you are asking for trouble.
This is one reason why Michael O. Church is so big on guilds, or "professions". If instead of being a subordinate, the engineer was a (possibly certified) master craftsman, things would be different. Just picture the manager calling the the engineer "master", then not listen to her opinion.
> […] engineers […] should be trained in how to negotiate with management
Conversely, it's harder to negotiate when you have lower status than the manager. You may feel it is not your place. But if you're a master programmer, offering your services to said manager, then you could feel more confident about talking to him as a peer. You could feel more confident about saying things like "your idea won't work —trust me, it's my speciality."
I agree with you. I'd like to live and work in such a world myself.
But my rather pessimistic opinion is that status, hierarchy, etc are deeply embedded in us as a species - just like animal species who have pack leaders or dominant males or whatever - and this won't be easy to get rid of. The ones who hold financial strings, the ones who act more arrogant, more confident, more powerful, more knowledgeable - they are unconsciously seen as having higher status.
The hierarchy could be inverted with a very small change to the laws governing engineers, just as it has been done for lawyers. The details vary by jurisdiction, but generally lawyers must practice in some form of partnership where non-lawyer members are restricted. Work similar to project management is frequently performed by secretaries that are subordinate to the lawyers.
Whether or not strengthening the profession of engineering would be good for society is another question. It is inherently anti-competitive. It could easily slip into a system with very few and highly paid "qualified" engineers whose small number would hinder development. This is a problem with medicine and the supply of doctors in some places.
I would note that in the legal field, effective DOJ threats have prevented any attempt to limit the supply of JD grads, while the other rules such as management of lawyers by non-lawyers has remained in place.
The problem is not hierarchies as such, but in failing to recognize the hierarchy as an expert organization where the experts are the masters of their expertise. Managers are project managers who have the responsibility to direct their experts to solve the issues to make the project succeed. It's therefore the managers job to have a best overall understanding of the project, and incidentally it's the job of the experts to inform the manager of any serious issues they cannot solve alone, and possible solutions for the problem if possible.
Expert organisations are not hypothetical, and actually have been present in all hitech companies I've worked for. Then again it could be a cultural difference, as I'm working in Finland where social equality is a big thing, and calling your manager, director or CEO with honorifics like "mister" would be considered awkward or almost inappropriate.
This would change almost nothing in the current scenario. Companies still have in-house legal teams, who are trained lawyers and I'd argue they are still 'subordinate' to whoever their managers are. Given the number of startups that regularly skirt the edges of the law it's obvious that many founders don't pay heed to legal advice either (or even seek it out) . Why should it be any different if engineering was more 'professionalised'?
 I'm not making any judgements about this, simply stating that it happens.
> This would change almost nothing in the current scenario. Companies still have in-house legal teams, who are trained lawyers and I'd argue they are still 'subordinate' to whoever their managers are.
I have no idea what your scare quotes mean, so I'll pretend I didn't see them.
What you describe may be yet another problem of subordinacy, but there is a difference: when you get legal advice, it's not binding. You may chose not to follow it. But only engineers can build a bridge. That gives them a limited veto power.
In the current scenario, there are several steps. First, the lawyers says how much the different kind of litigations cost. Second, the boss (or some other manager) works out which costs more: letting people die, or fixing the lethal stuff. Finally, there's the engineer, which either fixes the damn thing, or does not.
This suggests at least two angles of attack. First we could increase the cost of death for companies. Second, we could held specific people personally accountable. Either the manager for trading lives for money, or the engineer for implementing that trade off.
Now, as another commenter warned about, we should be careful about not freezing innovation in the process. At this point, the problem is so hairy I have no idea what's best.
The quote marks around 'subordinate', to me, are intended to indicate that the status that the relationship entails on the surface does not hold where it matters. The lawyers are not really subordinate to the managers and are able to extract more value from management than the managers are able to extract from the lawyers. If this dynamic persists long enough, then, like the Janissaries of Ottoman fame, the subordinates eventually find themselves the masters.
The email, as a method of exchanging digital messages is not centralized. Now, it's true that a few providers host most people's email addresses, but there is not a single authority controlling the flow of the email messages.
If the case of a social network, you can't just switch and still remain connected with everyone else, because the provider controls the flow of your interactions. However, you can very easily switch your email provider, or even host your own, and as long as your friends still have the same emails, you're still "connected". I wouldn't call email centralized, but I agree is not decentralized 100 percent.
When you switch providers, you still have to warn your friends about the change. The only way not to is to own your own domain name (whatever that means).
More generally, I think there's an incentive problem here: it is just too convenient to let Big Data host your email. And if you're crazy enough to have a mail server at home, it is just too convenient for everyone else to spam-filter you as a netbot (because you're using a residential IP address).