the "solving users' problems" framing works for most products but gets complicated for developer tools, where the design is the interaction model. a CLI that gives you typed errors and predictable verbs is design. a confusing API surface that makes you guess is also design, just bad design. the pride question becomes: did you respect the user's mental model?