Ask HN: How do you keep marching?

54 points by Phileosopher 2 years ago

I'm working on a huge hobby project, and it's getting discouraging because the results are taking longer than I expected.

When you have a vision, how do you work toward it for long spurts? Or is it more of a "micro-visions" approach? Not sure if I'm asking the right questions, so feel free to reframe them if I'm not being clear enough.

nonrandomstring 2 years ago

I use emotion.

It beats every kind of "system" and "rational" framework.

Think of the people you love. Think of how your project will help them in some small way, even if that is just making you a happier, wealthier person who can give more to them.

Think of the people you dislike, whose values you detest, who will gain and triumph in some way by your failure.

Picture a fantasy vision of a better world, where your contribution, however small, brings value to many.

If none of that stirs anything in you, and gives you a burst of energy to redouble your efforts, then two unfortunate things may be the case:

You may be incapable of emotion. About 5% of us are, in which case ignore all of the above and find a system. Stop looking for ways to "motivate yourself" because "motive" is connected to "emotion" (same root).

What you're doing may not be at all worthwhile. That isn't a reason to give up. The road to a project that's genuinely fulfilling and is "emotionally self-powered" passes through many mediocre and failed "learning" projects along the way. Completing it many be all you need to do to move on.

  • tailspin2019 2 years ago

    This seemed like pretty wise advice, so I checked your profile and see that you're no stranger to getting projects completed!

    I think a nice pairing to the "emotion" angle here, and along similar lines, is thinking about "meaning". What does it mean to you, deep down, to get this project finished? What need does it fulfil for you? Is it independence? Is it a burning need to create something, irrespective of the outcome? Is it the enjoyment from sharing what you've built? Is it financial freedom?

    It boils down to having a clear idea of the why behind something you're working on. If you know why you're doing something, and you're really clear about it, I think that can really help motivation over the long haul.

    Not everything needs a clear "why", but it can help.

    Edit: on a bit of tangent related to thinking about the "why"; as a technologist/developer, when I first get involved in a technical project and a company asks for a specific technical solution, I find it really helpful to ask "why" and to keep asking that until I break through the layers and get to the root need that the business is trying to fulfil.

    Many technology projects can go off track due to a lack of clarity about what actual business need those projects are trying to address. Often this is due to a bit of a disconnect between commercial/business people and technical teams, so it can be really useful to make sure that the business intent is communicated clearly before getting lost in the technical implementation details.

    • nonrandomstring 2 years ago

      > What does it mean to you, deep down

      Absolutely. Hard to find out sometimes. As a bit of an amateur psychologist, I'd say the "deep down" part presents the challenge. We're mostly too busy cutting code to do the "inner work". And as you say, the "Why?" doesn't always come first. Sometimes we are involved in projects and business as a way to work things through and discover something. What starts out as "I don't want to be poor like my parents" ends up as "I could do something about preventable disease X and save many lives". That's why I think that the ethics behind the hacking is more important than we realise and there's no such thing as "technological determinism".

      • tailspin2019 2 years ago

        Interesting! As fundamentally goal-orientated creatures, I tend to think that there is always a why. The question is just whether you are clear yourself on what that why actually is.

        So on that basis, maybe the why does always come first? You may just not be intellectually aware of what that why is? BTW I guess I'm taking quite a broad definition of "why". The "why" could be, because you learned early on that behaviour X makes you feel safe, due to some childhood trauma - but this is a deeply embedded instinct rather than a conscious process of decision making. And things like that can be very difficult to pin down.

        I suppose you could discuss this point at a number of different levels...

        Definitely agree that the "why" can change over time. I've 100% seen this happen with my own motivations!

        • Phileosopher 2 years ago

          The "why" most certainly comes first, but we have a funny tendency to move the "why" around. Someone may choose to become a welder because he wants to get paid, then to move out of his parents' house, then to get married.

          There's a type of "API-ization" of all existence. 15 people can do the exact same thing with nearly opposite objectives and all be a "team" (such as what we see large-scale in politics) or have the exact same "why" with 15 ways to do it and be "disunified" (i.e., the Linux community).

          The secret to staying motivated, which nonrandomstring pointed to, is finding a way to bundle all those fluctuating "why's" together toward 1 purpose. It makes you manic and obsessive, but determined and implacable on a death march to a glorious prize. My discouragement was likely because I needed sleep and wasn't de-stressing correctly, then applying it wrongly to what I love doing.

      • Phileosopher 2 years ago

        I may be leaning into my rationalist philosophy here, but I like to believe that everything is driven by values first: intangible, hard/impossible-to-measure aspects of existence that create the spark that eventually provokes the body to do things.

        What you're saying about finding an emotional outlet is absolutely true. I spend so much time building, and probably need to spend more time advertising it! Things like HN are great places to express my passion (i.e., state assertions of fact in as few words as possible), and there are likely more niches once I slowly build out my dev ambitions later.

  • richardjdare 2 years ago

    Similarly, one of the things I often do is imagine the finished result. I habitually pretend I am demonstrating the software to friends (or rivals!) I walk them through it, and explain it in my imagination, imagining their positive reactions. It also helps me get clear on the look and feel of the software and what it actually means on a high level.

    • nonrandomstring 2 years ago

      Visualisation is so powerful. Especially late at night, close to sleep. I've had that come into dreams - when deeply immersed in a project or problem - suddenly quite intrusive, vivid dreams of using some almost alien software or device, waking up and OMG. That's it! 10 seconds to write it down before my kid comes in and jumps on the bed.

