System Thinking

Where:

What:

Elixir re-ignited my intellectual interest in software development. I found, via Erlang and BEAM history in general, a huge body of wisdom in distributed systems that I can learn from, and new tools in my toolbox of how to think about software. With processes so lightweight, pervasive, and offering freedom from fear of crashing, my perspective shifted in exciting ways. If I think I’m writing a “web application” then my thoughts are immediately limited. I now think of building systems. I can think bigger thoughts because I have better abstractions to build them upon.

Why:

I like the point the author makes about having his thoughts limited to the way he defines a piece of work in his mind.

At the time of writing this, I was working with a client helping to build quite an expansive microservice architecture. One of the main challenges for me was keeping the bigger picture in mind. I would often find my focus narrowing on the service being worked on at any one point, and struggle to keep in mind upstream and downstream consequences of the changes being made.

This isn't really what the author is talking about here, but it struck a chord, and it is interesting to reflect on how the language and tools being used might influence the ways the developers think about the system being built.

Last updated

Was this helpful?