Personal Systems 11/03/2022
lifedev

In development, we follow rules and guidelines for creating an application or how we structure CSS as examples. We have systems in place for CI & CD to make our lives easier. Even down to the tooling we use to create applications, the CLI that saves us writing boilerplate.

All of it is around simplicity.

We want to make the process of starting, continuing and finishing as smooth as possible. The strange thing is, in day to day life a lot of people choose to oppose this and want to break and fight their routines.

Don’t get me wrong. Spontaneity is massively exciting and just as important. Being able to get up and go do anything instead of the same repeated activities every day is incredible. We are completely independent creatures with the ability to go down so many paths and branch off when we’re bored. It’s honestly just, incredible.

Yet so many people are frustrated with a lack of time. No time to sit and take a break. No time to go on holiday. No time to do anything enjoyable.

To me, this comes from an inefficiency somewhere in their day-to-day. Most people have some form of routine they stick to because that’s just what they’ve done for so long, why change it now?

This is what causes issues with time and how you spend it.

This will not count for everyone. Many people in situations are stuck and can’t without major struggle and change get out of their situations. That will be a talk for another time though.

With the “normal” population. One of the critical problems in my eyes is the requirement to do something and want to do something else.

Most of us don’t like spending time washing pots and cleaning the sides. I do, weirdly. Each to their own as well.

However, pretty much all of us like sitting and watching Netflix, eating snacks and whiling away the hours.

This is the split. The requirements of being an “adult” and the wants of our dopamine soaked minds.

Systems

If we want to create a new feature in development. We will have this written out in as much detail as is physically possible. Sometimes it will come with designs. We have more than likely discussed it with stakeholders.

From there we set out writing tests to describe this feature and how it will be implemented.

Once implementation starts, the exciting part for most engineers. It flows like a stream, without much in the way of stress or issues.

Now imagine, taking that flow and having to follow this one instead. Looking at how this could be translated into actions in our real lives.

You’re told that there’s a new feature that needs working on (the requirement). You crack open VSCode and you start hashing it out. Code, check, fail, log, code, check, success. Over and over again. You did it. Maybe (time spent).

Ahhhh, tests… time to add those in. You go back and string them together from your code. Fragility is most likely going to ensue but what can you do, the implementation is driving you (stress).

Report to the stakeholder. There are problems with it, an aspect was missed that should have likely been discussed at the beginning (more stress).

You go back and scratch away at your code, tweaking all your tests (more time spent).

This whole path was fraught with failure and trouble.

Now take the creation of the feature and treat it like it was cleaning the kitchen. Going down this route of a requirement being done out of the blue, when it’s most needed but when it could have been prepared for.

That is the problem.

Application

Routines can be dull. If you can make an efficient one then you will have much more time. If I know when I’m doing the things that need doing then I’m ready for it and I can put my whole self into it.

I know that’s probably quite an extreme way of thinking about cleaning your kitchen and it is. The point is that if you plan that in and make it regular, it becomes like nothing.

The things that were requirements of existing become, like nothing. You will get through them faster, more efficiently and not even recognise they were a problem.

From here you can spend your freshly acquired time on what you want to do. Even if that is just watching Netflix for the next 3 hours.

To give you an example. I want to be able to spend time writing these posts as I enjoy getting things out of my head and onto digital paper. The thing is, I work from about 9 to about 5 every day. There are multiple requirements for each day. Such as washing pots, cleaning up a bit, feeding the dogs, brushing teeth, washing, nipping to a shop, cooking, and so on.

Before I put in my head an actual organised plan of when I’d like to get them done in terms of efficiency they were glaring issues. I ended up settling on washing pots right after I finish work. This is vague enough in terms of time that I have leeway if needed, it lands right before any cooking happens later in the day and when there are the least people in or wanting to use the kitchen. Now that’s not a problem, it’s internally subconsciously scheduled.

Do this with all the little things. Yes, they’re little things. These are normal non-offending things. You must treat them as such.

Now I can spend time writing these posts. I can sit and watch a YouTube video about some new technology. I can even work on projects for an amount of time that allows me to hit my flow.

Awesome.

Fragile

This isn’t perfect. Other issues may arise and you may hit other walls of irritation. However, you’ve removed so much cognitive stress at this point that you can handle that new thing. Your cup will not overflow.

As I mentioned before, this won’t work for everyone and it can seem extreme. You have to adapt it to fit your needs as well and it can seem like a lot of work.

If you want your time back though then it’s worth it. At the very least give it a shot for a bit and see if it works for you.

It’s done wonders for me and my well-being.