Blub's Blog

I Am The Only User

I love programming. I've been writing software professionally for decades. But my productivity with home projects is low - I rarely finish anything.

Recently I found a solution!

If I say to myself I Am The Only User of the software I am writing my productivity goes through the roof and I've actually started to complete projects. It has made programming out of work hours fun again.

Why is this?

If I Am The Only User I'm trying to satisfy, my problem space reduces from near infinity to something much more manageable. With a much reduced cognitive loading my mind is free. I accelerate. I begin to enjoy the process more. I'm not trying to please the world, only me - and I'm easily pleased (most of the time). No more second guessing how the users of my software will interact with it, or what features they will need. There is no more anxiety working through a maze of solution choices.

Using this method, I can simplify the natural compromises you have to make when writing software. I'm not building a professional product for a commercial user. I Am The Only User. I need to keep reminding myself of this. It's easy to drift. I don't need to worry about how we move to production deployment, or designing for scale. I Am The Only User. I don't need to worry about what colours to use in the UI, or add features to make those colours configurable. I just choose some colours that please me. I Am The Only User. I am a considerate developer, I want to make my users happy. Most of the time this increases my workload, grows my cognitive load and increases my anxiety, but if I Am The Only User it's easier to compromise. I don't feel guilty I've dropped a feature that a hypothetical future user might really need, I Am The Only User I need to worry about.

When I stall I gently remind myself, I Am The Only User - what do I want here? Give yourself a break. Cut yourself some slack.

The I am the Only User strategy can lead to better outcomes. You actually increase your chances of completing something. Finishing a project is probably more important than perfection, especially if the end goal is making a useful tool for your own use. A finished but slightly imperfect tool adds value. You are probably not going to find a half finished tool very useful, no matter how well polished the completed half actually is.

If you are writing software that solves a problem for you, something that you will find valuable, then you are probably fixing a problem for someone else too. The world is a big place. So when finished why not share your software and see?

You may find you have you actually created a MVP of something that would be appreciated by many users even though I Am The Only User?!



Subscribe to my blog via email or RSS feed.