This article discusses the importance of striking a balance between giving developers autonomy to "build it" and allowing them to "run it", which is a fundamental principle of DevOps. However, many teams get this balance wrong, either by overwhelming developers with too much complexity or by not providing enough guidance and abstraction. The author argues that developer self-service is often misused as an excuse for shifting work left or belittling developers. To avoid these pitfalls, the article suggests considering the "cognitive load" tradeoff, which involves determining how much complexity and autonomy to give developers based on their individual capabilities and preferences. The ideal approach is to provide golden paths that abstract away complex tasks while still allowing developers to make choices and learn new skills. By communicating effectively with developers and iterating with them, teams can build self-service setups that are both empowering and manageable.