Anderson Dias
Little programming joys
3 min readSep 9, 2016

--

Someone said: less is more. I realised that, in fact, we should say: less is less. That’s enough, because having less is not a bad thing at all.

It was 2008 and my family moved to a small house. We had a bunch of unnecessary things back than, we had room for everything in the old place. Now, with less space available, I’ve realised that it’s very important to have less stuff.

We’ve decided to throw away everything we didn’t needed. I remember it was really hard to reach a common sense, but we’ve made it. That was the time I’ve made one question to myself:

What if there was enough room for everything, would we care about get rid of all this stuff?

When resources are abundant is natural to not worry about how to use them. It can be space, money, time, effort or team members, we tend to toss them away if they are plentiful. However, with scarce resources, we need to think hard on how we would spend it.

Constraints are liberating.

It’s a little strange when you hear it first time. No one wants to be under constraints, somehow when we pay attention to them we can learn many things. Being under restrictions can lead us to use the power of creativity.

Imagine you have a software project with a really large budget. I mean money is not a problem at all. In this case you can hire as many people as you need, the project can have as many features as the owners can imagine, and so on.

With this kind of abundance you can spend as much as necessary to deliver what is desired. Problems will rise during the development but everything may be fine at the end of the project.

The project will have tons of features and believe me: many of them will never be used at all.

Let’s move to a new scenario. You have a huge project in your hands and small budged. Low money, small team and a big list of features. In this kind of environment, with hard constraints, it’s proper to use resources wisely. These restrictions will lead you to think out of the box many times.

The Pareto Principle states that 80% of the outcome is generated by 20% of what you do. In this case you need to discover what is crucial and spend most of your time doing it. It’s really hard to find it, but that’s the most important thing to do in order to avoid resource wasting.

What about the other awesome features? They need to be delayed until you really need them. A report can be generated once in a while by accessing the database. Automate it when you really need it and the outcome will pay for it’s development.

Thinking about my new house space limitation I realised I was keeping unnecessary stuff. The lack of space was the trigger that enabled me to see this, not the problem.

If you have only one bullet you will not waste it, right? Every time you find a limitation, embrace it and struggle to learn new things throughout the way.

--

--