https://thehosk.medium.com/developers-are-professional-problem-solvers-first-coders-second-ee757f15829f