How to code as if you are escaping prison

I recently watched Escape from Pretoria. This is a great movie. It contained so many elements that I could link to software development funnily enough. The premise of the movie simply said is the escape of two real characters and one fictional one. Potential spoilers ahead.

Time

When they got imprisoned, they got time. Lots of it. This means you do not have to rush anything. Time to mull things over properly. Have some internal monologues, dialogues and maybe a few real duologues here and there.

Think about the features you made for any project. How many times did you go back over and over and refactor thinking whilst doing that, why did we not take more time back then? From now on try to calmly move forward, take the time needed and be as slow as you can afford to be. It will be more worth in the long run. Don't be so slow of course that your product outlives it's usefulness but like always balance is key.

Constraints breed creativity

There are a lot of constraints in prison. Lots of them. Seemingly insurmountable obstacles thrown in your path to make it hard to escape. Go figure. However, this does not mean it is impossible. The characters fashion keys out of wood, and other tools from wood in order to open doors.

Try to constrain yourself during development of software. Like sticking to a specific style, domain, only use the standard library or anything else that limits you. This will automatically focus you and your efforts plus making you creative.

One problem at a time

This one combined with the previous two is what makes a success. The characters have to go through quite a few doors, one of which they need to open from the outside. However they first solve the internal door one. Then the outside door step by step. First fashion the key during cleaning duty, then seeing how to do it from inside the cell and so on.

Solve your problems one at a time. Don't do everything all at once. It will lead to information overload and difficult to oversee the complete solution. Make sure you maybe stipple out a path once you identified a couple of problems but definitely tackle them one by one.

#devops #devlife