Revolution happens when you start by understanding the problem, then find the tools to create a solution.
Going at it bass-ackwards is a good way to fail. That’s called “Maslow’s Hammer” AKA: when you have a hammer, everything looks like a nail.
That’s not original to Maslow. Over the centuries, variations have been attributed to Buddha, Mark Twain and others.
Failure happens most frequently when people pick up a familiar tool — hammer, programming language or well-worn algorithm — and try to apply it without understanding the fundamentals of the problem itself.
A workable solution starts with breaking the problem into fundamental elements. Once tractable atoms are identified, they can then be arranged into a prioritized series of logical steps. That’s where an algorithm begins.
Different tools are often needed for each of the steps. Software may be the tool for some of the steps. Hardware, human/machine interfaces for others.
The object at this stage is to visualize the best tool for each step and not to settle for the familiar “good enough” tool.
The optimum tool must be visualized first.
But visualization cannot proceed without a fundamental understanding of each step of the problem.
If familiar tools fit, that’s fine. But the selection of a familiar tool requires some skepticism and deep introspection on whether the selection decision was an emotional familiarity with the tool, or based an analytic matching of the tool with the
Optimum often needs creativity and invention rather than “make do, good enough” patches. Each “make do” compounds inferiority at every step.
A few other links on the topic.