At some stage in their careers, many software developers experience a gnawing feeling of being on the outside looking in: They read blogs, but they don’t write them; they use open-source projects, but they don’t contribute to any; they’re good at what they do, but they know they could be more.

If you’re like me, this gnawing feeling extends to a laundry list of aspirations you’d like to achieve “one day”:
• be part of an open-source project
• write a blog
• be an expert in some area
• speak at a high-profile conference
• write a book
• be more qualified

The problem, of course, is that each of these requires a substantial investment of your time. There are many reasonable objections against doing any of them: What if nobody uses your open-source project? What if nobody reads your blog? What have you got to speak about at a conference? Is all that studying worth it just for a qualification? And so on.

This article presents a way to reduce those objections, to lower the barrier of entry so that doing one (in fact, all) of the above becomes more palatable. You can do this by combining everything on the list around a single project; you get one, you get all. There’s still a lot of work involved, but it’s overlapping work. You get more bang for your buck.

Start with a Big Ideaopen source thesis
Let’s consider how to combine the laundry list into one, self-reinforcing project.

First, think of a topic for an open-source project. Then submit a proposal to your local university to do a doctoral thesis framed around it. Propose that your thesis focus on applicability to industry (i.e., to non-academics) so it will be developed in close collaboration with industry “practitioners” (developers). You’ll achieve this by generating feedback from regular open-source releases, writing blog entries, responding on message forums, conducting case studies, and through other media. If you manage to generate sufficient interest, you’ll automatically be an expert in your particular project. In turn, this may lead to conference speaker invitations or writing a book.

The important point is that each of the laundry-list items reinforces the other. Even if some don’t pan out individually—say, your blog isn’t very popular—they’ll still have strengthened the whole. And it’s a great marriage: Commercial developers can find a lot of value in strengthening their theoretical foundations, and researchers are really interested in successful examples of applying research methodologies to industry problems. Win-win.

You may wonder why you should listen to me on any of this. All I can offer is that I’ve done it: I’ve gone from having none of the items on the list to having an open-source project, a blog, a Ph.D., and being a speaker at industry conferences—all in a little over four years. (I haven’t written the book yet, but hopefully I’ve set myself up for one.)