Some people cannot see the problems that exist.
Some people see problems, but choose to ignore them.
Some people see problems and try to solve them.
Problems need to be understood and formally described using maths.
We understand what is possible using knowledge of theory that we acquire through study.
Solutions need to be communicated to others using designs so that we can get help, and help others.
Automation may improve a solution. For this we need to communicate with machines using code.