adnanc 2 years ago

Having worked on my side project https://ayahbyayah.com for the last 10 years, (10 year anniversary on the AppStore next month) my biggest take-aways are

1. Consistency instead of Intensity - steady progress in small chunks help instead of all-nighters which lead to burn out

2. Fall in love with the process - ignore the outcome and keep working on your steps instead, it stops the worry about what's going to happen in the future

3. Ship an initial version before talking about it - talking about a project before you've released something makes you think that you've already achieved it.

  • Phileosopher 2 years ago

    I'm starting to think, for lack of a better way of visualizing the three ideas together, that true success requires a "slow, quiet masochism": build quietly, enjoy the pain from what it'll become, and pace it out to never have a burnout.

  • maltehecht 2 years ago

    I find 1. very hard to achieve when I'm in a phase where I am really motivated. It's hard for me to not do too much then (and expect too much outcome).

  • spoiler 2 years ago

    Very good advice!

    Aside: I think there is a typo in your link

    • adnanc 2 years ago

      Oops, how embarrassing.

      Thanks for the heads-up, fixed.

PragmaticPulp 2 years ago

If a hobby project feels like “marching” then you’ll inevitably burn out.

Break it down into shorter milestones. Get some small achievements, then take a break and do something else for a while. Don’t let it become a burden.

Also, you need to be willing to quit if it no longer makes sense to continue. If you were doing a project for fun and it stopped being fun, it isn’t serving it’s purpose any more. Abandoning it could be the right choice if you get to this point.

  • Phileosopher 2 years ago

    Yep, I definitely did that last night: broke it out into smaller goals than I had done. Nothing quite demotivates like working very hard all day to get 90% through a task!

eimrine 2 years ago

I have a similar situation with my hobby project, I have calculated that all my wants needs ~1000hours, and only 15% is finished. Of course I have a work and sometimes I get ill, thanks god I have no money issues because I have bought everything I need beforehand. I think the best way is to stop silly activities like gaming and use all possible time for achieving my dream. For example if I have only 1 hour today than I take the hardest tasks and if I have a whole day then I try not to get exhausted early. Also important notice is to prefer doing the project at mornings because it is the only way to make something time-demanding. What about vision, I have some clear and precise goals with a deadline for one parts of project and more relaxed view about other parts. I know that when deadline arrives I need to lower my requirements about anything not done, that's why I start from the most important sub-goals. But also I have some other hobbies with a completely different approach because I do not want to lower my wants about kind of responsible peace of work. But without deadlines it is doing too slow for being finished anywhere soon. I do not know how my experience can help you but I wish you a great luck.

