Skip to main content

preacher or engineer

If your software only uses 8-bit characters, if it does not set an explicit charset, then it cannot handle non-English languages. This excludes 80% of the world - mostly nonwhite people. So developers who don't handle different character encodings are racist. And we do not associate with racists. So we need our own, non-racist versions of all ASCII software; yes, this may take all our lives, but the cause is just, and when it comes to justice there is no calculus, no compromise possible. Are you with me?


If your software only uses 8-bit characters, if it does not set an explicit charset, then it cannot handle non-English languages. It's silly and extremely inefficient to limit your software's reach so much for the sake of two missing functions. The cost is an hour or two of development; the payoff is increasing your potential userbase by a factor of 6. This will also expand the pool of potential contributors to your project enormously. And besides, glyph encoding is an historic and intellectually engaging topic!


A lot of people have a fundamentally moral conception of society's problems. They think that the downtrodden primarily suffer because of the greed or insensitivity or ignorance of elites; that is, they think elites could easily solve our problems, if they only wanted to. Symptoms of being such a social preacher are: passionate advocacy, while ignorant of relevant evidence; a total lack of impact evaluation; mood affiliation writing (that is, saying things because they sound good, rather than because they are true); anger. They accomplish much, because some of what's wrong with society really is due to human selfishness or thoughtlessness - consider the extent of luxury spending in the rich world, when preventable disease carries off millions - and because some of those wrongs are amenable to shouting and shaming and voting.
e.g. MLK, Lenin, Bernie Sanders, Naomi Klein.

Other people have a engineering conception. This mindset starts by considering the many constraints, tradeoffs and deep uncertainties that are involved in social change, and then tries to design solutions with these in mind.* Symptoms of being such a social engineer are: aversion to standard political channels and to journalism; cause prioritisation; the attempt to quantify; anger at unproductive anger; despair (: the engineer's foes are much larger and more intractable than a small set of immoral individuals: they are apparently intractable co-ordination failures and the Darwinian inheritance of violence and pain). This category includes the incrementalists and EAs and the great class of macro social experimentalists that do not exist yet.
e.g. Marx, Will MacAskill, Aaron Swartz, David Mackay.

I feel more able to understand the world since I switched to the engineer track. It seems likely that I will accomplish a lot more good, too; though naturally we'll have to wait and see.

* This preacher/engineer distinction is just a special case of a deep rift in human psychology^: the negotiation between justice or utility / rights or welfare. Whether to pursue the right or the good. I don't pretend it's a trivial problem, nor that my own extreme consequentialism is the right answer; just that, in matters of public policy, "the first rule of intelligent tinkering is to save all the parts."
^ Notice I am sneakily saying the depth of the rift is in your head, not in external reality.