# Uncomfortable Truths in Software Engineering source : [Uncomfortable Truths in Software Engineering • Buttondown](https://buttondown.email/hillelwayne/archive/uncomfortable-truths-in-software-engineering/) This article is mostly the author’s opinion and I have selectively copied the points I believe to be correct, interesting, or worthy of discussion. ## Notes - Sophisticated [[DSL]]s are probably a dead end - Statically-typed languages are more suitable for larger projects than dynamically typed ones > 6 We don’t have the [[Alan Kay]] / [[Free Software]] / [[Hypercard]] dream of everybody having control over their own computer because integrating with disparate [[API]]s is really fucking hard and takes a lot of work to do. This will never get better, because API design is decentralized and everybody is going to make different decisions with their APIs. > > - Also, “trivial knowledge” blocks most projects from happening. To work with any new API or domain, you have to learn a lot of stuff that is “trivial” to an experienced user of that API, but you have to repeat the learning process for every single thing you want to add in, which doesn’t scale. > - Also also, making software customizable / interfaceable is really hard on the developers for little benefit, since most people won’t use it anyway, so there’s better use of their resources. > - Also also also, most layfolk2 don’t want to program their own computers, much in the same way that most layfolk don’t want to do their own taxes or wire their own houses. [[Pair programming]] is probably better than solo programming. > 12 The [[open source maintainer problem]] isn’t going to get much better in the near future. > > - People are gonna keep blaming “Capitalism” for this. > - People are gonna keep blaming “Capitalism” for a lot of irrelevant things. > - People are gonna argue with me about blaming “Capitalism”. > - Goddamn I am so tired of “the problem is CAPITALISM” takes and they will never stop - Aside: the problem at the end of the day _is_ [[capitalism]], however the people who say that “the problem is capitalism” are lacking a more nuanced point. Of course the problem is capitalism, but this doesn’t say anything. The problem is the fact that so much important software is expected to be free of cost. Large companies like Amazon or Microsoft can simply step in and use [[Linux]] for free because they can. I’m not sure what the exact solution is, but I think open source maintainers should consider organizing and demanding payment for corporate use. (see: [[arguing that the problem is capitalism]]) ## Refs - https://buttondown.email/hillelwayne/archive/uncomfortable-truths-in-software-engineering/