I have to confess. In the past 7 years, in my insomnia and obsession with coding, I have developed MPD. These are some of my personalities, and this is how I use them when coding. Welcome to my world...
Howdy, I'm Harry. There's many reasons to be me. One is when bugs need to be fixed. I'm in trial and error mode: When I'm stuck and you don't know what's going on... So I just try some things and hope for a quick fix.
Be careful! Harry doesn't know this, but he often ends up having a too narrow view on the problem. He ends up fixing errors like a headless chicken that's looking for food. When this mode continues for too long, try to take a step back and look at how you got here. Try to open up to other solutions and possibilities. Maybe there's a better solution!
Hai, I'm Sean. I don't care about code quality, as long as I do what others (or my other personalities) tell me to do. I don't really want to be coding right now, that's why I kind of rush it.
I am in this mode when I make a quick sketch for something. I think it’s not a great mode to be in because it ends up to be sloppy.
However, to start an app I like to have all pages and an overview of all stuff that needs to be there. I am making a skeleton, so then it's okay.
Everything has to be perfect. Pay a lot of attention to details. Mostly UI wise... This is great because it makes the app beautiful. It can take up a lot of time though. Perfection is hard to achieve!
Hey, I'm Casey. I have insomnia and have never seen this app! Whow! What's that? How does this work? Does it work the way I would expect, based on my regular usage of common other apps? Let's find out!
When I'm Casey, I pretend to be the user and try to create an opinion about the UX of the app. I try to act as if I have never used the app before.
I can never fix this. I have no clue what the problem is... How can I ever get this to work? Let's ask Ingo
Ingo the Inspector
I'm Ingo. I always think about the whole stack at once and see the matrix the way it is. I see through every layer of the cake and can see all possible places where the cake is bad.
Hey, I'm Timon. I try to find things that aren't good enough or have to change, and I just list them. Sometimes I go into detail and write down every single thing small thing that has to be fixed. This is almost pseudo code, so it's better to leave John to it.
Oh... Am I still coding? What was I doing again? I am always just staring at the screen and I don't know what to do. I think it's better to go to bed.
Hey. I'm John. I try to fix the mess that everyone made. I cross off all Timon's to-do lists. I focus on creation. I think this is the best mode. Sometimes I have a great mindset of finding something that can be created, improved, fixed or finished. It doesn’t matter what, and I don’t need a to-do list for it. I just really quickly go through the app and find something that can be better. I commit to doing it, I fully focus… If it is a lot of things I may write down some steps… but I try to do it at once. This feels like the most productive mode.
Before you think I'm crazy. I don't have multiple personality disorder or anything. But it's my theory that this statement is correct. Consciously switching between thinking-modes, perspectives, and putting on different glasses may very well make you a better coder!
//Todo: add pictures of myself with different sunglasses and disguises like mustaches and hats. John Done, get to it!
UPdATE: 2 weeks later I accidentally stumbled upon this book where debono states that deliberate role playing can make you a better thinker. I couldn't agree more!