We rarely write software to write some core. Of course, we can create a pet project for fun and to learn new technologies, but professionally, we build software to help other people to do their work better, faster, and more efficiently. Otherwise, there is no point in writing any software in the first place. It means that we need to have a problem, which we intend to solve. Cognitive psychology defines the issue as an obstacle between the current state and desired state.