DEV Community

Cover image for Have a “Why Conversation” With Your Side-Projects
Simon Mannes
Simon Mannes

Posted on • Originally published at mannes.tech on

Have a “Why Conversation” With Your Side-Projects

Taking a break from something allows you to see it more clearly.

It's the same with code, projects, and people.

If you return to a piece of software you have written 6 months ago, you'll think "how could I ever write this?" You'd do it differently now because you have practiced and learned.

Being away over the weekend makes me appreciate my wife even more when I'm back home.

And taking a break from a project is a great way to reassess the direction you're taking.

I did a summer break from my programming blog to reflect where I want it to go.

These are the questions I asked myself to find a new perspective on my blog during my summer-break from it.

You can use them on your own side-projects.

They work because you aren't doing side-projects for their own sake. You always have some goal with them, even if it's just "learning Flutter".

The Strategy: What × Whyⁿ × How

Basically, we need to find the deepest layer of "why", and then find a better solution for this why.

This is the general strategy:

  • What am I actually doing here currently?
  • Why am I doing this? What am I trying to achieve? What were my goals when I started this?
  • Why are these goals important? Why might they not be important?
  • How can I achieve the desired result?

Using The Strategy On My Blog

I don't want this to just be a boring lecture, so let's dive right into how I applied this to my blog.

What exactly am I doing currently regarding my blog?

Before the summer pause, I did 1 article every week, and 1 newsletter every two weeks.

The articles were from a variety of categories. In some, I shared my experiences as a software engineer or wrote about best practices. In others, I went deep into one technology, like my Gridsome framework series.

What are my goals with this blog?

Now, we need to find out the first layer of "why". The surface-level goals of this project.

From the top of my head, I have three goals with this blog:

  • Give something back to the dev-community
  • Get onto the radar of potential freelancing clients
  • Be googleable
  • Practice writing

Why are these goals important? Why might they not be important?

My whys for these surface-level goals:

Goal "Give something back to the dev-community"

  • Why:
    • As a developer I use so much open-source stuff every day. Programming languages, libraries, frameworks, documentation, articles…. Everything created by other people, most often in their free time. This feels like I should give something back, too.
    • And that is important to me because I don't want to profit one-sidedly from something, that's not who I want to be.
  • Why not:
    • It's time-consuming and sometimes tiring.

Get onto the radar of potential freelancing clients

  • Why:
    • Blogs are one of many ways to be found by potential clients. If you write a lot about a certain topic, hold conference talks about it, and write a book or two, people view you as an authority on that subject. That's a great way to get clients.
  • Why not:
    • With typical project lengths of 3-12 months, I don't need that many clients. I already have a good network and receive many project inquiries every month.
    • I also don't want to be a freelancer for the rest of my life. It's only one small step in my multi-year plan towards freedom.

Be googleable

  • Why:
    • It's cool.
    • It plays into the point above: being found by potential clients.
  • Why not:
    • I'm not sure how much I value privacy. Once stuff is on the internet, you can't remove it.

Practice writing

  • Why:
    • Writing is a very important and valuable skill as a developer, even more so if you work remotely.
  • Why not:
    • I already practiced this a lot with my blogs and newsletters.

How can I fulfill these goals?

Last, we need to think about minimum viable solutions to achieve the goals from above:

  • Give something back to the dev-community
    • One possibility here would be to only share deeper insights and experiences in longer articles.
    • I could also donate to OS projects so other people can spend more time improving the tooling I use every day.
  • Come onto the radar for potential freelancing client
    • This point is valid, but I think it's unnecessary to think about getting more (or better) clients at the moment. I don't plan on staying a freelancer for long, so I think 2-4 clients at standard market rates could be enough.
  • Be googleable
    • A LinkedIn profile, a Twitter profile or a business-card-like website are enough for this.
  • Practice writing
    • I already write a lot apart from this blog, e.g. NM newsletters.

So three of my four goals are no longer as relevant as before, and there are different ways to achieve the first one.

This gets me to the conclusions I took from this after-break exercise.

Changes to this blog

I only want to publish when I have to say something.

I know that quantity leads to quality.

But with over 185 pieces of content published on the web in the last 20 months, over 90 on this blog alone, I've done pretty well on the quantity side of things.

I really enjoy writing for and working on my second blog, Nerdful Mind. But I rarely enjoy writing for mannes.tech.

So, because of the why-investigation above, I'm conducting an experiment:

  • Only write about things I have fresh in my head (easy to write about), or topics I enjoy writing about (that are still relevant to this blog)
  • Publish at least once a month
  • Email this blog's list once a month
  • Write at one specific time slot every week and only write more if I want to

This experiment will run until February next year to collect enough data.

How you can check your side projects

What are you working on that takes a lot of time?

Do you know exactly why you're doing it? And why you're doing it the way you're doing it?

To find out, ask yourself the questions from above:

  • What exactly am I doing currently regarding X?
  • What are my goals with X?
  • Why are these goals important? Why might they not be important?
  • How can I fulfill these goals (more efficiently)?

If you enjoyed this and want to do me a favor, follow me on twitter @simon_mannes.

I also write a newsletter about mindfulness and personal growth for developers, check that you here: https://nerdfulmind.com.

Discussion (0)