[HN Gopher] The Art of Finishing
       ___________________________________________________________________
        
       The Art of Finishing
        
       Author : emmorts
       Score  : 130 points
       Date   : 2024-09-02 20:51 UTC (2 hours ago)
        
 (HTM) web link (www.bytedrum.com)
 (TXT) w3m dump (www.bytedrum.com)
        
       | btbuildem wrote:
       | What if personal projects are not meant to be finished? Journey
       | and destination and all that? Perhaps for some it's more about
       | the endless noodling about and whittling away bits and pieces,
       | and a "project" is just a convenient excuse do do it?
        
         | whiterknight wrote:
         | But because finishing is hard (and not fun) it's also easy to
         | make up reasons for why you don't finish things, without
         | scrutinizing the underlying motivation.
         | 
         | Sometimes i look back and say "I'm glad I moved on" but I think
         | a lot of the time I also just wish the thing was done.
        
           | detourdog wrote:
           | Sometimes one needs to reset the goals and failure suddenly
           | looks like a success.
        
         | dakiol wrote:
         | Exactly. I do side projects because they are fun. No pressure,
         | no expectations. Simply and pure knowledge gaining and
         | programming... which I love.
         | 
         | I already have a boss asking me 9-5 when I will finish project
         | X, so I don't need that pressure when doing things by myself.
         | Besides, some things are never meant to be finished (e.g.,
         | eating healthy, doing exercise, gaining knowledge, etc.)
        
         | Swizec wrote:
         | > What if personal projects are not meant to be finished?
         | 
         | The key is deciding on 2 things before you start anything:
         | 1. What is the goal?         2. How will I know it's done?
         | 
         | With this approach you can start side projects purely to have
         | fun for an afternoon or to learn a thing or to see how a
         | technology or approach feels. Then you can drop it and move on.
         | Goal achieved, thing learned, no need to keep going.
         | 
         | The worst projects in my experience come from unclear goals and
         | fuzzy definitions of done. Those projects tend to drag on
         | forever, burden your life, and fill up your days with busywork.
         | 
         | Note that it's always okay to add additional goals to the same
         | project once you're done.
        
         | sopooneo wrote:
         | Agreed completely. Sometimes I've worked hard to put the
         | finishing touches on side projects to make them usable by
         | others and have been pleasantly surprised by the interest. But
         | in _most cases_ , even when I finish, almost no one cares.
         | 
         | And while _finishing_ is an important lesson early on, just so
         | you know how hard that  "last 20%" is, it's grueling and not
         | typically very informative or unique after that first couple
         | times.
         | 
         | So I'm now squarely in the camp of do what I want and finish
         | what I want on the side, with no guilt. If I enjoy the journey
         | I call it good. Finishing is for the day job.
        
         | detourdog wrote:
         | I always thought of the journey as the reward and that was very
         | sustainable and I have picked up a diverse skillset.
         | 
         | I think one doesn't need to finish a project. One should be
         | able finish milestones or reset milestones appropriately.
         | 
         | This matters to me personally to feel good about myself. A
         | society favors art or progress. Depending on which effort you
         | identify with finishing may not matter.
        
         | TeMPOraL wrote:
         | Without the "convenient excuse", the journey starts looking
         | like pure procrastination; how do you enjoy it without the
         | guilt about not doing more important work that leads to more
         | important results?
         | 
         | What if it's a bit of both? Something dawned on me today when
         | mulling on another related idea "systems vs goals", popularized
         | by Scott Adams in "How to Fail at Almost Everything and Still
         | Win Big"[0]. It was a widely popular book at the time, even
         | here on HN, but the core idea never worked for me. Nor even
         | resonated.
         | 
         | Quoting from the book[1]:
         | 
         | "A goal is a specific objective that you either achieve or
         | don't sometime in the future. A system is something you do on a
         | regular basis that increases your odds of happiness in the long
         | run. If you do something every day, its a system. If you're
         | waiting to achieve it someday in the future, it's a goal."
         | 
         | Boring, ain't it?
         | 
         | For me, the problem with project, systems, and enjoying journey
         | over destination is that:
         | 
         | 1) Projects don't motivate me for long; past initial
         | excitement, I'm rarely able to muster enough motivation from
         | the dream of finishing something (and enjoying the spoil) to
         | move me past static friction.
         | 
         | 2) "Journey over destination" - I mean, if I'm doing a project,
         | I care about benefits and (my imagined) experiences given by
         | whatever it is that I've built or completed. Journey is just a
         | distraction at best; typically, it's a source of stress and
         | many yaks to be shaved, most of them stinky and ugly. If
         | anything, I get motivation from ways to _shorten the journey_.
         | 
         | 3) Systems are even worse. If journey is just distracting me
         | from the goal, systems are about putting the goal out of mind
         | entirely, automating it away through habits, changes to
         | environment, etc. While probably[2] effective, systems give me
         | zero motivation - they're too arbitrary, generic.
         | 
         | It's a problem that, even in this formulation, I've been trying
         | to solve for almost a decade now. Recently, I've started
         | thinking about what _actually_ motivates me about a project in
         | an ongoing fashion; the insight I had today is that it 's a
         | combination of the "project" and "journey" factors:
         | 
         | - The base / fallback motivation is the goal - the benefit I'll
         | get when I reach it. Often, the major one is that someone will
         | be satisfied or impressed. Even more often, it's the relief of
         | getting the consequences of not completing it of my mental
         | threat board, and/or shutting up people who pester me about it.
         | However, that alone is only able to keep the project on my
         | mind; it's not enough to motivate sustained work.
         | 
         | - The immediate-term, ongoing motivation is the journey, or
         | specifically the _experience of proficiency_ , and all the
         | interesting tangents I find along the way. It's a necessary
         | condition for me to stay on the task, but I can't treat it as
         | the main motivation itself - when I try, my mind evaluates the
         | value of the activity as zero and pulls emergency brakes; after
         | all, there are much easier ways to get immediate gratification,
         | and there are more important things to do, so if I don't care
         | about reaching the goal, what's the point of going for it in
         | the first place?
         | 
         | Systems don't even enter the motivational equation here[3].
         | 
         | I guess what I'm trying to say here is that, in terms of
         | motivation, the completion of a project and the journey to it
         | are two different things entirely; treating them as
         | alternatives is a category error.
         | 
         | Also my rambling here is saying that, at this moment, nothing
         | for me has the right combination of "project" and "journey"
         | factors - otherwise I'd be doing something else than writing HN
         | comments.
         | 
         | (And yes, finishing projects completely is hard, because that
         | last 20% of work contains the 80% of chores and annoying
         | tangents that completely ruin the experience of the journey.)
         | 
         | --
         | 
         | - [0] -
         | https://en.wikipedia.org/wiki/How_to_Fail_at_Almost_Everythi...
         | 
         | - [1] - Via https://www.goodreads.com/quotes/973029-a-goal-is-
         | a-specific...
         | 
         | - [2] - Hard to tell, I'm clinically unable to hold a simplest
         | habit to save my life. Forget "it takes 30 days to ingrain a
         | habit" - even after months or years of doing something
         | "habitually", a smallest disturbance to the daily life is
         | enough to undo all that work and get me back to square one.
         | 
         | - [4] - Exception: when I can reframe setting up a system as a
         | kind of a project. Even then, it just makes it easier to build
         | a system; it doesn't help maintaining it over time, which is
         | the whole point of systems in the first place.
        
       | jdeaton wrote:
       | Its not overwhelming clear that finishing is an important piece
       | of a _side_ project. Real work at your job is the place where you
       | can prioritize finishing over other outcomes. By not forcing
       | yourself to finish everything in your side projects you open
       | yourself up to greater levels of exploration and learning which
       | is, after all, the point of side projects to begin with.
        
       | super_linear wrote:
       | Similar to "The Cult of Done Manifesto" (2009)
       | https://designmanifestos.org/bre-pettis-and-kio-stark-2009-t...
        
       | wseqyrku wrote:
       | I think it's all about prioritization. There are ideas that come
       | to mind while implementing something you have in mind that are
       | unnecessary right now by some definition (could be infamously
       | performance- or perhaps convenience-related). If you have a list
       | of all the subcomponents you need (or rather, want to have) I
       | think it's healthy to first sit down and triage everything into
       | some priority buckets and only zoom in on the absolute base
       | functionality first for you to be able to move on to the next
       | step on top of it for it to be able to ship. Note that this step
       | is completely different in nature than what we have already one.
       | After that you can go back and do the next bucket and so on and
       | so forth.
        
       | Krasnol wrote:
       | Somebody should send it to Neal Stephenson
        
       | xianshou wrote:
       | I used to find myself under the effects of this curse as well, so
       | I would recommend the author look into _why_ he embarks on such a
       | thicket of unfinished side projects. In my own case, it boiled
       | down to a mix of several imperfectly aligned factors:
       | 
       | 1. Genuine intellectual interest
       | 
       | 2. A desire to improve particular skills
       | 
       | 3. A vague sense, acquired by osmosis, that industriously working
       | on side projects during one's free time is what a Real Engineer
       | does
       | 
       | Disentangling these motives and identifying a clear primary drive
       | behind each project clears up the "hydra" feeling wonderfully, as
       | most of the heads simply disappear once you realize that you
       | never had a strong reason to pursue them in the first place. (3)
       | in particular is often merely the self-castigating whisper of the
       | internalized "should" rather than a valid reason to embark on a
       | long and open-ended project.
        
       | alva wrote:
       | Just what i needed to read today, thanks.
        
       | andrewstuart wrote:
       | The problem is, writing software is REALLY time consuming.
       | 
       | It takes months of full time effort to built something that
       | resembles a working application.
        
       | solomonb wrote:
       | I relate heavily to the author's dilemma. My projects span from
       | math, to programming, to pinball repair, to amateur radio, to
       | gardening, to mycology, to who knows what else. I personally
       | enjoy the process of bike-shedding and endlessly exploring the
       | solution space for a problem. That said, there is a point where
       | you need to make hard decisions and button up projects.
       | 
       | As long as I don't care what project gets completed at what time,
       | I've found a little trick to broadly move the needle. I jokingly
       | call it "Sol's fast five" but the name is actually pretty on
       | point.
       | 
       | I take a step back, look around me, and pick out the first five
       | things I can reasonably achieve in less then a day prioritizing
       | things where I have all the tools and materials at hand. These 5
       | things are never entire projects, the goal is to maximally
       | decompose the projects until each action is as close to trivial
       | as possible.
       | 
       | Once I have my list of 5 things I stop thinking about anything
       | else and strictly work towards those 5 goals. There is a sense of
       | relief in having reduced the scope and the tasks tend to be
       | finished very quickly. Checking them off the list always feels
       | good.
       | 
       | Once I have completed my 5 items I start a new list and pick out
       | the next five items. This can feel like a huge reward.
       | 
       | I've used this system to great effect in the past few years.
        
       | itqwertz wrote:
       | Perfectionism is the enemy of done. It's a good principle to keep
       | in mind when you're working on any project so that your valuable
       | time isn't wasted.
       | 
       | Sometimes it is fun to explore something and sometimes it's
       | better to never start. I have a running list of ideas i will
       | never work on until the opportunity of time and savings align.
       | 
       | I'm not sure if it's common but i heard this quote from an
       | entrepreneur: "There's nothing worse than a mediocre business ".
       | A bad business will die of its own, a good one sustains itself,
       | and a mediocre one grinds you down.
        
       | ok_dad wrote:
       | I find it's easier for me to finish physical products, like
       | woodworking, rather than software. I'm buildings a door right now
       | for my patio, and let me tell you that it's next to impossible to
       | redo the design of a piece of wood once you've milled it down to
       | a certain size or shaped it, so you learn to think very clearly
       | about the goals of a project and the design before you cut
       | anything. In my off time, I don't want to endlessly struggle to
       | finish things, so I don't do software. I also do simracing, which
       | also has bite sized goals, like "improve my safety rating to X"
       | or "post three clean laps on a new track". Though, no matter the
       | hobby, you have to be able to set a small goal and achieve it
       | pretty quick, so I'll tell myself "just finish the tenons on
       | these frame parts rough, then you can finish them tomorrow."
        
       | goatmanbah wrote:
       | When the cost of making a change gets close to zero, it's easy to
       | keep fiddling endlessly...
        
       | vjeux wrote:
       | Love the illustrations, really great usage of excalidraw!
        
       | fsndz wrote:
       | Finishing is super important. Just focus on completing a version
       | 0. Then, you can improve it if you feel like it. It doesn't have
       | to be perfect, just finished under a reasonable timeframe.
       | 
       | Not finishing and endlessly moving from one project to another is
       | bad because it prevents you from making meaningful progress. You
       | end up spreading your efforts too thin and never see the results
       | of your hard work. This can lead to a lack of closure, decreased
       | motivation, and a cycle of unfinished projects that never reach
       | their potential. Moreover, without finishing, you miss out on
       | valuable feedback and the sense of accomplishment that comes from
       | completing a project, which can be crucial for personal and
       | professional growth.
        
       | gfody wrote:
       | there's probably some cost to having a bunch of unfinished
       | projects occupy my mental bandwidth but I think there are some
       | benefits:                 - having unfinished projects gives my
       | mind a comfortable place to go think itself out when I'm tired
       | and need to sleep.       - each project doubles as a kind of
       | lookout tower providing some perspective on other related
       | projects or relevant technologies, and this keeps me interested
       | in paying attention to new developments in non-superficial ways.
       | - every once in while a spark of motivation will appear for a
       | project I haven't touched in years and it'll be something I
       | recently learned backpropagating constructively, tightening the
       | whole mess up a bit and helping me retain it all.
        
       | brikym wrote:
       | I really like the orientation of that chart. Next time I put a
       | long time series chart in a document I'm doing time on the Y axis
       | starting from the top.
        
       | blueblimp wrote:
       | My favorite blog post on tips for finishing is this classic by
       | Derek Yu (of Spelunky fame):
       | https://makegames.tumblr.com/post/1136623767/finishing-a-gam....
        
       | psidebot wrote:
       | I think it's worth differentiating between personal projects done
       | to learn or just for interest, and those that are trying to
       | accomplish something. If I do a project for myself to try things
       | out and learn something I don't feel any pressure to finish the
       | project. Once I've learned something or had some fun, who cares
       | if it's "finished" or if anyone else will use it. On the other
       | hand, sometimes I'll pick up something interesting that helps a
       | friend or family member, or just that I need for myself, and
       | there I'm pretty careful about scope. If I can't finish it in a
       | couple weekends I'll look for the closest commercial solution
       | unless it's a major once-in-a-decade passion project.
        
       | purple-leafy wrote:
       | I've mastered this. I've finished 12+ projects in the last year.
       | 1 even made money.
       | 
       | How? My projects are tiny. If you're building solo, you have to
       | tackle projects reasonable for a solo dev.
       | 
       | I primarily build chrome extensions because the simplest ones can
       | be finished in one night, and the hardest a month or two. It's
       | frontend only work, so you minimise the project surface area.
       | I've only been building them for a year but I finish all of them.
       | 
       | And I focus on getting an MVP out, and only polish if I can be
       | bothered.
       | 
       | Now that I've mastered the finish, I'm moving on to different
       | projects:
       | 
       | - API only projects - Scripts - NextJS projects (simple backend)
       | - static pages
        
       ___________________________________________________________________
       (page generated 2024-09-02 23:00 UTC)