Us developer sorts have an unusually hard time coming up with ideas. Often, non-technical folks have lots of ideas, but no ability to make them, and technical folks have the ability to build things, but no idea what to build. Both are rather humbling in their own way.
Why is this? I think its partially due to the nature of our work, and the type of thinking it requires us to do day-in and day-out. We spend our time focused on extreme detail-oriented, nitty-gritty, implementation-level sort of stuff. We are like ants, wandering around through cracks, walking up and down blades of grass, and moving crumbs around. Rarely do we transcend our tasks to gaze at the big picture – sunsets and canyons and oceans. To think about big picture stuff inherently means not thinking about details. We struggle to do this because we’ve trained our brain to gravitate to details because that’s the nature of our work.
Ironically, its our job to think, and yet many of us struggle when thinking up ideas of software to build. One theory I have is that because we think so hard in our jobs, we just don’t have much intellectual stamina left over for creativity and thinking about new things we can create. I think the first step is to have time in your life to think differently. Time to turn your mind off from thinking about all the things you need to build, how you’re going to build them, and all the things you need to read. Here are a couple suggestions for making time like this:
- After work, spend 1-2 hours doing something out of the ordinary, instead of going straight home. (Go to a park, hang out at a library, walk around a mall, ride a bike, etc.)
- Take a break from social media, T.V., video games, whatever things you spend a lot of time on. Replace them with activities that are the opposite of them. (Joining a group fitness class, going to a local meetup, working with a charity/non-profit, etc.)
- Find a 6 month contract working 20-30 hours a week. Quit your day job, and use your new found time to think and do different things in life.
- Find a job (part-time or full-time) doing something completely different from software development. This may seem extreme, but doing a totally different type of work for a season may shock you in how much it affects your ability to think. (Most preferable would be a job with both people interaction and that doesn’t require you to think too hard. I’ve had numerous friends who were software developers that did work as a waiter, volunteer fireman, paramedic, or delivery driver, and really enjoyed themselves and had some very good experiences.)
A common theme here is doing things we wouldn’t normally do with people we wouldn’t normally see – and this sort of thing can help us break out of our patterns of thinking, stimulate different parts of our brain, and cultivate new ideas because our life experience is different. Your goal should be to spend less time growing your knowledge, and more time having new life experiences.
As you go, keep your eyes peeled and create a running list of questions to ask people. Think about the problems and opportunities facing the people you meet. Here’s a couple to get you started.
- “What is an app you would pay money for?”
- “What are the things that really annoy you about life?”
Every time you have an idea, no matter how crazy, write it down. Dream about it and write down your thoughts while the idea is fresh. Finding a truly good idea you can build a business around is hard. The best way to do it is to have a lot of ideas. Do these things for an extended period of time, and I believe you will dramatically increase your chances of coming up with an idea worth building.