Ask HN: How can I pick a side project and stick with it?
364 comments
Don't. Most side projects aren't worth investing heavily in, but you can't tell which is which without trying them. I had started hundreds of programs before Erich Gamma and I programmed together. If I had forced myself to "stick with" one of those early projects, we wouldn't have written JUnit.
I’m just like you.
I stumbled upon a book called Refuse to Choose and it’s about a personality type (that is definitely not ADHD) that happens to want to do a lot of things (sometimes in parallel or in sequence). It was very comforting to know others struggle with this and this book helps you to be ok with it. I wouldn’t say it “cured” me but I think about it differently now and use it more to my advantage. Worth a read at a minimum.
There was one very profound idea in this book that goes like this:
“If you are no longer interested in a project you started, maybe you already got what you came for”.
In essence, maybe it’s not the finishing of the project you came for but maybe the learning or understanding of how it could be done if it were to be done.
This realization is interesting for someone who exhibits this behavior. When I was a kid, I loved to build legos but after following the instructions and building a kit, I wouldn’t touch it again. As I think back now, it likely was because “I got what I came for” (the challenge of putting it together was more interesting to me than the end product).
I stumbled upon a book called Refuse to Choose and it’s about a personality type (that is definitely not ADHD) that happens to want to do a lot of things (sometimes in parallel or in sequence). It was very comforting to know others struggle with this and this book helps you to be ok with it. I wouldn’t say it “cured” me but I think about it differently now and use it more to my advantage. Worth a read at a minimum.
There was one very profound idea in this book that goes like this:
“If you are no longer interested in a project you started, maybe you already got what you came for”.
In essence, maybe it’s not the finishing of the project you came for but maybe the learning or understanding of how it could be done if it were to be done.
This realization is interesting for someone who exhibits this behavior. When I was a kid, I loved to build legos but after following the instructions and building a kit, I wouldn’t touch it again. As I think back now, it likely was because “I got what I came for” (the challenge of putting it together was more interesting to me than the end product).
I've finished loads of hobby projects, despite full time jobs, and I've been told that I'm a bit of an expert on this. I see there's lots of comments already so I'll keep it short.
1) If you can't focus on a project longer than two days, then pick a project you can finish in three days. Honestly evaluate how big such a project can be. I also see this as students learn to code. They learn the basics then think they're going to dive into a 2000 hour project. Instead, you need to ask yourself "what's the biggest project of this type I've ever finished" then add 50% to that. Like an athlete, you need to build up the endurance for your self-motivation to survive longer and longer projects. The payoffs are bigger but your human brain needs to trust that a payoff exists based on past experience.
2) I prefer not to talk about my future dreams for a project. What happens is I get enjoyment out of talking about what I "will" do, but without actually doing it. Then if I ever finish the work, I get less enjoyment because I already talked about it. In this way I'd be stealing enjoyment from my future self! An exception is advice.
1) If you can't focus on a project longer than two days, then pick a project you can finish in three days. Honestly evaluate how big such a project can be. I also see this as students learn to code. They learn the basics then think they're going to dive into a 2000 hour project. Instead, you need to ask yourself "what's the biggest project of this type I've ever finished" then add 50% to that. Like an athlete, you need to build up the endurance for your self-motivation to survive longer and longer projects. The payoffs are bigger but your human brain needs to trust that a payoff exists based on past experience.
2) I prefer not to talk about my future dreams for a project. What happens is I get enjoyment out of talking about what I "will" do, but without actually doing it. Then if I ever finish the work, I get less enjoyment because I already talked about it. In this way I'd be stealing enjoyment from my future self! An exception is advice.
A friend of mine said to do a successful software product you need three kinds of developers. Skip one and you will likely fail.
1. the kamikaze
2. the soldier
3. the sniper
Kamikazes start the project. They have a broad vision of how the result will look (total victory, ofc) and they do not pay attention to the mountain at the horizon or the road missing a bridge over a canyon a few hundred clicks ahead. They just start running.
Soldiers are those who march on day by day. Following in the kamikazes footsteps they do the grunt of the work. Much more thoroughly than a kamikaze ever could muster patience or care for.
Snipers are needed when the army hits an obstacle. Like a booby trapped rock in the middle of the road. They will shoot the explosives from afar. They are highly specialized individuals who care much more for the problem they solve than what means to what end it presents.
Most developers I know have a little bit of all these three types in them.
I did understood long ago that I am mostly a kamikaze.
Coming to terms with that when I do not finish yet another spare time project ... that's a lifelong goal to overcome.
You are in good company. As others said: focus on the learning more than on the result. This is what makes coping with not finishing stuff much easier for me.
At the same time this change of perspective may just provide the inkling of additional motivation needed to actually do finish one or the other of those projects.
1. the kamikaze
2. the soldier
3. the sniper
Kamikazes start the project. They have a broad vision of how the result will look (total victory, ofc) and they do not pay attention to the mountain at the horizon or the road missing a bridge over a canyon a few hundred clicks ahead. They just start running.
Soldiers are those who march on day by day. Following in the kamikazes footsteps they do the grunt of the work. Much more thoroughly than a kamikaze ever could muster patience or care for.
Snipers are needed when the army hits an obstacle. Like a booby trapped rock in the middle of the road. They will shoot the explosives from afar. They are highly specialized individuals who care much more for the problem they solve than what means to what end it presents.
Most developers I know have a little bit of all these three types in them.
I did understood long ago that I am mostly a kamikaze.
Coming to terms with that when I do not finish yet another spare time project ... that's a lifelong goal to overcome.
You are in good company. As others said: focus on the learning more than on the result. This is what makes coping with not finishing stuff much easier for me.
At the same time this change of perspective may just provide the inkling of additional motivation needed to actually do finish one or the other of those projects.
Since I haven’t seen this in the comments so far, I’ll suggest that you begin to reflect on what’s truly meaningful to you. It sounds like you’re able to have a lot of ideas that aren’t particularly meaningful, which are probably ideas you got from the values of your cultural environment. So try reflecting on the following prompts: what kinds of experiences do I want to help people have, that would be truly satisfying to see? What moves my heart and gives me energy to keep going?
With deeper meaning and purpose it will be natural to want to stick with something.
> Has anyone else experienced this, and, more importantly, found their way out?
I wrote a little bit about that in these two articles:
Why I Quit Tech and Became a Therapist: http://glench.com/WhyIQuitTechAndBecameATherapist/
Deep Listening at the Recurse Center: http://glench.com/DeepListeningAtTheRecurseCenter/
With deeper meaning and purpose it will be natural to want to stick with something.
> Has anyone else experienced this, and, more importantly, found their way out?
I wrote a little bit about that in these two articles:
Why I Quit Tech and Became a Therapist: http://glench.com/WhyIQuitTechAndBecameATherapist/
Deep Listening at the Recurse Center: http://glench.com/DeepListeningAtTheRecurseCenter/
You’ve already done step one: realise the pattern. Step two is don’t do the new project. See it for what it is, not a great new idea, but another step down the road you’ve been walking down for years.
Just because an idea pops into your brain, doesn’t mean you owe it anything.
Something that may help is picking a smaller project, so small you could do it in a day or two. Build up some endurance over time.
Good luck
Just because an idea pops into your brain, doesn’t mean you owe it anything.
Something that may help is picking a smaller project, so small you could do it in a day or two. Build up some endurance over time.
Good luck
Hey OP, I have been exactly where you are, about three years ago, and now I have a backlog of completed side projects of varying size that I am very happy with.
Here's some quick advice:
* Start smaller. Your projects are probably too ambitious to start. Graphical games are actually quite complex. Start with small projects and work your way to larger ones. My first projects were chrome extensions and silly command line tools. They helped me build some resilience that I used later to complete more complex projects.
* When you do tackle larger projects, do your best to see them as a series of smaller projects. Each project should deliver some value on its own. I recently built a web game about navigating a randomly generated maze and avoiding monsters. Here's how I broke it up: first I built a command line tool to generate mazes. Then I separated the core functionality into a library. Then I deployed an API wrapping that library. Then I built a simple UI that allowed a user to navigate that maze. Finally, I started adding enemies. Each enemy was its own project, each with more complex path finding than the last. At each step in this process, I had learned something new and had a deliverable to show for it.
* Your question suggests that the problems you are trying to solve are not interesting enough. This belies a beginner mindset: that you have to be interested first, and then work happens off the fuel of your interest. The truth is that most interesting projects involve a lot of days where the creator feels disinterested, but shows up any way. The most important thing you can do for yourself is cultivate the resilience required to keep showing up, so you can reap the satisfaction of completing great work later.
Here's some quick advice:
* Start smaller. Your projects are probably too ambitious to start. Graphical games are actually quite complex. Start with small projects and work your way to larger ones. My first projects were chrome extensions and silly command line tools. They helped me build some resilience that I used later to complete more complex projects.
* When you do tackle larger projects, do your best to see them as a series of smaller projects. Each project should deliver some value on its own. I recently built a web game about navigating a randomly generated maze and avoiding monsters. Here's how I broke it up: first I built a command line tool to generate mazes. Then I separated the core functionality into a library. Then I deployed an API wrapping that library. Then I built a simple UI that allowed a user to navigate that maze. Finally, I started adding enemies. Each enemy was its own project, each with more complex path finding than the last. At each step in this process, I had learned something new and had a deliverable to show for it.
* Your question suggests that the problems you are trying to solve are not interesting enough. This belies a beginner mindset: that you have to be interested first, and then work happens off the fuel of your interest. The truth is that most interesting projects involve a lot of days where the creator feels disinterested, but shows up any way. The most important thing you can do for yourself is cultivate the resilience required to keep showing up, so you can reap the satisfaction of completing great work later.
Get people using it. Period.
Result: with every user interaction you will get a refreshment of motivation. I've done it for 5 years.
Long version: I was all about starting projects and never finishing, until one day I actually put one online and started spreading the word through discussion boards.
So step 1) Launch and spread the word. You get 1 thing out of this immediately: you WILL finish it to the bare minimum, because what if someone actually tries to use your product?
You could argue: yeah, but when I give up on the project it's no where near ready to be launched. I would argue back that if you dropped it, it probably means you got something out of it - could someone also benefit from it? Maybe, at that moment switch your brain to: now let's launch this and spread the word.
Step 2) Put metrics in it You want to see if there's people coming to your website. Crucial for step 3, read on.
Step 3) You will see people coming to your website and interacting with your product. This is the best part, because it gives you such a kick of motivation that will make you want to continue working on it. It just keeps giving.
I've started a project 5 years ago and I put it out there and forgot about it. 2 months after someone used it and I got my first reservation. That was such a source of motivation!! It's magical and it's a cycle. As I continue working on it as my side project and as I start losing interest, I get a new user which then sources me with more motivation to keep going. This cye repeats
I've learned a lot in terms of business, technology stack and devops, but all this applied to the same project I started 5 years ago.
Result: with every user interaction you will get a refreshment of motivation. I've done it for 5 years.
Long version: I was all about starting projects and never finishing, until one day I actually put one online and started spreading the word through discussion boards.
So step 1) Launch and spread the word. You get 1 thing out of this immediately: you WILL finish it to the bare minimum, because what if someone actually tries to use your product?
You could argue: yeah, but when I give up on the project it's no where near ready to be launched. I would argue back that if you dropped it, it probably means you got something out of it - could someone also benefit from it? Maybe, at that moment switch your brain to: now let's launch this and spread the word.
Step 2) Put metrics in it You want to see if there's people coming to your website. Crucial for step 3, read on.
Step 3) You will see people coming to your website and interacting with your product. This is the best part, because it gives you such a kick of motivation that will make you want to continue working on it. It just keeps giving.
I've started a project 5 years ago and I put it out there and forgot about it. 2 months after someone used it and I got my first reservation. That was such a source of motivation!! It's magical and it's a cycle. As I continue working on it as my side project and as I start losing interest, I get a new user which then sources me with more motivation to keep going. This cye repeats
I've learned a lot in terms of business, technology stack and devops, but all this applied to the same project I started 5 years ago.
I’ve been employing a tactic I’ve picked up from artists/authors: don’t talk about your project.
Talking about it tricks your brain into thinking you’ve done the work and you lose motivation.
Sticking to a schedule can help as can ritualizing the process of working on your project: have a certain place you associate with the project or a particular genre of music that gets you excited (it’s important to not listen to that genre/album while doing anything else). These tactics exploit the power of association in our brains to form habits.
Talking about it tricks your brain into thinking you’ve done the work and you lose motivation.
Sticking to a schedule can help as can ritualizing the process of working on your project: have a certain place you associate with the project or a particular genre of music that gets you excited (it’s important to not listen to that genre/album while doing anything else). These tactics exploit the power of association in our brains to form habits.
I have battled this since programming became my profession. Over years I was trained to create in ways that maximize income, and stop when there is no income link. Decades later, this made working for passion very difficult.
Here are a few ideas that seem to consistently help me.
* one, sheer willpower. It's a muscle that needs building, but keep going when you don't have any further interest for the sake of completing the task. Even when it feels like torture. It's about forcing yourself to the finish line. Often the interest comes back later.
* Move the finish line closer. Formally write down what you want to develop with milestones, with a go/no go decision at each milestone. If you decide not to continue at a milestone, that was part of the plan, so you completed the project.
* work on things that develop skills you expect to bring to the workplace and apply there. That's a pretty direct link to income.
* work on things you want or to keep current with younger hires -- I'm learning gitops on k8s at home, and packaging charts to self-host some things I've wanted at home anyways. Even though I manage these days, it's important to understand how things work to a decent degree in order to have meaningful discussions with the broader team. I know managers who get by without that, but I'm not one of them.
For what it's worth, continuing on because that's what you planned to do sometimes leads to a renewal of interest later in the project.
Here are a few ideas that seem to consistently help me.
* one, sheer willpower. It's a muscle that needs building, but keep going when you don't have any further interest for the sake of completing the task. Even when it feels like torture. It's about forcing yourself to the finish line. Often the interest comes back later.
* Move the finish line closer. Formally write down what you want to develop with milestones, with a go/no go decision at each milestone. If you decide not to continue at a milestone, that was part of the plan, so you completed the project.
* work on things that develop skills you expect to bring to the workplace and apply there. That's a pretty direct link to income.
* work on things you want or to keep current with younger hires -- I'm learning gitops on k8s at home, and packaging charts to self-host some things I've wanted at home anyways. Even though I manage these days, it's important to understand how things work to a decent degree in order to have meaningful discussions with the broader team. I know managers who get by without that, but I'm not one of them.
For what it's worth, continuing on because that's what you planned to do sometimes leads to a renewal of interest later in the project.
When you're imagining a rogue-like use a piece of paper and some fat markers and make some of its artwork. That's where it starts. Not with downloading a graphics library. Not with configuring Travis-CI. Not with >git init. Those are pretend work. They are non-progress. They are not creative work. They are not hard. The hard thing is doing something poorly. The hard thing is barely making progress. The hard thing is opening yourself up to someone saying "that's inefficient." That someone is usually you. Good luck.
Focus on solving a problem. Find something you actually care about and need to make instead of something that you think sounds cool or that you think might make money. Let those things happen organically. If you actually solve a problem people will tell you that it's cool, and they might pay you for the solution.
As someone who has been failing on side projects for over 20 years, I feel qualified to answer this question.
I also have general tips on side projects that make them more fun and less like work:
- Have one private repository for random projects
- Work in private repositories for random
projects that progress.
- Move to public repositories when the project
gets somewhere.
These tips above make failure cheap. Success is built on the many failures.I also have general tips on side projects that make them more fun and less like work:
- Use a different editor/ide to $job.
- Use a different programming language.
I also have these general tips based on mistakes I made in the past: - Read other peoples solutions on github. Its inspiring.
- If you get stuck take a break. Its not work and you can slack.You describe focusing on the solution. The inspiration to make your solution generally feels great, but doesn't endure. On the contrary, you'll get caught up in more and more solutions because you're mostly satisfying fleeting whims.
Focusing on the problem and the people who feel it will generally engage and inspire you longer. When you ask someone about what's missing in their lives or specifically what emotions they feel in the area you want to work in, they tell you, you offer possible solutions, and they say "when will you finish it, I want to buy it?", that inspiration lasts a long time.
Whom do you want to make your project for? What emotions do they feel that you want to address? Are they bored, frustrated, confused, misunderstood, lonely, etc? Each emotion is different and will lead to different solutions. Ask them so you hear in their words what they want. Ask them to clarify.
The inspiration to help others is deeper and creates meaning and purpose beyond just "I'm going to do something cool everyone will love."
I cover how to make this happen in my book, Initiative http://joshuaspodek.com/initiative based on project-based learning entrepreneurship courses I taught at NYU. If anyone is interested in doing the exercises after reading the reviews and watching the videos but cost is a problem, email me and we'll work something out. I suggest the book because of the results people get from doing the exercises.
Focusing on the problem and the people who feel it will generally engage and inspire you longer. When you ask someone about what's missing in their lives or specifically what emotions they feel in the area you want to work in, they tell you, you offer possible solutions, and they say "when will you finish it, I want to buy it?", that inspiration lasts a long time.
Whom do you want to make your project for? What emotions do they feel that you want to address? Are they bored, frustrated, confused, misunderstood, lonely, etc? Each emotion is different and will lead to different solutions. Ask them so you hear in their words what they want. Ask them to clarify.
The inspiration to help others is deeper and creates meaning and purpose beyond just "I'm going to do something cool everyone will love."
I cover how to make this happen in my book, Initiative http://joshuaspodek.com/initiative based on project-based learning entrepreneurship courses I taught at NYU. If anyone is interested in doing the exercises after reading the reviews and watching the videos but cost is a problem, email me and we'll work something out. I suggest the book because of the results people get from doing the exercises.
The first thing I'd suggest you do is understand why you want to do a side project at all. Unless you have a specific goal you want to achieve and you actually value that goal, you'll have a hard time convincing yourself to do the work you need to do to make it happen.
You also shouldn't fool yourself about the amount of time and effort it takes to achieve anything real. Developers tend to underestimate the work involved in achieving a result. For commercial projects that sort of estimation problem turns into cost overruns and missed deadlines. For side projects (without formal schedules) it turns into demoralization when the result you want doesn't meet the timeline of your dreams. That solitaire game may seem like an easy thing to do, but for every complexity you see there's a dozen you don't, and you'll have do the work to solve them all to produce something of value. So make sure it's something you actually care about.
You also shouldn't fool yourself about the amount of time and effort it takes to achieve anything real. Developers tend to underestimate the work involved in achieving a result. For commercial projects that sort of estimation problem turns into cost overruns and missed deadlines. For side projects (without formal schedules) it turns into demoralization when the result you want doesn't meet the timeline of your dreams. That solitaire game may seem like an easy thing to do, but for every complexity you see there's a dozen you don't, and you'll have do the work to solve them all to produce something of value. So make sure it's something you actually care about.
1. The WHAT should be something very important to someone else.
2. The HOW should be something very important to you.
Many experts tell you that you should build something that you actually need yourself. That may be good advise for start-ups but not as good for side projects. Why? Because it's too damn easy to just give up as soon as you hit an obstacle (and you WILL hit obstacles).
But when someone else is depending on your work (and becomes a trusted collaborator), they provide you with that extra UMMPH you will undoubtedly need when the going gets tough. It's a lot harder to bail out when someone is right next to you and depending on you.
But by deciding on your own HOW you will build it, you maintain an outlet for your passion. Believe me, I know. For me the journey of building something is more fun than the anticlimactic using of the finished product.
Works all the way around. Give it a try.
2. The HOW should be something very important to you.
Many experts tell you that you should build something that you actually need yourself. That may be good advise for start-ups but not as good for side projects. Why? Because it's too damn easy to just give up as soon as you hit an obstacle (and you WILL hit obstacles).
But when someone else is depending on your work (and becomes a trusted collaborator), they provide you with that extra UMMPH you will undoubtedly need when the going gets tough. It's a lot harder to bail out when someone is right next to you and depending on you.
But by deciding on your own HOW you will build it, you maintain an outlet for your passion. Believe me, I know. For me the journey of building something is more fun than the anticlimactic using of the finished product.
Works all the way around. Give it a try.
Maybe you need to examine what your true goal is. Why do you want a side project? Are you doing it because you feel like you are supposed to have side projects, or because you actually want to accomplish a goal? If it's the former, you could try to align the side project with another goal of yours - say learning some new language or framework.
If you are just trying to build a portfolio you can come up with a (small) "SMART" goal, and commit to completing it. After you reach the milestone you can make a conscious decision whether to continue or not - but either way you have _something_ completed.
https://en.wikipedia.org/wiki/SMART_criteria
If you are just trying to build a portfolio you can come up with a (small) "SMART" goal, and commit to completing it. After you reach the milestone you can make a conscious decision whether to continue or not - but either way you have _something_ completed.
https://en.wikipedia.org/wiki/SMART_criteria
I have similar questions how people stick to projects and get them done. And how can I do the same. I have so many unfinished ideas, abandoned projects that I got tired of this. And after a year I have an answer with a prove.
I've learned that I'm excited about idea of the project, but not routine which gets that idea done. Also I know that usually I'm excited about project for several days and then other ideas get in my head and I loose focus. Another known pitfall is urge to get too much functionality and then again focus is lost.
So I decided to stick to the routine of one project regardless of circumstances. I defined wanted functionality. Intrinsically I agree that time spent on the project is not worse than alternatives.
Also I tried to record videos (in russian) on how I approached the project. That helped a bit with external motivation as I promised people to deliver video on Saturday. Made quite a number (26) before abandoned this idea, as it wasn't popular, thus rewarding for me.
Now in a year I call this experiment done https://github.com/podgorniy/media-manager. I'm happy with result and path I did to get there.
We can discuss details more. My first unfinished project dates 2013. So I've being in this situation for quite a while.
I've learned that I'm excited about idea of the project, but not routine which gets that idea done. Also I know that usually I'm excited about project for several days and then other ideas get in my head and I loose focus. Another known pitfall is urge to get too much functionality and then again focus is lost.
So I decided to stick to the routine of one project regardless of circumstances. I defined wanted functionality. Intrinsically I agree that time spent on the project is not worse than alternatives.
Also I tried to record videos (in russian) on how I approached the project. That helped a bit with external motivation as I promised people to deliver video on Saturday. Made quite a number (26) before abandoned this idea, as it wasn't popular, thus rewarding for me.
Now in a year I call this experiment done https://github.com/podgorniy/media-manager. I'm happy with result and path I did to get there.
We can discuss details more. My first unfinished project dates 2013. So I've being in this situation for quite a while.
I faced this. Start a website then lose it because I would be losing interest in few weeks.
The thing which I followed is to fix my routine. Joined a Gym, it helped a lot on focusing on things & made me mentally strong.
Take off time, started travelling & took a long break & then get back to work. A step closer to nature made me fresh & met people who are really working hard despite the lack of resources. This made me think about how am wasting my time, despite having all the resources.
Sat one day & written everything on things I wanted to do. Made a weekly task, monthly, quarterly. Then started steps to accomplish it.
At first it wasn't easy but slowly I made a habit & then finally get used to it.
Just follow something for 21 days, it will be a habit.
All you need is 21 days.
The thing which I followed is to fix my routine. Joined a Gym, it helped a lot on focusing on things & made me mentally strong.
Take off time, started travelling & took a long break & then get back to work. A step closer to nature made me fresh & met people who are really working hard despite the lack of resources. This made me think about how am wasting my time, despite having all the resources.
Sat one day & written everything on things I wanted to do. Made a weekly task, monthly, quarterly. Then started steps to accomplish it.
At first it wasn't easy but slowly I made a habit & then finally get used to it.
Just follow something for 21 days, it will be a habit.
All you need is 21 days.
You must pick something that is really meaningful for you in a way that will make you feel good seeing the progress of the project you are working on.
What would a Roguelike have to be to take your full attention? How a strategy game you really love has to look like?
What you like beyond games? If you like gardening, make a game about it. Are you a sports fan? Make a sport game. You get the idea.
I'm saying this because it's working for me. Like you, I want to make games on my own. I am also into politics, so I chose a language and a framework[¹] and started from the tutorial with the goal of making a politically-charged infinite-runner[²].
After getting the basics I told my idea to a couple of friends that kindly drew sprites for me to use in the game. It's been a really cool experience. I'm doing it everyday and learning a lot in the way. I strongly believe that the subject choice for the project is what is getting me hooked to it.
¹: https://haxe.org and https://haxeflixel.com/
²: https://github.com/fullynotanalien/bozorun (edit: formatting)
What you like beyond games? If you like gardening, make a game about it. Are you a sports fan? Make a sport game. You get the idea.
I'm saying this because it's working for me. Like you, I want to make games on my own. I am also into politics, so I chose a language and a framework[¹] and started from the tutorial with the goal of making a politically-charged infinite-runner[²].
After getting the basics I told my idea to a couple of friends that kindly drew sprites for me to use in the game. It's been a really cool experience. I'm doing it everyday and learning a lot in the way. I strongly believe that the subject choice for the project is what is getting me hooked to it.
¹: https://haxe.org and https://haxeflixel.com/
²: https://github.com/fullynotanalien/bozorun (edit: formatting)
This is common for most people, at least in the beginning. This is the nature of creative projects because it's just always going to be easier to think of an idea than execute it.
1) you have to recognize that the dopamine rush of new ideas will not carry you through the project to completion in the same way it drove you to start. Inspiration is useful, but it's fleeting or at best inconsistent. The sooner you stop relying on inspiration to last, the sooner you'll learn to find other ways of motivating yourself. That being said, it's useful for inspiration to fade. This can help you decide the difference between a project that's really useful or was just an idea you had that is not necessarily worth your time.
It also depends on how you work. Some people prefer long bouts of work and long breaks, others prefer a little bit each day. It doesnt matter which or both you try, just keep moving forward.
2) Nearly everyone who creates things has way more ideas or unfinished projects or projects that didnt work out than completed projects.
3) finished projects rarely end up the way you expected and wanted in the beginning. The sooner you accept this the sooner you can be flexible throughout the process to bring what's feasible to completion, rather than an idea that hit many snags
4) related to #3 is learn to recognize asymptotic progress. In other words, many projects are never "finished". You'll always have more to add, and that's ok. You can keep adding, but dont let that hinder taking a break or showing version 1 to the world. Recognizing "good enough" is important
1) you have to recognize that the dopamine rush of new ideas will not carry you through the project to completion in the same way it drove you to start. Inspiration is useful, but it's fleeting or at best inconsistent. The sooner you stop relying on inspiration to last, the sooner you'll learn to find other ways of motivating yourself. That being said, it's useful for inspiration to fade. This can help you decide the difference between a project that's really useful or was just an idea you had that is not necessarily worth your time.
It also depends on how you work. Some people prefer long bouts of work and long breaks, others prefer a little bit each day. It doesnt matter which or both you try, just keep moving forward.
2) Nearly everyone who creates things has way more ideas or unfinished projects or projects that didnt work out than completed projects.
3) finished projects rarely end up the way you expected and wanted in the beginning. The sooner you accept this the sooner you can be flexible throughout the process to bring what's feasible to completion, rather than an idea that hit many snags
4) related to #3 is learn to recognize asymptotic progress. In other words, many projects are never "finished". You'll always have more to add, and that's ok. You can keep adding, but dont let that hinder taking a break or showing version 1 to the world. Recognizing "good enough" is important
Find a problem you want to solve for yourself and then build a solution.
I created https://myhikes.org as my side project in 2015 because I hated the existing public trail platforms at the time - a lot of things have changed since then, but so has my skill set, data set, the way I write, the way I think about features, the way I weigh pros/cons of features and time.
Don't aim to solve the world's problems or make money with a side project, aim to make your own life easier or more enjoyable in some way. You never know what will come of it later if you continue using, building, and growing your idea.
I created https://myhikes.org as my side project in 2015 because I hated the existing public trail platforms at the time - a lot of things have changed since then, but so has my skill set, data set, the way I write, the way I think about features, the way I weigh pros/cons of features and time.
Don't aim to solve the world's problems or make money with a side project, aim to make your own life easier or more enjoyable in some way. You never know what will come of it later if you continue using, building, and growing your idea.
This is a great question and one that often goes unnoticed: I observe my optimal work habits and patterns, instead of seeing them as a drawback, how to turn it advantageous?
If your optimal flow is 2-3 days spurts on mini projects then think of a big project and break it down into these mini-projects. If you can build one power ranger, you can build the mega ranger, just thoughtfully break the tasks into pieces first.
More importantly, you need a topic you are passionate about, and then you can use all your computer knowhow to make tools with that domain as a central focus or backbone. Again, you don't even have to stick with the same toolkit as long as you can break your work into meaningful mini projects.
Celebrate and rejoice when you complete mini projects, and keep your eye on how satisfying it will be to make big projects come perfectly together. If it took many people many days to build the pyramids, it will probably take one person a while to build one. I don't think that's unreasonable, the key is staying motivated. Come to the desert and leave with a pyramid
If your optimal flow is 2-3 days spurts on mini projects then think of a big project and break it down into these mini-projects. If you can build one power ranger, you can build the mega ranger, just thoughtfully break the tasks into pieces first.
More importantly, you need a topic you are passionate about, and then you can use all your computer knowhow to make tools with that domain as a central focus or backbone. Again, you don't even have to stick with the same toolkit as long as you can break your work into meaningful mini projects.
Celebrate and rejoice when you complete mini projects, and keep your eye on how satisfying it will be to make big projects come perfectly together. If it took many people many days to build the pyramids, it will probably take one person a while to build one. I don't think that's unreasonable, the key is staying motivated. Come to the desert and leave with a pyramid
What happens when you play video games?
For me video games are fun and easy to focus on day after day.
I realized that this is because video games have done a very good job of defining a goal --> FTL (my current favorite) == get to the final sector and destroy the rebel flagship. The goal is clear and you 100% know when you're done.
I've learned that I used to be really bad at defining goals. I'd say things like... 'I want to make an XYZ sort of thing'... but that's not a great goal. It's kinda vague... have you 'made' the thing when you put down 10 lines of code as a prototype? When will you be done?
If the goal is unclear I feel --> 1. like I might be signing up for an everlasting slog 2. like I'm not really sure how to win
So I find that I need 'delivery' goals --> 'my app is in the app store' or 'my article was published'. When you work for someone else this is the kind of goal they give (when will you ship XYZ) and you probably always make those.
Hope this helps!
For me video games are fun and easy to focus on day after day.
I realized that this is because video games have done a very good job of defining a goal --> FTL (my current favorite) == get to the final sector and destroy the rebel flagship. The goal is clear and you 100% know when you're done.
I've learned that I used to be really bad at defining goals. I'd say things like... 'I want to make an XYZ sort of thing'... but that's not a great goal. It's kinda vague... have you 'made' the thing when you put down 10 lines of code as a prototype? When will you be done?
If the goal is unclear I feel --> 1. like I might be signing up for an everlasting slog 2. like I'm not really sure how to win
So I find that I need 'delivery' goals --> 'my app is in the app store' or 'my article was published'. When you work for someone else this is the kind of goal they give (when will you ship XYZ) and you probably always make those.
Hope this helps!
There is one very simple piece of advice that I have found helps me with this:
finish.
It doesn't matter how small the finish is, but whatever it is, at least get it to a point where you have something finished. If you are writing a book, and you want to switch, finish the outline. If you start a chapter, finish it. If you start an app, have at least a hello world page up.
If you don't feel like working on it now, and a new idea pops up, feel free to start the new idea after you finish. Practice finishing just as much as you have practiced starting.
finish.
It doesn't matter how small the finish is, but whatever it is, at least get it to a point where you have something finished. If you are writing a book, and you want to switch, finish the outline. If you start a chapter, finish it. If you start an app, have at least a hello world page up.
If you don't feel like working on it now, and a new idea pops up, feel free to start the new idea after you finish. Practice finishing just as much as you have practiced starting.
I resigned myself to writing ideas and keeping side projects small but sharing my ideas anyway. Every thing is harder than it looks.
https://github.com/samsquire/ideas2
https://github.com/samsquire/ideas
https://github.com/samsquire/ideas3
https://github.com/samsquire/ideas2
https://github.com/samsquire/ideas
https://github.com/samsquire/ideas3
For me the solution was to remove motivation from the equation.
I had to tell myself "this is your job now, you have a part-time job that starts after supper." And then show up for work every day (or every other day).
As long as you keep showing up for work, the work eventually gets done.
I started thinking this way in late 2013 and shipped the 1.0 of my first successful side project about 6 months later.
People who don't ship will tell you that side projects shouldn't feel like work, but you can ignore them. Shipping feels fantastic.
I had to tell myself "this is your job now, you have a part-time job that starts after supper." And then show up for work every day (or every other day).
As long as you keep showing up for work, the work eventually gets done.
I started thinking this way in late 2013 and shipped the 1.0 of my first successful side project about 6 months later.
People who don't ship will tell you that side projects shouldn't feel like work, but you can ignore them. Shipping feels fantastic.
Part of why people can’t stick to projects is because their way of self-motivating is too critical in nature and the emotional life rightfully pulls out of anything where the ratio of +/- reinforcement is skewed too much toward abuse and threat.
Rather than turning to self-loathing and criticism you can interpret this resistance because you have not yet figured out how to encourage and motivate yourself.
Find a way to get yourself to not feel under threat of failure and you’ll blossom
Rather than turning to self-loathing and criticism you can interpret this resistance because you have not yet figured out how to encourage and motivate yourself.
Find a way to get yourself to not feel under threat of failure and you’ll blossom
Have you considered the possibility that you may have ADHD-inattentive-type?
There are online tests based on DSM criteria that can show you if it’s worth looking deeper into, such as this one:
https://psychcentral.com/quizzes/adhd-quiz/
There are online tests based on DSM criteria that can show you if it’s worth looking deeper into, such as this one:
https://psychcentral.com/quizzes/adhd-quiz/
I used to be like you.
Back in my early career years, and even before when I was a student, I used to have a lot of cool side projects that would only interest me for so long. I would spend a few hours or days on them, and then throw them out or forget them.
It was ok because I did not care about the project in itself. It was interesting to try new techs, or methods, or just spend some time doing something I loved.
It stopped being ok when something shifted in my mind : I subconsciously decided that I wanted to stick to a project. But it was for the wrong reasons. I wanted to make money. I wanted to have a cool startup. I wanted to be able to stop working. Too much Hackernews hype. But since I did not really care about the project itself, I never managed to stick to it.
After years of frustration, I quit wasting my time and took on some other non IT related hobbies.
Two years ago, I picked a side project for the first time in years: it's a cool music theory related website.
https://www.mamie-note.fr in case you're curious.
I've managed to keep working on it (and being interested to do it) since then. It's the longest time I've ever spent on a single project.
Here are the things that are different for me today:
Back in my early career years, and even before when I was a student, I used to have a lot of cool side projects that would only interest me for so long. I would spend a few hours or days on them, and then throw them out or forget them.
It was ok because I did not care about the project in itself. It was interesting to try new techs, or methods, or just spend some time doing something I loved.
It stopped being ok when something shifted in my mind : I subconsciously decided that I wanted to stick to a project. But it was for the wrong reasons. I wanted to make money. I wanted to have a cool startup. I wanted to be able to stop working. Too much Hackernews hype. But since I did not really care about the project itself, I never managed to stick to it.
After years of frustration, I quit wasting my time and took on some other non IT related hobbies.
Two years ago, I picked a side project for the first time in years: it's a cool music theory related website.
https://www.mamie-note.fr in case you're curious.
I've managed to keep working on it (and being interested to do it) since then. It's the longest time I've ever spent on a single project.
Here are the things that are different for me today:
- I do care about the project in itself: it's the site I wish existed when I started learning music, and the site grows as I'm growing as a musician.
- I really enjoy the daily process of working on it, I don't fantasize about how great the end result will be in a few years.
- I don't care about the tech, I care about the topic.
- I'm turning the site into a business, but making a living with it will be a cool side effect, not the main objective.
- Since I do have a family now (and we are in lockdown), I have much less time to work on it. It's easier to stay motivated when you spend two or three ours on a project instead of 15 or 20.
- Working on this project is a hobby, but it's not my only hobby, I take interest in other things, so when I'm bored and don't sweat it and take breaks for some days or weeks.
My two cents.
My problem is that I cannot seem to be able to pick a project (any project) and stick with it long enough to do any meaningful progress, let alone finishing it. It's been several years since I've managed to work on a side project for more than two days continually.
I sit before the computer thinking: I know! I'll write a roguelike in X! Five minutes later, I'm thinking: fuck roguelikes! I'll write a graphical solitar card game with Y! Five minutes later, I don't care for it anymore, and would rather write an isomorphic strategy game in Z.
The same thing happens with tools I might need, applications I think about, experimental stuff, etc.
Has anyone else experienced this, and, more importantly, found their way out? How?