The predominant wisdom today seems to be that to solve really large problems you have to be on a team of people with diverse specialties that can combine in interesting ways. What does that mean for solo developers though? My initial reaction when I come up against this kind of thinking is to get bull headed. I can solve problems on my own just as well as a team can, I think to myself, and I'll likely get it done faster because I don't have to suffer through committee meetings and planning sessions. I can just roll up my sleeves and get busy working.

Am I missing something though? In Imagine Jonah Lehrer devotes almost an entire chapter to Pixar. Their main offices are designed to get people to bump into one another. The bathrooms are all located in the center of the building along with the meeting rooms, cafeteria and employee mailboxes. The idea is to get people from different divisions, an artist and engineer, or an animator and script writer, to mingle together in the hopes of new ideas forming from conversations that would not have happened if those people didn't bump into each other on a regular basis. The design seems to have paid off as well. No one can deny that Pixar's movies have been extremely successful.

But what does that mean for me and other solo developers? Are we missing out on crucial social interactions that would stimulate fresh ideas and solutions for our current problems? Are we doomed to only see the world from our own perspective? Not necessarily.

I'm not a highly social person. If I worked at Pixar I would spend a fair amount of time in the central areas of the building surrounded by my coworkers and I'd likely never speak to any of them, or if I did it would be just a nervous, "Hello, how are you." I'm an intensely introverted person, that's just how I am.

There is more than one way to expose yourself to fresh ideas. I would guess that many solo developers are introverted. That is probably why they prefer to be 'solo' developers. We wouldn't benefit from being placed in a situation of being forced to interact with other people on a constant basis. It may even be harmful to our productivity. So, how do we get fresh ideas? We have to look for them in other ways. In my case I spend a lot of time reading. I read many different subjects. Programming books relevant to whatever I happen to be working on at the moment, of course, but also physics, mathematics, creativity, neurobiology, fiction, etc. I also pay attention to Hacker News, Daring Fireball and other online sources of information. All of this information keeps me current, fresh, and filled with good and bad ideas to ponder.

If you are a solo developer you have to consciously work at developing an outsiders view of your work. Be open to ideas from other sources, look for other ways to solve your problems, spend a lot of time reading material in many different domains. Don't let anyone tell you that you can't do anything great on your own.