Geeks build software for many different reasons. Some geeks make software so they can help others. Some geeks build software so they can gain more technical knowledge. Still others build software so they can showcase their intellectual might and prowess to their peers.
There are opportunities to build software for many different reasons, but not all of them are as important as the next. Remember that most people don’t care about your software: they only care about the problems your software solves. You can build a pristine system that performs some task efficiently and smoothly, but if it solves no one’s problem, then where does that leave you?
Are you just building for the sake of building, or are you actually pushing toward a goal that will make people’s lives better? There are plenty of yaks you can shave if you decide to get lost in the jungle of technical spaghetti. You can love software for the software itself, but this is only a means to an end. It’s like wanting a new gadget for the sake of the gadget, instead of thinking about how the gadget will actually help your life.
Do we need another lolcat social network? Maybe. I think we have more value to offer the world than that. There are rocks to still turn over, more real problems that need to be solved, and more lives that need to be made better.