Good code is like a good story, or a good quote. It answers something. Whether it be a need, a fantasy, a want, or simplifying something, good code should always solve a problem.
When I first started out with Soomya I was full of life, excited and passionate about an idea of multi-peer video communication and video messaging. We had a working demo too, sure, it was laggy, but it showed immense potential. To make a long story short we sacrificed, what did we sacrifice? Our integrity. Our products lifeline, our goals switched from making a fantastic product that improved communications to trying to make a buck. Sure, businesses need to make money, that’s a no brainer. That being said, you have to be passionate about your products, you have to believe in them, if you do that’s when you’ll go the extra mile for them. Ideas are like plants, they need plenty of sunlight and water to survive, getting side tracked by trying to turn a buck can often take your attention away from caring for your ideas.
Think about your product – Does it answer a question? Does it have a marketplace? Who would use it? Why? Does it solve a problem or simplify something? Is it fun or productive? If your answer was “no” to all of these questions then I’ll allow you a moment to face palm yourself right now, because you my friend, are developing a dud. One of my favorite developers Jeff Atwood openly talks about his projects on his blog and why he developed them, why he chose the languages he did, why he chose the platforms, and what the intentions of the projects were from start. Something was crappy, we hated it, so we changed the way it worked . Simple, that’s it, that’s all it takes – an idea or motive to no longer be frustrated by the intricacies of proprietary software and user-flows from the 90's. Go figure.
Have a clear vision of what you want, and don’t stray away from it, follow it, down the rabbit hole – you may be surprised where it leads you. Don’t accept things for how they are, challenge them, challenge everything! Do you want to know how to adopt change? Focus on it, get involved with it, focus on changing things for the sake of improving them, question things that you never used to, why not? The idea being that so you’re so involved, so wrapped up in the change that you don’t even have time to stress or think about “the way things were”. Be passionate, that’s where good code comes from.
Side note, we are now focusing on rebuilding Soomya and it is pumped up with all types of new life and new creativity that I am personally excited about! A re-imagining – if you will, sometimes you have to fail at the first attempt so that the second one can blossom! One last tip, don’t give up!