welcome to this week's newsletter. Have fun with some inspiration and a new article
Inspirational Nugget of the Week
Do Many Things at Once
"What the hell?", I hear you think. Let me explain.
When I want to be productive as a knowledge worker, I try to get into a state of focus, pretty much shutting out the rest of the world.
I put on my noise-cancellation headphones (the best invention ever, if you ask me), I shut the door, and I get to work.
Every interruption means I have to start over. The above comic strip by Jason Heeris sums it up quite nicely.
So, why am I saying that you should do many things at once?
Because we tend to get stuck when we're working on the same thing for too long.
We get blind to any bugs that we introduce. When analyzing a codebase, we're missing things that would be obvious to us with a fresh mind. In general, our performance tends to decrease the longer we work on the same thing.
Do you ever have these situations where you tried to find a bug for a whole day and then, the next morning, you found it within 5 minutes? Or when you have an idea about how to implement that gnarly feature when you're under the shower or going for a walk?
So here is what I mean with "doing many things at once": do many different things in sequence (i.e. one after another), but not in parallel.
Work an hour or so on that nasty bug, then do something else. Even if you want nothing more than to fix that damn bug. Give your brain a rest. Pick the next task from your todo list and work on that one for a time. If you're lucky, your subconscious will solve the problem for you while you're working on something else.
On any given day, you will have done many different things.
Don't push through a whole day trying to fix a bug, write an article, or in general doing the same thing. When you feel your performance degrade, do something else and come back to the original task later.
Did you like this nugget? Please let me know by clicking one of these links, so I can adjust my newsletter content.
Ever thought about implementing a plugin architecture? Is there something in your application that can have multiple implementations? Do you want the users of your application to be able to add new plugins on-the-fly?
This is a prime use case for Java's Service Provider Interface. You declare an interface and let Java manage the implementations for you. This new article gives an intro to building plugins with Java.
Did you like the topic of this article? Please let me know by clicking one of these links, so I can adjust my newsletter content.