719 karma · joined July 24, 2020
More seriously it always going to be complicated and annoying. It's really past time we started dealing with the fundamental complexity of everything we are trying to do with software.
"This calculus means that eliminating barriers to switching is the most important thing you have to do if you want to take over an existing market"
Still holds up today for software products, switching between products is still a pain and making that easy makes it possible to justify switching.
I absolutely agree with this. It seems like a it inevitable for anything that a business needs to do but doesn’t really want to do. Another place where you see it is with project management, where there have been many different titles for the same role.[0]
It does identify a real problem of people who get things done but what they have done is useless at best or harmful at worst.
The issue is what to do about it. I’m guessing it’s hard to say because the two skills that I’d think of as smart in the context of this article are, understanding what is important and taste to know what good looks like.
Of course both of those things are very hard to teach and in practice mostly seem to be taught via apprenticeship.
This seems like the key thing. We've gone through something similar with operating systems where there hasn't been a ton of change for a very long time now. It seems like we've just hit the same part of the lifecycle with programming languages where change happens much more slowly.
This is so true. The worst code that I've dealt with is the code that requires jumping to a ton of different files to figure out what is going on. It's usually easier to decompose a pile of spaghetti code than to figure out how to unwrap code that has been overly abstracted.
It's way too easy to shift the goal to being a little bit more successful then you currently are and it makes people miserable even if they are doing well by most people's standards.