Problem-solving is one of the skills which has helped humankind evolve over other species — this in itself defines the importance of the problems solving.
I have been taking the Upraised CAP course for a month now. In one of the modules, we were taught the steps of solving the problem as a product manager. What was worth noticing here was Aditya spent most of the time talking about the problems and how do you identify the right problem.
In my software engineering career, I have seen many engineers just focusing on learning the technicals of building websites/apps/backend. There are few who focus on the right tools by learning the Data Structures, Algorithms, CS Concepts to solve the problems in the right way — which is good. But there is one point which we miss as software engineers — Do we understand the problem well? Do we understand a user having the problem? Do we understand if there are any other solutions that can be provided to users with less cost(money/effort)? These problems are most of the time solved by Product Managers but a good engineer would try to understand the core problem.
What I have got to understand with my experience is that software is just one of the tools to solve the problem — tomorrow some other tool might come which can just disrupt the whole software development itself just like the programming languages come and go. So having problem-solving skills is more important than learning a programming language. For that focus more on how things work, have the insane curiosity to learn about different subjects, and then try to learn technology — you would be able to do much better in problem-solving.
Reference: https://techcrunch.com/2016/05/10/please-dont-learn-to-code