开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《技能树 web-skills》
今日推荐英文原文:《How to Choose Your Next Side Project》

今日推荐开源项目:《技能树 web-skills》传送门:GitHub链接
推荐理由:这个项目总结了一系列对于网络开发者来说必要的技能,每个技能都提供了一些资源链接来方便读者进行学习。并且这个项目在自己的网页上使用树的方式来表达各个技能之间的关系,配合可视化的图标让读者能够很快理解这些技能。

今日推荐英文原文:《How to Choose Your Next Side Project》作者:Filipe Silva
原文链接:https://medium.com/better-programming/how-to-choose-your-next-side-project-9dbe429e6f86
推荐理由:要开始一个项目自然需要有目的的开始

How to Choose Your Next Side Project

A guide to help you choose side project ideas with purpose in mind

If you are reading this article, I’m willing to bet you have also read your fair share of “side project ideas” posts. I also love going through those, curious as I am, in search of some magical spark, some rabbit hole to lose myself in with abandon for a couple of months.

Well, this is not that kind of post. Not in isolation, at least. This will be a trilogy of articles about side projects and rest assured, a list of fun side projects is coming in the second post.

The weird thing about those lists is this feeling that for each article written about fun projects, the more pressure we face to always be working on one. If that was not enough, I have to admit, they also induce some kind of analysis-paralysis.

All projects have different pros and cons, technologies, and degrees of challenge, which can make the first step, picking one idea and starting to work on it, almost impossible.

I have been thinking about this problem, and I’m going to propose a few guidelines to help you decide on what you are going to have fun with developing, next.

There are so many of us with skills to create something meaningful, that even if I get one person unstuck, it would be already a big win for me.

So, fasten your seat belts and come with me.

Why Do You Want to Build a Side Project?

Investigate your why. Ask yourself the question and don’t stop with the first answer. Ask again: “Why is that?”

This is not to discourage you if you don’t like soul searching, or because you think you might find reasons that will make it even harder to get started.

The clearer you can make the reason why you want to start working on a new project, the easier it will be to make all the decisions leading you through it.

Starting with, you guessed it, picking the right idea from all the ones in articles like this or those bouncing around in your head.

Let’s look at an example, shall we?
  • “I want to build a side project because I want to experiment with some technologies.”
  • “Why do you want to experiment with some technologies?”
  • “Because I see an increasing number of people talking about them and I want to see what they are all about.”
  • “Why do you want to see what they are all about?”
  • “Because I want to check if they could make my job easier.”
  • “Why do you want to check if they could make your job easier?”
  • “Dude, seriously?!”
Alright, that was a piece of dialogue that won’t win any Nobel prizes. Let’s imagine though, we reveal our why to be: “I want to create a side project so that I can check if these technologies can make my job easier”.

We can use it to give us some perspective. We know what we do at our jobs, the kinds of problems we solve, some nagging constraints even.

If you are currently building some microservices back end for an online shop, and you want to start a side project to explore some technologies to help you with it, I would say the benefits of developing a recommendation service, or a weather app, are much more aligned to your purpose than another to-do app or a Twitter bot.

Notice that I’m not saying those are bad side projects ideas, but I’m only saying there are better alternatives to what you are looking for.

This is the great thing about figuring your why first. It narrows your choices, making clear what the best options available are.

My Favorite Reasons to Start a Side Project

It helps to have a clear purpose to start something. That is clear. Which doesn’t mean there will be only one reason why you would start that side project. If more than one reason converges into the same idea, I would say your chances of having a winner increased.

The list below is a non-exhaustive compilation of reasons I look for when evaluating if a side project idea has the potential to fulfill the purpose I establish for it. Use them to decide your next project if you see yourself in them.

I will learn something from it

The challenge, today, is almost to not learn something when you develop a new piece of software. Even if you just turn on the auto-pilot and produce the same looking web page for the 40th time, you will probably learn a new shortcut that will be part of your workflow from then on.

Being a new web framework, a new language, a new best practice, a new way to integrate existing tools, every day there is something new that can interest you and can provide a starting point to build something with it.

Bonus points if you challenge yourself to step a little bit outside of your comfort zone. My advice is to never consider yourself incomplete, or missing out if you are not touching all bases.

You can’t learn everything, but you can always be learning something.

That’s the advantage of starting a project with this purpose in mind.

I will use what I built afterward

Building something you know you will use is awesome motivation. You will be after something you need, and it will be harder to stop you until you are done. Better yet, if it’s something you need, there are probably others like you, who will gladly use what you come up with.

