I just read a series of Kathy Sierra’s posts at the excellent Creating Passionate Users blog and I found a common theme in them: “when being stupid is the smart move”
Dignity is Deadly, Part Two - “When you evolve out of start-up mode and start worrying about being professional and dignified, you only lose capabilities.”
How to be an expert - “The only thing standing between you-as-amateur and you-as-expert is dedication.”
And Don’t forget square one… which was perhaps the most powerful. She discusses how you need to orbit back to the basics every now and then – but don’t spend too much time there.
I’ve been a software developer and engineering manager for a long time and to me, the key skill to moving forward is to constantly ask yourself: where am I still a beginner?
I know some people who seemingly do this constantly. They are also the severe early adopters (come to think about it, they are also often really annoying). I’m much more cyclical. I’ll go months “head down” on a project, just doing, and then finally pop up and look around.
Because I know it’s time to go be a beginner at something again.
Every time. Every single time, I find this process stressful. That’s because every time I forget that the LAST time I did this I thrashed around for no more than two days, got traction, and became competent at learning the new skill. Note I said learning the new skill, not competent at the skill. Once in the learning mode the stress is gone, I’m having fun. I feel young and vital again.
I strongly think that this makes the difference between a good developer and a great developer: good developers are competent and reliable. Great developers are willing to move away from the comfort zone of the place where they are competent and dare to be stupid: try a new skill where they are a beginner again.