The Power of Passion

Previous

To have a truly successful software project you need more than knowledge of science and experience of technology. More important even than talent is Passion. Indie developers, product designers and software architects need lots of passion. I have jotted down some principles of passion that I think are essential if you are to meet with success, not have stress and enjoy the journey.


On the positive side:

  • Imagine a great product that doesn’t exist then record it on paper. Now it does exist - it just needs to be implemented.

  • Believe in a vision that others can’t see and don’t give up. The vision becomes clearer and clearer as the project progresses. As it becomes clear to you present it to others with enthusiasm - they’ll get them excited too. A vision is infectious and motivates the whole team.

  • Dream about your product so much that you love it and you can’t wait for the day it’s tangible and you get to play with it! Use this to motivate yourself; when your goals feel an eternity away - dream!


On the challenging side:

  • Don’t listen to detractors of indie development.
    Family and friends with good intention will often try to convince you that indie development is a bad idea. They say its too risky and the pay is not worth the extra hard work. These people are often conservatives who never took a risk in their life. Stand your ground and have faith in yourself. Others may predict your failure with convincing authority and some people just feel better about themselves by putting others down. Remember that negative criticism is a personality flaw of the critic, not a flaw of your abilities or project.

  • Sacrifice your time, energy and pride to achieve “impossible” goals. This can be hard at times when you’re working on a large complex problem/project - you feel like it will never end and your extreme effort maybe wasted on a fruitless exercise. Remember this joke: “How do you eat an elephant? One bite at a time”. Just break the problem and solution down into small bite size pieces and do continuous testing and frequent demos. This way you continually get to see small steps of progress which will motivate you to keep going.

  • Persevere with the plan and the people when today is a mess. When the pressure becomes negative stress take a break and do something completely different to distract your self - exercise is especially good. Walk away and take the rest of the day off if you have to. Tomorrow will bring a fresh perspective and a solution will follow.


Creating software is more than a co-ordinated design and programming effort. Its about the passion that drives the creators, the artistic talent they contribute, the ideas that are truly an innovation for the user and the appropriate application of computing science to software quality and performance. If you can muster all of the above ingredients together in your self and your team then the result will be more than a program - it will be a software creation where the user experience is a joy and the innovations truly change the user’s life.


I love to hear from readers. Please send me your comments, ideas and wisdom to keith@daringdeveloper.com


© 2008 Keith Foster. "The Daring Developer" was created for people who share an insane excitement about advanced software engineering.