Thursday24 2 years ago

I tend to use the human potential framework. As a human being, I have a potential capacity to do sophisticated things or to merely operate at the level of an animal. Developing capabilities & skills is what differentiates me from an animal. This always fires me up.

Second thing that helps is, defining "huge" within the right context. Your project looks large from a self-centered point of view. Think about human flight - took 2000 years, multiple generations to figure out. Go into the history of various inventions, they all took lots and lots effort. Once this context is understood, you'll find that whatever you're doing is not necessarily such a "huge" task. Such perspective helps too.

Third, the characteristic of good goals is this:

Good goal = Difficult + Specific

The whole point of good goal is it helps you extract more effort from yourself. In a way, you set goals so that you can do more. If your goal demands more of you, it means the goal is doing its magic! So why'd you become discouraged when a goal demands more of yourself? By stretching yourself, you'll become more capable.

  • badpun 2 years ago

    > Developing capabilities & skills is what differentiates me from an animal.

    I thought it's conscience and compassion. Animals can learn capabilities & skills, but they don't have the concept of good and evil.

    • Thursday24 2 years ago

      In buddhism at least, developing compassion is seen from a skill-building perspective as far as I know. Most human capabilities have to be amplified through deliberate study from our ancestry, accumulated wisdom and constant practice.

      The key idea is that we can "develop" various attributes to a degree which is orders of magnitude larger than the next animal. To me, doing that is meaningful.

kebsup 2 years ago

It's a bit shallow, but money. I work on https://gifmemes.io and get motivated to continue working (on the mobile app, currently) everytime someone donates or buys the watermark removal.

  • jamil7 2 years ago

    I've come to the same conclusion, if a side project doesn't make even a little money I'm not interested in maintaining it, software-wise at least. I've also had bad experiences with free apps, mainly rude/entitled support emails, monetising my app has almost completely filtered out those and left me feeling less stressed and guilty. Open source is a different story and I contribute when I can.

  • tailspin2019 2 years ago

    > It's a bit shallow

    I'd call it "honest" rather than shallow!

    Cool project BTW

martialg 2 years ago

I lift.

It’s an infinite series of stacked physical exertions that reminds me that I can’t think my way out of putting in the work.

It’s a great metaphor for how most really incredible projects are actually built (with a lot of grind). It also helps build the mental muscle of ok I gotta hit my targets today so I can hit my new targets tomorrow

I wrote a long form essay about the concept here if you’re interested.

https://www.wysr.xyz/p/why-clever-people-should-lift?s=w

NoMAD76 2 years ago

I might repeat what others said but since it's a "huge hobby project":

1) Break it into smaller chunks

2) Prioritize all those smaller chunks by impact, difficulty, and dependency

3) Break them again into smaller pieces based only on difficulty

4) Work based on priorities, get lower diff and high impact first

This way you will start to get a good feeling about your work/project.

Take breaks and make sure you don't burnout.

Good luck!

herbst 2 years ago

Downscale it. When I hit a point where I feel this is getting to much I radically downscale.

Just create a section in your to-do for future upgrades where you move huge topics until only your core idea is left again. In reality things may turn out different anyway, so find the MVP in your idea and bring it to market.

This is easier said than done, but reality is there is only so much one developer can do, and there is only so much motivation before you even bring it to market (feedback & cashflow help for motivation later)

rozenmd 2 years ago

Getting started is probably the most difficult part. Once you get a bit of momentum, turning your hobby into a habit makes it "automatic" to progress further, and achieve your goals.

