Isaac Asimov was a hero. An awesome author and an ambassador of wonder. A master of science fiction with the science part remaining.
And he wrote.
To match the number of novels, letters, essays, and other scribblings Asimov produced in his lifetime, you would have to write a full-length novel every two weeks for 25 years.
I know my productivity is nowhere near that. So how did he do it? The linked article has 6 reasons. Below is my take on them as a professional developer:
1. Never stop learning
That’s an easy one. If you stop learning in our profession, you’re done. The physics of programming is in constant flux. Hardware and network advances brings with them new application models. The fashion changes, so too does our user interfaces. You might be comfy at your current gig, but what about the next one?
Asimov read, a lot, about all kinds of different subjects. We too can learn the different nuances of development and bring our experience from other problems, languages and frameworks with us to our current problem.
And if you ever get tired, retire to a comfy job at NASA. But that position has already been filled.
2. Don’t fight getting stuck
Getting stuck gives you an opportunity to work on something else for a while. Pair with a colleague, learn from someone, work on another task. Your brain is still working on the original problem while you’re busy doing something else.
In a personal setting without a team around to help, getting stuck on your most important project is OK if the second or third most important project is also important! Do not stress if the first thing on your TODO-list is not getting done, as long as other valuable task keeps being finished.
3. Beware the resistance
Self-doubt is the mind-killer.
Yes, what you create will have bugs, not everyone’s going to love it, it is not perfect and that’s OK. Do not let the fear of failure or what others think keep you from accomplishing your goals.
This is the resistance.
So try that hard task. Start, even if you do not see the whole solution yet.
4. Lower your standards
As in the former advice, you’ll not achieve perfection on the first try.
Never has that been more true than in software development. Iteration is the name of the game. Start small and build on it, every iteration better than the last.
And how do you know if it’s better? Let the user try it every step of the way.
5. Make MORE stuff
The more you create, the less each thing matters. Thus, if your just good enough app flopps, you’ll have your mind occupied with the next one.
This intensifies the peace and calm of his life.
This means no sacred cows. Being sentimental towards your creations is an activity for retirement. The code you wrote yesterday might be crap. And that’s OK, you’ll write more today.
6. The secret sauce
How did Asimov get ideas?
By thinking and thinking and thinking till I’m ready to kill myself.
This means that if your creativity got you down, do something about it. Take a break, change your physical location, brainstorm with your colleagues. Do not wait for a divine spark of inspiration, be proactive and work for it.
Turns out being a writer is hard work. It takes dedication and focus. Sometimes also sacrifice. You need self belief and a sense of self worth, even if others find your work lacking, all the while learning along the way.
This is also required for being an awesome developer.