Five Steps to Laying Unfinished Side Projects to Rest

Five Steps to Laying Unfinished Side Projects to Rest

Admit it. The only thing you have more than unfinished side projects is domain names. Haunting you from the corners of your hard drive, creeping out from your subconscious. Is it guilt, or is it a side-project ghost?

Now is the time to get those side projects working for you in just five easy steps. Don't let that investment go to waste. You are 95% there already!

Step One - Back It Up

Make sure to back up your side projects. Once they are gone, they do you no good (even if you don't plan to use them again). Github is the place of choice for most developers simply because it is free and visible within the community.

If you don't already have a GitHub account, now is the time to open one. github.com

Step Two - Reflect On Why It Was Shelved

The next step is to decide why you stopped working on the project. Try and find a reason other than "I was bored" or "I got busy." To help understand why you stopped working on a project, think about why you first started.

E.g.:

  • It was a learning project -> I stopped because I learned my goals
  • It was a project to test an API-> My API testing was complete
  • It was a partner project -> My partner was no longer available

Be honest with yourself, but try and dig deep. Take the time you need to ponder the answer.

Step Three - List What You Learned

The reflection part is not over. It's now time to take some notes for step five.

List the skills that you learned for the first time or improved in building the project. Finished or not, you have honed those skills. It is important to look back and take stock.

E.g.:

  1. I improved my ability to apply separation of concerns using interfaces.
  2. I used dependencies strategically and sparsely to improve the re-usability of my code.
  3. I implemented several new API endpoints from the breakingbadapi.com API.

Don't make this task so overwhelming that you don't finish it.

Step Four - Note The Parts of Re-usable Code

When we develop code, we create patterns that we like to use and re-use. It's time to keep a small index of the code snippets that you use often. Remember that little thing called DRY (Do Not Repeat Yourself)? It not only applies to the code in your project but the code between projects themselves.

There are a few ways to organize your snippets. (There is no wrong way, as long as you can find it later.) I tend to use these two.

A. Most code editors (IDEs) allow snippets to be saved. Copy and paste your best code snippets to be kept in your IDE for next time.

B. Save your code snippets to your GitHub account: gist.github.com . Github allows you to save notes, snippets, or other code as fragments called 'Gists'. These too are free and can be set to private or public.

Step Five - Write a Retrospective

You are almost done. Now it is time to write a retrospective for your project. It doesn't have to be long, and it doesn't have to be complex.

After you have finished, it is time to post it publicly. You can do so on a GitHub project readme file, on your blog, website, or even on Twitter.

Some sample ideas for what to include in your retrospective (you should already be halfway there):

  • What were your goals?
  • Why did you shelf it?
  • What did you learn?
  • What skills can you carry forward?
  • Link to interesting snippets?

more-side-projects-blog.png

Let Old Projects Lie

Once you have shelved your projects and written their memorials, let old projects lie. It rarely is a good idea to dig up past projects to try and continue from the point where you left it. Your skills have improved, the code is no longer fresh, and your goals have shifted. Once you post your retrospective, you can move with no more ghosts.