Side Projects That Serve Multiple Purposes

Let’s suppose you are a Software Developer working on a project for a client. Your client wants software that will grab information from a database to be displayed in a graphical format. You work on the project until it is complete and then hand the software over to them. Your client is pleased with the result and pays you the agreed fee. With the project now completed, you move on to the next client…

Let’s stop there and analyze what happened.

You were a single Software Developer who developed a single piece of software to a single client for a single fee.

What if there was a way to multiply the usefulness of your piece of developed software? In this post, I want to show you how to get more use out of your side projects.

Plan Ahead

One of the best ways to complete anything is to plan ahead. Benjamin Franklin was attributed with the quote  “failing to plan is planning to fail.” So, what are we going to plan?

We are going to plan ahead and make sure that any side projects we take on will have multiple uses. In the above example, you the Software Developer worked on a project for one client for one fee. Once the project was done, that piece of software was of no longer use to you. Instead of working linearly like this, perhaps we can extend the life of the software by working non-linearly.

By planning to work in a non-linear way, we give the side project new ways of working for us, and not us working for it.

Diversify (Divide and Conquer)

Building upon the idea of diversification as defined by the financial industry, we can also not put all of our software in one basket (see this post for a musicians’ based perspective).

For example, you the Software Developer have now taken steps to ensure that your next side project will have multiple uses. Great! But, what does all this entail?

One way to diversify your side project is to make sure that the project has a technology that you have not used before. This technology can be a new module, website, library, or even a new development process. By doing so, not only do you complete the side project, but also learn a new technology!

Another way to get more use out of a project is to get paid for it. I will share an industry secret with you:

I get my coding side project ideas from freelancing websites like Upwork and Fiverr. What I do is simple:

  1. I find a job posting that I think I can complete (be very realistic here)
  2. I develop an MVP (Minimum Viable Product) version of the job posting
  3. If I can complete step 2, then I submit a proposal to the client
  4. I then complete the MVP to do exactly what the client wants

By the end of step four, I would have coded a piece of software that someone would pay for! Not only this, but chances are that I would have learned a new technology just by completing the project. On top of this, if my client accepts my proposal, I would already have a completed version of the software to send to them immediately and I get paid!

I could go even further and if I am not bound by a contract, can then add the software to my portfolio (if I wanted to).

Conclusion

Today I shared one example of how a Software Developer can take a side project from one use to multiple uses. Note that I write this post from experiencing how valuable it is to have multi-purpose projects like this. This is just one post that I hope will benefit Software Developers in one way or another.


What are your thoughts on this post? Do you think that a non-linear approach to developing side projects is a good idea? Can you think of other examples of this way of thinking? Leave you comments and questions below!