I break down the project to its minimum shippable product (since I build web apps, that's relatively doable). Having ridiculously fast CI/CD helps a lot here.

Once the first cut is released, I tend to iterate on it in two hour bursts (since that's all I have before work starts).

I wrote about applying this to build a SaaS, been running it for over a year and a half now: https://onlineornot.com/building-saas-in-one-week-how-built-...

mdp2021 2 years ago

The way to eat a whale is bite by bite.

Results come in their own right time. Software project: think of implemented functions (step by step); all-at-once results project (e.g. lightbulb): think of the "method" of Edison.

Quiet perseverance.

lbriner 2 years ago

As others have said, it depends on what you mean by hobby and the reason for it.

If it is a hobby project that you intend to make into a commercial product, stay focused, get to MVP and make sure you aren't burning effort on something that people don't want to pay for.

If it is to learn something, e.g. how to write a game, make the goals really small. Once I have learned how to move the player a bit, do I really need to perfect it?

Is it just the fun of programming? Use coding sites to compare different languages/frameworks.

You can introduce hardware to make it more fun, e.g. programming a small robot via a RaspPi or a microcontroller.

Don't beat yourself up, maybe the journey is OK but it sounds like you have a destination in-mind so focus on the outcome and chat with others to find out if there is a quicker way to at least get to the first staging post/MVP.

As others have said, if it is for no particular reason and you've stopped enjoying it, just stop it. No harm, no foul!

krageon 2 years ago

Do what you want to do and when you no longer want to do it, stop.

  • michaeljohansen 2 years ago

    This could lead to never finishing anything. OP is asking about how to get through the infamous "valley of death". Just stopping is not necessarily the right action.

    • codingdave 2 years ago

      That is not what OP asked. You are throwing an assumption into the mix - that the goal of the project is to be completed. While that assumption is reasonable, it is also the core problem. Hobby projects do not need to be completed - they can just be for fun, for learning, for experimenting, or for any other goal wherein the journey is more important than the destination. If you get frustrated and tired of it, as the above comment said... stop.

      The idea that all projects must push through all struggles and succeed is exactly what causes frustration. There can be other goals in life.

      • krageon 2 years ago

        This exactly. The point of a hobby is to spend time doing it and having fun. They don't need end results that you have to "deliver".

mr_gibbins 2 years ago

Of course it depends, for me timeboxing works really well. Each morning I set up my to-do list, between X and Y time of the day, for each task I want to achieve. Then I follow that list. Even if I don't want to do the thing that I'm avoiding, I'll schedule 30 minutes for it and at least look at it.

Of course life gets in the way. People who rearrange meetings at the last minute or worse, call me out of the blue or set up meetings with 10 minutes notice really boil my piss (if you'll excuse the expression) as it forces me to rearrange my day. But generally speaking this approach has worked for me for years.

marginalia_nu 2 years ago

Remember to have some fun along the way (corollary: don't pick huge hobby projects that are a slog).

I'm blessed with a project that is essentially a fractal of moderately difficult and very diverse CS problems. Goes a long way to help me keep going. There is literally always something fun to do. The outcome was more of a "huh, I guess I've built an internet search engine now, neat, but about that crawler resource optimization I was thinking about..."

Donations and letters of appreciation are encouraging as well, now that it's a working product, but they didn't get me to the point it was working.

tagami 2 years ago

Imagine if you could break that huge project into subprojects. Perhaps consider options that may not require sequential development. Contemplate a wilderness hike over a March. What vista is beyond the next curve?

xupybd 2 years ago

Get encouragement, good people to cheer you on. Having people to help motivate you is so helpful. There are many people out there that need the same input. Regular meetings with like minded people will help.

abetusk 2 years ago

Personally, I've found that things tend to take a lot longer than I expect.

There are a few tactics I use to help:

* Prepare myself mentally for the task and understand that the task is going to take as long as it's going to take. This means being more "result oriented" than adhering to a "time box" approach and giving myself permission to take a lot longer than I might have anticipated. It means I'm not looking at the clock and stressing myself out about how "unproductive" I'm being. Often I find things get done in a timely manner (even if it's not as fast as I'd like) when I can focus on the task rather than trying to optimize to meet some synthetic deadline.

* Split bigger tasks into smaller tasks and having a series of small "wins" instead of long stretches with no easily measurable or outward facing results. I'm fighting against my own psychology of getting burnt out or demotivated, so making sure there are small, measurable tasks that can be completed helps keep me on track towards making progress on larger issues.

* My apologies if it's too basic, but having a 'todo' list that I can easily see what I need to work on and crossing off the tasks as they're completed helps focus my attention and keep my motivation.

* Sometimes I organize tasks with a 'priority' and 'effort' qualifier. There are "easy" wins for a task is high priority and low effort. Medium to low priority tasks with low effort allow for "easy" wins to keep motivation. High priority, high effort tasks can be at least identified and maybe be broken up further. Low priority high effort tasks are something that can be punted to when I have free time or potentially ignored altogether.

Most projects aren't going to draw the attention of most people, especially when it comes to finding other developers to work on your project, so one can expect to mostly go it alone. But, just because you're most likely the sole developer, doesn't mean you can't talk to people in your circle about some of the issues or challenges. Your friends are probably in a good position to be sounding boards, give advice, work through problems or even be "rubber duckies" in the worst case.

yrgulation 2 years ago

Same as others said, i break it down into subprojects. Mine’s a game, and i realised that the trick is to make little reusable modules that will eventually integrate into the bigger project.

graderjs 2 years ago

When the time span for results is long consistency is more important than intensity.

To keep myself going I don't push myself too hard. I manage my time and my productivity well. and I break down tasks into small little chunks and when I complete them I celebrate the win and take a break.

I gave myself occasional pep talks, and hype up my work to myself because it's enjoyable, and make extensive use of voice memos to talk about like where I'm up to in my project and sometimes to like reevaluate you know what's my original goal and what's my goal now. Basically I'll kind of keep a development log using voice memos and just like talk out my thoughts if I run into some issues or what I'm doing... I'm not going to be talking all the time but like I'll find it helpful as a way to sort of talk through some opportunity for improvement, some challenge.

But the most important thing I think is I always like build something I can use. like I'll try to build the simplest version, like the prototype --you could call it a minimum viable product, right?-- the thing that I want to build and I'll try to build that quickly so then I get like these big feedback loop where like I'm using the thing that I want to build but it's just a simple version of it.

So I try to get to the finished product--but not polished at all--as quickly as possible that's usually my first goal. Get to like some proof of concept prototype that I can actually use, that's the first goal in the project and then it's like a series of basically adding features and refining that so you go from like a coarse-grained lower resolution so to speak prototype to a finer grain higher resolution high Fidelity prototype of your original idea and at each stage you have something you can use that you can enjoy and then your enjoyment increases as you continue building stuff.

edit: Oh shit, I forgot, I also like to post my work, and partial work to Show HN, I find that can be rewarding for me as well. Even if no one looks at it, posting is sort of like another way to mark the moment, and the milestone, and to celebrate a win. One reason is because I'm saying, 'Here, I have something. It's kind of finished. Take a look at it. It's ready for that.' It's also a great, like um...it sort of focuses the thing's that need to get done, too.

emptyparadise 2 years ago

I don't. I no longer have some grand vision because I no longer have faith in the future.

But I try to have fun while I'm still here. Not for profit, just for me.

achempion 2 years ago

My hobby projects that I work on are in the area I'm hugely interested in and more research / PoC oriented or they scratch my own itch, i.e. I'm solving problem I actually have.

Second part which motivates me is realising that huge part of my competences as software engineer came from hobby projects when you do all stages of product development by yourself.

nuc1e0n 2 years ago

You shouldn't think of personal projects in terms of the end goal. You should instead think of what you learn by doing them. It's a cliché, but is not the destination that important but what you learn along the way. Try to plan out your project into packets of work that you can complete and get a dopamine fix from every couple of days.

SanderSantema 2 years ago

If there’s no deadline there’s no problem I think to stop working on it for a while. Do you have any other projects or things to work on? Then work on those instead for a bit. Then return to your big project whenever you feel inspired to work on it again, I don’t think that’ll take long.

tmaly 2 years ago

For larger projects I have completed in the past, I started by outlining my plan breaking things down into smaller steps. This gave me a marching plan. I would work out the night before what I would do the next morning. This helps me to hit the ground running each day.

martopix 2 years ago

I don't, when I get tired, I stop. Weeks or months later, I decide to have another go, and often find that that problem I was stuck on is actually easily solvable, so I get another burst of motivation for a while.

fullofdev 2 years ago

The only thing that worked for me so far is, if the project I built is something I really want/need. Otherwise, it'll just go like that.

lnsru 2 years ago

Drop me a message. Email is in my profile. I’ll try to support you. And maybe you will support me since I am in similar situation.

themodelplumber 2 years ago

Huge hobby projects are notorious for sucking the life out of the hobbyist. It usually starts with a strong emotional connection in the form of conviction, vision, and probably way too much patience with oneself.

Then the patience goes, the vision needs adjustment, and finally the conviction is in doubt...

So good job hanging in there.

Here are things that help me:

- I encourage myself to b*tch about it, especially if I am passionate about it. Never did this before but it's just a fun alternative to being too serious...and still being annoyed. And if you have even the tiniest amount of bad == good reverse psychology, this will be giving yourself energy by definition. "I hate this piece of sh*t hobby! God what a waste of--" (suki no uchi dazo)

- I use micro-passions instead of micro-visions. I put it aside until the next wave comes. If I'm afraid the next wave won't come, I rank the micro-passions. Like break it down to 5-10 components (at least) that you like, and then rank them by how much you like doing them. (Not how much you like completing them) From there it becomes a question of surfing the waves as they come.

- Human psychology is really, really primitive in terms of its use of interest-symbols as pointers to deeper insights, so you can sometimes take advantage of it. Study what the specific hobby-topic says about your life, and what it's suggesting. This can help you be less serious about a hobby, even if you're still interested in it (== better able to commit steady, patient interest to it over time). IOW you might realize "I'm building and painting model cars because my mind is hitting me with a clue-bat, suggesting I can maybe design an enjoyable life where I'm in control of the wheel and actively going somewhere" is a surprisingly a) good fit to one's subjective reality sometimes and b) disturbingly funny insight into where you're at. You can start with a dream dictionary since those are really just symbol dictionaries.

- Document your progress, this is huge. If you lose clarity on your next step (of say, 2-5 minutes length) it's easy to get derailed. If you lose track of your personal method because you never documented it, ditto. Nobody wants to re-figure-out that stuff. I make sure there's a how-to component and a logging component as well.

One other big one:

- Keep a list of your interests. What happens is, you'll discover that you're always in the mood for _something_ so if you like lots of things, you'll effectively never be able to lose touch with your passions. And this feels damn good. "Ah damn, my hobby nuclear reactor isn't feeling interesting today, good thing I have been needing to put in some time on my donut-critic hobby!"

Hang in there, and may your visions come true in ways that force a good cackle.

  • __d 2 years ago

    I like the "put it aside until the next wave comes" approach.

    I have many hobby projects, ideas, partly-built things. I have some that are very near to completion, and others that are probably a lifetime's work.

    I tend to work on them in short stints: a few nights, sometimes like a month or two. And then set them aside as I burn out on that idea, or come up with a compelling extension/revision/use-case/etc for a different one.

    It's really crucial to document where you're at in this model: you need to be able to pick things up again without too much time to figure out where you were. I have two things that help with that:

    Firstly, a README.md file for each project which includes my roadmap, with stuff crossed off as I get it done. So I can pull it up and see exactly what's next and what I just did at a glance.

    And secondly, I keep a (large) journal.md file, divided by date, where I write down what I did. Especially stuff that I needed to research to figure out. That includes literally copying command lines out of my shell and into the journal. It's just a massive bulleted list, but when I restart something, I can quickly search back to the date of the my last commit, and see exactly what (and how) I did the things I did in that burst.

    Combining my roadmap/README, journal notes, and Git history generally means I'm productive again in about 15 minutes.

    • mronetwo 2 years ago

      This is how I go about my projects. I can't say I'm at peace with this approach though. I feel like context switching makes it that I won't finish anything during my life time.

      Anyways, documenting projects for yourself is very important. Treat your future self as best as you can. Think about the problems your future self my encounter.

joshxyz 2 years ago

celebrate the small wins, talk about it, pop a bottle about it