Simple systems have clear links between inputs and outputs. If certain knowable conditions are met, there’s a well-defined function that maps the inputs to the outputs.
Complex systems are different. They feature multiple actors that offer up a probability distribution of inputs which interact in context-specific functions with partially knowable forms and indeterminate weights. The outputs which are produced as a result are therefore impossible to predict with full accuracy. Our best bet is to develop increasingly educated guesses.
As a result of the different nature of simple and complex systems, the approach necessary to succeed when working with each is different. In particular, working with simple systems requires knowledge of the facts.
In addition to knowledge of the facts, working with complex systems requires an understanding of the incentives of different actors, an iterative approach to testing these incentives and how their interactions produce outputs, and a readiness to revise the form and weights of the context-specific functions you develop as you learn from experience.
Since simple systems are easier to solve, many people solve them. So you’re likely to get immediate positive feedback from someone after solving a simple system.
Since complex systems are harder to solve (in fact you can’t fully solve them and have to be content with getting gradually closer to solving them), there are fewer people solving them. This means that there are fewer people there to give you immediate positive feedback on your progress.
Making progress towards solving complex systems also takes more time, so the frequency of feedback is lower than that which you get when solving simple systems.
However, the intrinsic and extrinsic rewards from making progress in understanding how complex systems work are much greater than the rewards from actually solving simple systems.
Also published on Medium.