This can be one of the best filters of side project ideas. It becomes easy to exclude all project ideas that you already see you won’t use or those for which you are already using a great product with the same features.

Don’t throw, what you think is, an interesting project idea just because you don’t see a use for it, though. Others might find it the solution to their problems.

Take into account that you might be the only one using your project in the end, so don’t tie the value of what is supposed to be a fun experience into having others using it as well.

I estimate a short-medium completion time

A short-medium completion time is something between a weekend and two months. I would choose a side project idea based on this criteria because I don’t know the future, if I will be having fun throughout the journey, or if I’m getting out of the project what I intended.

So, to avoid spending too much time on something that is not going where I want, I limit that time frame from the start.

This would be harder to do if I started working on something that won’t see the light of the day for six months, or a year. By that time, if I’m far away from my intended destination, I might have lost six months, which hurts much more than one.

Reduce the size of the bets you make. It’s your time on the line, it’s the opportunity to be having more fun, learning something more interesting that you are not taking because you might be holding on to something for six months before any results.

If your two-month project is complete, great! Time to review and assess if you want to double down on it or start a new one, but independently of what you decide, you know you gave it your best shot and if there are any losses, they won’t be critical.

I see value in it even if I will be the only one using it

This one is related to “I will use it afterward”. Maybe “warning” is too strong of a word, but I would say we should avoid deciding to start a side project based on the bet that others will have to use it as well for it to be successful.

You are the only person you can count on will use what you will build. So, if you want to go ahead and build a social network, be prepared for the moment where you are the only one there. If you build a job board, be prepared to have zero jobs posted.

There’s always a moment in every product where you are the only one using it, but if you are looking to start a side project, this is a filter that might come in handy.

If you want to have lots of other people using what you will be developing, I would steer to a group of side projects ideas, and if you don’t care if any people use it in the end, then I would consider another group entirely.

I want a new source of income

Like the previous point, this reason is something you can start from, but you can’t guarantee the payoff will be there for you after you finish. Unless you have people already paying you before you start, that’s the picture.

This shouldn’t discourage you from starting a side project with this reason behind it. Survivorship bias or not, the examples of people that started with the same intention and built profitable businesses from it are many.

It’s also possible to filter your list of ideas with this reason in mind. You can investigate similar solutions to the ideas you have, by checking their “pricing” sections on their websites, looking for public MRR reports, the number of paying users, etc.

Find whatever you can get that lets you know if people are running successful businesses with similar ideas to the ones you are looking into. This will let you filter out many ideas where you don’t see obvious signs of money being exchanged at the amount you are looking for.

I can’t shake the idea out of my head

This is a special reason to start a side project. It works on many levels. If you look at list after list of ideas and there’s this one you can’t forget about, that’s the one you should start.

If you want to start a side project where every reason I listed until now doesn’t apply, but you still can’t let it go, well, the decision is made, and you should throw everything at it. This is a powerful reason to start something. On a deeper level of your subconscious, you are already convinced.

You should know yourself enough to tell if this happens all the time, where you could be just chasing a new shiny object, maybe even quitting the side project you are working on, to replace it with this new idea.

Try to at least give it a few days, see if you still want to start it then. Or, if you are in the middle of another project, with a reasonable estimated completion time, why not finish that first, and if this new idea is that meaningful, you can build it afterward.

On Side Projects, Default to Start

This is apparently against what I just wrote throughout the article, but the strongest reason to start something will always be because you want it. If nothing else, start something and see where that takes you. You can always, with more or less difficulty, change course or start a new journey.

Looking in retrospect at my last side project, Win-Win, I can see in it all the reasons I listed but one, as fueling my motivation, giving me a purpose.

I didn’t start with the idea of having a new source of income (it’s still not very clear how to do that if you are bargain-finding in the used board games market), but I was checking all the other boxes.

I was putting into practice a new language I was learning and doing all the front-end development (being a back-end developer ). I’m still using it almost every day since I launched it.

I completed it in roughly two months. Its value is independent of having others using it. And, yes, I couldn’t get the idea out of my head until I finished developing it.

Next time you are looking for side project ideas, first try to find the reasons why you want to start it, so you can better decide what and how. We know ideas are everywhere and the means to bring them to reality were never so accessible as they are today. We know the execution of those ideas is what counts.

If our chances of success increase 1% just because we work on something that aligns with our purpose, isn’t that time well spent?

Isn’t that reflection worth it if it gets us a little bit further in our path to a successful side project?
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/