How do programmers innovate? Reverse engineer thinking

What is engineer thinking?

In code, in order to ensure the robustness of the program, we must comprehensively think about various possible exceptions, and design the corresponding processing logic for each exception. For example, catch exception, parameter legality verification, etc.

If there is an exception that we did not expect, the program will report an error under certain conditions, resulting in reduced service availability.

The so-called engineer thinking is to think of and deal with all kinds of extreme situations and exceptions, so that you can write programs with fewer bugs, and only when all kinds of situations are clear and ready, can you think of this thing. Yes, no problem.

Engineer thinking is conservative

A generalization of the engineer's thinking can be expressed as: when all factors have been determined to be risk-free, one thing is considered OK.

Therefore, it can be seen that engineers tend to be conservative in their thinking, which of course is a professional requirement. In the work, engineers need to think of various abnormal situations and design targeted solutions.

Engineer thinking hinders innovation

Innovative work always faces some uncertain situations. For example, after a new system is promulgated, there may be system loopholes in the operation of society.

When carrying out innovative work, if we always focus on the possible extreme situations and possible risks, then the innovative idea will never be ready.

According to the thinking of engineers, this idea does not solve all possible abnormal risks, so it may fail.

So we say that the engineer’s hope that everything is ready will hinder innovation.

Reverse engineer thinking: accept uncertainty

When doing innovative work, we no longer seek to have everything ready, and no longer endlessly pursue how to deal with various small probability events.

The future is uncertain and unpredictable. Therefore, only by accepting some of the uncertainty and taking certain risks can we implement innovation.

For example, the initial purpose of blockchain technology is to establish code-based trust, but it did not expect to cause crazy hype in digital currency.

Guess you like

Origin blog.csdn.net/hugo_lei/article/details/105791838