(I'm going to reference it again... one of my favorite essays on programming) How To Be A Programmer - https://github.com/braydie/HowToBeAProgrammer/tree/master/en
The first skill listed in the first section is "Learn to Debug" ( https://github.com/braydie/HowToBeAProgrammer/blob/master/en... )
> Debugging is the cornerstone of being a programmer. The first meaning of the verb "debug" is to remove errors, but the meaning that really matters is to see into the execution of a program by examining it. A programmer that cannot debug effectively is blind.
I don't think its a coincidence that that's the very first bit. It is indeed the most essential of skills.
In some ways computers are too usable these days. In other ways the experienced programmers are too sloppy and put in too many barriers to get their tools to work flawlessly in the modern world. We don't live in the tinker world any more.
But ultimately to be a good dev you must learn to debug.
Hard problem to solve.