DEV Community

ivan.gavlik
ivan.gavlik

Posted on

Thinking About Complexity as a Programmer

In every line of code, every system, every problem we encounter complexity and this isn't something to shy away from. Let's explore some ways of thinking about it.

What history teach us ?

Think about Isaac Newton and the falling apple that led to the law of gravity, Charles Darwin's theory of evolution, or Albert Einstein's revolutionary ideas about time and space. Each of these breakthroughs involved breaking away from old ways of thinking and embracing new concepts. Every significant breakthrough in science and technology has been about simplifying the complex.
So history teach use way out of complexity often lies in developing new sets of concepts and paradigms.

Thinking about a problem multiple times and from different angles can be incredibly beneficial. Using various tools, frameworks, and technologies to view the problem from different perspectives can lead to more robust solutions

What else helps ?

Step away from the computer and take a walk because physical movement can stimulate mental movement

It's beneficial to read outside your discipline (Exploring fields beyond STEM can provide fresh perspectives and new ways of thinking. For example, reading about psychology can offer insights into user behavior, while literature can enhance your understanding of narrative structures and communication).

One particularly valuable skill is lateral thinking, which is about solving problems through an indirect and creative approach.

For the end

Don't be afraid of complexity, look it as challenge, think outside the box, outside traditional boundaries and incorporate strategies not only from STEM filed, but also from other fields and studies.

Top comments (1)

Collapse
 
vsaulis profile image
Vladas Saulis

I propose to read Nietzsche - very helpful to train brains. Especially his 'Zaratustra'.