State of Progress logo

Positioning complexity

by pariskasid

Posted on 2 December 2024

There is something shallow about wondering “how can we make this simpler?”. Actual simplification is rarely possible. Actually simplifying a system or a process means completely removing at least one part of it. But that’s not what we do most of the time.

Often, what we mean by “simplifying” is deciding to relinquish control over a part of a system and position its complexity somewhere else, where we trust that the job will be done equally well or better. Let’s take a look at a few examples.

Since earlier this year, we have completely abandoned JavaScript bundlers for all new projects. Delivering JavaScript code fast to our users never stopped being part of the process. We just decided that today’s HTTP/3 and HTTP/2 network protocols can do the work better than we can and that it’s better to focus on writing great code, rather than configuring and debugging bundlers, tree-shakes, etc.

Also, since we are using Django as the web framework of choice, we are taking advantage of the built-in authentication mechanisms. Encrypting and comparing passwords is still part of the game — we just decided not to do it ourselves.

These are not obvious. Understanding how systems work the complexities required is the first step towards delivering incredible applications that work as they should. The next is being smart about positioning each complexity in the right hands.

That’s what we do here at LOGIC to deliver great systems.

Share this article

Share on X

Do you face problems like this one and are looking for a great DevOps consulting partner? We’re here for you!