[HN Gopher] Finish your projects
___________________________________________________________________
Finish your projects
Author : aarondf
Score : 127 points
Date : 2023-06-13 17:33 UTC (5 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| mrcwinn wrote:
| In the middle of this as we speak, so thanks for the post. I'm
| absolutely in that rough 10% phase. XD
| aarondf wrote:
| Rooting for you. You can do it.
| bartq wrote:
| I think this is important: finish your project in bigger context
| where your project is a piece needed in higher level picture.
| Don't finish project just to finish it. This attitude solves
| problem of motivation, because you naturally finish the project
| without forcing yourself. Masons don't lay bricks to have bricks
| laid down, they want to build a house. Of course it much more
| complex than that, some people are just not types of makers and
| "finishing projects" is not their cup of tea.
| enos_feedler wrote:
| Is it bad I can't even finish reading the article?
| ezekg wrote:
| Totally agree. And even after the big finish^Wlaunch, too many
| people give up on good projects because they don't know how to
| get traction yet. The truth is that sometimes that's _your_
| fault, not the _project 's_ fault. New founders especially quit
| _good_ ideas way too often, way too early because they 've been
| conditioned to want to drop things if they fail to reach hockey-
| stick growth within a certain time threshold. It takes time. All
| of it.
|
| I briefly wrote about this awhile back as well:
| https://keygen.sh/blog/5-things-ive-learned-in-5-years/
| doingmaths wrote:
| I'm definitely guilty of not finishing projects, but I don't know
| that the "Just do the thing and don't NOT do the thing" is a
| particularly useful piece of advice. I know I should "fight for
| the time on the project" but willpower to do so isn't always
| something that's available.
|
| And that's not a personal failing -- I might decide that tonight
| I want to work on my game, but then have a long day at work that
| leaves me emotionally and physically exhausted. It's important
| not to burn out on your projects too, and _forcing_ labor on them
| when you do not have the spare capacity can lead to long term
| failure to complete the projects as well.
|
| I think the much more valuable lens is to consider -- " _Why_ do
| I work on this project? Is the joy of finishing it important to
| me? " If you _want_ to finish it, and cannot, then start looking
| into pushing yourself to finish. If the joy is in just tinkering
| because tinkering is fun, then allow yourself that pleasure and
| don 't beat yourself up for finding something you enjoy and
| partaking in it.
| Ilasky wrote:
| I really like the analogies of SLC (simple, lovable, and
| complete)[0] and "I'm the only user"[1] to motivate how I finish
| my projects. Often times I have a project I'm working on and my
| imaginary perception of what a user needs is steering the
| development. Whereas, in reality, I just need the thing to work
| for myself and I can pretty it up how I like.
|
| [0] https://herman.bearblog.dev/mvp-vs-slc/
|
| [1] https://blubsblog.bearblog.dev/i-am-the-only-user/
| doingmaths wrote:
| I'm an anarchist --- wait hold on! --- not like "The Purge" kind,
| but the "mutual aid and share what you can" kind. I genuinely
| believe that if we operated more on a "people will produce the
| tools, food, and art they want to produce, and will improve their
| working conditions if given the opportunity" mindset, and less on
| a "hit this deadline so your boss makes a buck" mindset we'd be
| able to finish more of our 'side projects'.
|
| I think we all naturally have these projects in mind, things we
| would pursue if we had the time. And I think we could move
| towards a world where we optimize a little less for maximizing
| profit, and a little more for maximizing our leisure time. It
| will take some structural reforms, some trust, and a whole lot of
| learning by doing, but I'd much rather live in a world when I had
| less stuff but more freedom to pursue things I enjoyed.
| mjwhansen wrote:
| > Finishing requires courage
|
| Oh man, I feel this. I've been doing a lot of furniture
| refinishing lately as a hobby. One piece is 90% done and another
| is 80% done. I was working on the 90% done one today, and was
| planning to lacquer it today so I can put the hardware on
| tomorrow and be done... but instead I found a few places where I
| should really touch up the paint. That pushes back completing it
| at least one more day as the lacquer needs to sit for a day
| and... I just need to "ship" the darn thing. I realized it'll
| probably never be 100% perfect, and that's okay - done is better
| than perfect, as they say. Having the courage to create something
| that isn't perfect is a skill.
| jhp123 wrote:
| To take the contrary position: give up. Your project will take
| far longer than you think, and you will get much less from it
| than you hope (at least in terms of external validation and
| rewards).
|
| You may feel a horrible pressure to finish it, but you are a free
| person and can simply choose not to. You can free yourself from
| this pain without lifting a finger. Go take a walk or bake some
| cookies instead.
|
| If you have the intrinsic motivation to continue with your
| project, then your interest will return at some point and you'll
| get back to it with the wind at your back. If you don't have that
| intrinsic motivation any more then you will only make yourself
| miserable by trying to whip yourself forward.
| aarondf wrote:
| I've lashed myself to the mast (so to speak) and forced myself
| to finish projects that I would've otherwise walked away from,
| and I'm so so glad I did.
|
| > You can free yourself from this pain without lifting a
| finger.
|
| Sometimes the cost of doing things is pain. I was going to say
| the cost of doing _great_ things is pain, but honestly, the
| cost of doing anything is usually some level of pain.
| bob1029 wrote:
| It isn't always the case, but I have found that pain is the
| #1 litmus test for "is what you are doing valuable". Some
| times this turns out to be a "you worked hard instead of
| smart" problem, but game theory wise one can assume that
| painful things are generally avoided or not fully explored.
|
| There is a really good reason you are spammed to death with
| GPT chat bot clones, but have to go around like a beggar to
| find things that actually matter.
| gmiller123456 wrote:
| Reminds me of The Onion skit where a guy spent 15 years writing
| a book on ant eaters only to realize it was a horrible waste of
| time.
|
| https://www.google.com/url?q=https://m.youtube.com/watch%3Fv...
|
| Sometimes it best to trust your personal prioritization of when
| and when not to work on a project.
| cmrdporcupine wrote:
| Unfortunately I don't get paid to finish personal projects on
| GitHub, and I need to get paid to feed my family. (And I don't
| have other devs, product managers, QA, etc. to help, either, like
| I do at work). And judging from the nature of the vast majority
| of stuff on GitHub, most people are in the same boat.
|
| Someday I'll retire and then I can get some real work done.
| sheepishly wrote:
| [flagged]
| pengaru wrote:
| Commercial software vendors don't even finish _their_ products
| before shipping what 's often aspirational vaporware in the form
| of a skinned update mechanism.
|
| Don't get me wrong; I'm totally in favor of finishing things in
| the sense of doing the un-fun work of finishing instead of
| distracting yourself with a fresh set of problems every time you
| reach the un-fun finishing phase of resolving existing messes.
|
| But it's worth noting that what qualifies as "finished" seems
| vastly different from what it was back in the days of shipping
| software on CDs and floppy disks.
|
| You don't even get a finished automobile anymore in some cases,
| and we're not talking kit car prices. Tesla, I'm looking at you.
| seabass-labrax wrote:
| I tend to have the opposite experience from the author's: I know
| enough about the domain to know that choices I make at the
| beginning could cause massive problems later on (in performance-
| critical software, for instance), yet not enough to know exactly
| where the traps are. Once the project is underway and empirical
| data can be collected, it's much easier to direct attention to
| known issues and opportunities.
|
| By nature I enjoy the 'boring' stuff, to use the author's term,
| and often find a clean code-to-package CI pipeline and an up-to-
| date wiki more satisfying than the software itself!
|
| I wonder what the ratio of 'non-finishers' to 'non-starters' is.
| I suspect I'm in the minority, but maybe someone here knows of a
| reliable study of this.
| Lammy wrote:
| > Sometimes finishing is just the beginning: You release the
| library, the package, the SaaS product, and your work is really
| just beginning. Users have issues, customers have feedback, and
| dependencies need upgrading. In some sense, there is no finished
| software; there is only released software.
|
| Translation: "Please get locked in to using GitHub"
| aarondf wrote:
| Ha. I don't work for GitHub tho! I'm just a guy writing about
| my feelings
| Lammy wrote:
| I didn't claim you did. Why would GitHub (read: Microsoft)
| "amplify your voice" in a way that doesn't benefit them? They
| want people locked into GH via their non-Git offerings.
| interroboink wrote:
| In general, I like the empathetic tone of the article, and I
| appreciate that it addresses an emotional facet of software
| development. But nevertheless it triggers some little part of me
| w/regard to telling people what they should or should not do, or
| what they may be proud of.
|
| I worry for someone who reads "You also have a duty to your
| future self to release the project" and "...you tell yourself
| that you are the kind of person who ships" and takes that to mean
| "if you don't release it, you're failing yourself" and "you're
| the wrong kind of person if you don't ship."
|
| On an emotional level, I think it's better to start from a place
| of (unconditional!) self-love, and go from there, rather than
| beating yourself up because you're not meeting some blogger's
| expectations of how you should act.
|
| And just to be clear: I don't think the author _means it_ that
| way, but that 's one way it can come across, to some people, in
| some states-of-mind.
|
| I've generally found it more useful to phrase things like this in
| terms of "I" rather than "you". As in: "I had X experience when I
| did Y" rather than "you should do Y, so that you will feel X."
| It's a common mis-step in giving well-meaning advice, I find.
|
| EDIT: Also, I'm sure there are plenty of people who really do
| benefit from advice being given in this more pointed way, and I
| realize it's a bit onerous to always write and phrase things for
| a "safest common denominator," but I think it's worth keeping in
| mind, at least.
| aarondf wrote:
| Nuanced and valuable feedback, that I receive. Thank you!
|
| I think your edit was basically going to be my reply, haha. It
| _is_ hard to address every side of every potential topic in an
| article. I actually needed help softening the tone to end up
| with the final version you 're reading today. I'm empathetic by
| nature so it's easy for me to write with empathy, but I'm still
| prone to generalizing my personal experiences!
| BeetleB wrote:
| > You have a duty to your past self to release the project.
| It's a way to honor your work and sacrifice. All the time
| spent on the project is time you could have spent on
| something else. That time was not without cost.
|
| Ouch!
|
| I strongly encourage you to read up and understand the sunk
| cost fallacy. In general, do not let past efforts be the
| guide for future decisions.
|
| I've quit a lot of projects in my life. And it was the
| _right_ thing to do. Put another way, many of the valuable
| projects I 've completed would _not_ have been accomplished
| had I stuck to the projects I had sunk time into.
|
| > You also have a duty to your future self to release the
| project. Every time you don't release a project, you're
| telling yourself that you're the kind of person who doesn't
| ship.
|
| If you tell yourself that every time you don't release a
| project, the fix is not to release the project, but to stop
| telling yourself these lies.
|
| Despite the strong complaints, the article isn't that bad and
| does have some merits.
| OJFord wrote:
| I think an easy to grasp version of sunk cost is 'buying is
| the same as holding' (modulo fees and taxes) from
| investing. In other words: you can spend today working on
| the existing project that's going nowhere, or on the newer
| idea that has potential. You allocate the day either way -
| it's not somehow less because it was left on the default
| option of what you were already working on.
| aarondf wrote:
| Glad you still liked it, despite the strong complaints!
|
| I hear your feedback, but I don't fully agree with all of
| it. I do understand the sunk cost fallacy quite well, but
| thinking about the time committed can be a useful framing
| to help push past the fear of releasing or drudgery of the
| last 10%.
|
| > If you tell yourself that every time you don't release a
| project, the fix is not to release the project, but to stop
| telling yourself these lies.
|
| I mean, if you never ship you're literally the kind of
| person who doesn't ship though. You can tell yourself
| whatever you want, but eventually you'll stop believing
| yourself because you know it's not true!
|
| Perhaps you'll enjoy my other piece more: Publishing your
| work increases your luck
| (https://github.com/readme/guides/publishing-your-work)
| Eisenstein wrote:
| > Despite the strong complaints, the article isn't that bad
| and does have some merits.
|
| I will likewise critique your critique:
|
| Instead of creating a new thread you post directly to the
| author who responded to an unrelated message. Since the
| author is obviously responding to criticisms, why did you
| feel the need to expand a thread with a non-related article
| quotation you took issue with rather than start your own?
| It seems to me you wanted to ensure that the author read
| what you wrote because you felt it was particularly
| important for him to see it. I don't agree.
|
| The article is about finishing projects instead of starting
| new ones -- it is not about when to cut losses. The two
| topics may seem related but I argue that they are not.
|
| The type of person to leave an unfinished project on the
| table because it isn't 'good enough' is the person for whom
| the author is writing. It is not the type of person who
| can't let a project go despite the damage that project is
| causing to other things or despite the project being a lost
| cause.
|
| Example:
|
| The person who makes a bet 'if I risk X in exchange for A%
| of success happening and I lose, I can live with that, but
| I couldn't live with not trying' is not the person who
| makes a bet 'I lost X, which I couldn't afford to lose, but
| if I risk everything I have left or go into debt, then I
| can make back what I lost and be whole again'. One is an
| entrepreneur and the other is a gambling addict. The same
| type of difference exists in the two cases you present.
|
| Your final sentence seems to be a half-assed acknowledgment
| that you found value in the work, but you are unable to
| give praise so the complements you use are negated put-
| downs ( _not_ bad, _despite_ complaints, _is not_
| meritless). I think that this form of praise is worthless
| and makes you look petty. Stop doing it.
| doctor_eval wrote:
| I have two projects on the shelf right now. I've been dragged
| away (read: need money) to work on non-code projects. To the
| point where I don't feel confident about opening my IDE!
|
| So, this article is really timely. Thanks.
| c7DJTLrn wrote:
| I tried forcing myself to finish a personal project before moving
| on to the next one. I've just ended up procrastinating and
| getting nothing done for the past 6 months. In turn, that has
| created a cycle of guilt and anxiety making me not want to touch
| any of my projects at all.
| rozenmd wrote:
| My "hack" is to release work early (while you're still
| embarrassed by it), and iterate ruthlessly:
| https://onlineornot.com/unreasonable-effectiveness-shipping-....
| forgotmypw17 wrote:
| I try to make at least one commit a day. Some days I fail, but
| often I have weeks-long streaks.
| aarondf wrote:
| Love this framing! Good article. Followed you on Twitter!
| phoe-krk wrote:
| The main problem with finishing projects is that the fun 90% of
| the project takes 90% of the time spent on it, and the un-fun 10%
| required to actually polish and release it takes _at least_ the
| other 90% of the time spent on it.
|
| And then come the issues and PRs and people requesting your
| attention and time that they're entitled to because they found a
| project on GitHub that seems to fulfill 90% of their needs, and
| they only require you to implement or review the other 90%.
|
| Keeping stuff unfinished is actually not a bad idea.
| Hamuko wrote:
| Eh. The vast majority of the time that you ship something, the
| end result is that literally nothing happens.
| stuckkeys wrote:
| I also listen to the same song on repeat. How do you think
| Despacito got all those views.
| aarondf wrote:
| The thought of listening to Despacito for a week straight is
| making me sweat
| mijustin wrote:
| I often say this to my teenagers: "You don't get any credit for
| the homework you _thought_ about handing in. Even if it 's not
| perfect, the only way to get a mark is if you hand it in."
|
| So true for work and side-projects as well.
|
| (I needed this reminder myself as I have a blog post I've been
| noodling on for 12+ months. I just need to publish the damned
| thing!)
| dotnet00 wrote:
| To latch onto that analogy, the point of homework is to make
| sure you learn the topic.
|
| So, if it weren't mandatory, handing it in isn't all that
| important as long as you're doing it. Indeed, in grad school,
| there was very little graded homework and most was just
| assigned with solutions given for anyone who wanted to do it.
|
| So, to bring the overly stretched analogy back to projects, I
| think you shouldn't feel like you need to "finish" something if
| it meets enough of the goals you set for yourself.
|
| Eg I spent months working on projects like custom OS's and game
| engines. But as the nature of those kinds of projects is to
| have endless room for growth, I just drew the line at some
| point that I had learned and done enough and could just drop
| them in whatever potentially buggy state they were in.
| hacknewslogin wrote:
| This reminds me of two quotes that really helped me with
| perfection anxiety: "If it's worth doing, it's worth doing
| badly." "Within acceptable tolerances."
| whartung wrote:
| The corollary of which is "It's not just good, it's good
| enough" (which I think is a Simpsons reference).
|
| I actually have a project on the shelf that's ][ far from
| being releasable.
|
| It's waiting on two things.
|
| One, is since it's a Java GUI, getting it built into a form
| for the MacOS/Window/Linux platforms, rather than just
| "here's a jar file". There's ways around this, but it's not
| quite drag and drop, and I haven't got a Windows box to test
| anything on, so its stalled. (I tried installing one of MS's
| VM images that they offered, but that's didn't work,
| so...back to the shelf).
|
| Two, is documentation. I could probably just let it go, and
| explain it to the 3 people who might actually download it and
| use because simply launching it, "Neat!", and letting it bit
| rot forever more. But, _I_ think it needs some documentation,
| so...it sits.
|
| If I could satisfactorily drag and drop the installers, I'd
| probably press on with it, but it could still use some docs.
|
| Meanwhile, I continue on my meta project which this project
| would inevitably be folded into, so it's not all lost.
| marcosdumay wrote:
| Personally, I have lost count of the times I've got a jar
| from some place, and had to look at the source to discover
| how to use, and still used the software.
|
| It is really not a good experience, but totally beats not
| having the software.
| agumonkey wrote:
| I heard that Shannon was a mess hyper multitasker. He just went
| wherever his mind wanted to, and moved accordingly. Made me try
| to accept my scrapyard of project shelf and just keep iterating
| hard.
| turnsout wrote:
| Counterpoint: do what actually matters to you. You may constantly
| start projects and never finish them, but that may actually be
| serving your need for experimentation and learning. For someone
| else, that same behavior might be unhealthy avoidance. If
| "finishing" a project (software is never done) is something that
| matters to you, find ways to work towards that goal. I've shipped
| plenty of things, but also walked away from 10X more projects
| that were "90%" done, because I got what I needed out of them.
| xwowsersx wrote:
| I agree with your idea, but I don't see at as a counterpoint. I
| don't read this post as making an axiological statement about
| the would-be reader's work (I may have read it wrong though!).
| To me, the article assumes that "finishing" the thing is
| something the reader already values, or at least does in many
| cases. And the author is offering some advice for how to stick
| to it and power through even when there are painful stages
| along the route to what the reader already wants. I see this as
| trivially or obviously true too, namely the idea that not every
| moment or every ounce of work on the way to something you
| yourself really deeply desire will feel like elation and fun.
| aarondf wrote:
| Author here: you are reading it as I intended! Not "you have
| to finish everything" but rather "you want to finish
| something but it's hard, now what"
| SCUSKU wrote:
| I always remind myself that "Done Is Better Than Perfect"
| whenever I think I should add some new feature to a project
| rather than ship it.
|
| I think the scariest thing is accepting that if you ship
| something people probably won't care. It's easier to continue
| working and not ship it under the assumption that just adding
| that one more thing will then make everyone love it.
|
| I don't know how it happened, but at some point I stopped caring
| about outcomes and have accepted that most ideas I have are
| stupid, most projects bad, but the only way to find good ones is
| to just put it out in the world. Worst case scenario everyone
| ignores it.
| [deleted]
| bodge5000 wrote:
| I used to have this problem and then maybe ~8 years ago, I solved
| it, and word of warning, it can go the opposite way. When I
| finished my last project I started work on a new one, which I
| predicted would only take a few months. Common mistake I know,
| but even looking back, technically speaking I wasn't wrong by
| much. It is a simple project on a technical level, but not so
| much on a design level (by that I mean game design, its a game I
| was working on).
|
| 3 years later, I realised it was a fundamentally flawed idea. 6
| years later, now, I'm still working on it, despite knowing that.
| Very recently, for the first time in that 6 years, I've been
| successful at pulling myself away onto other projects, but that
| main one still sits there and I will get back to it, whether I
| want to or not.
|
| All thats not to say that finishing things isn't important, just
| that it can go both ways. Sadly I don't have any advice to stop
| others from falling into the same trap as I did other than maybe
| being aware of that.
|
| EDIT: To be clear, this isn't a "just ship it" situation. I don't
| have anything to ship other than mismatched ill-formed
| prototypes, and I do mean prototypes. Maybe one day I'll just
| polish up one of those prototypes and ship it, that's been my
| thought process lately
| carb wrote:
| I love this article and the premise. Further similar
| reading/watching in some of my favorite Zack Freedman videos!
|
| - "Here's What's Preventing You From Finishing Projects":
| https://www.youtube.com/watch?v=L1j93RnIxEo - "How to Finish Your
| Weekend Projects in One Weekend":
| https://www.youtube.com/watch?v=72a85tWOJVY
|
| "Finishing" more projects (even if that means changing the scope
| and announcing it "finished") has been amazing for my internal
| willingness to start new projects or tell friends about them. I
| have much less anxiety that I'll leave another half-finished
| project sitting around with lost motivation.
| ge96 wrote:
| lol (monkey eyes, looks away)
| mkoubaa wrote:
| Except software is never finished. If you publish something,
| there's a tacit expectation that you'll return to it, and it'll
| never be truly behind you.
|
| Rest assured, the only way that returning to a finished project
| takes more mental bandwidth than the guilt of never finishing it
| is if it's wildly successful. And that's a good problem to have
| aarondf wrote:
| Totally! I referenced that near the end:
|
| > Sometimes finishing is just the beginning: You release the
| library, the package, the SaaS product, and your work is really
| just beginning. Users have issues, customers have feedback, and
| dependencies need upgrading. In some sense, there is no
| finished software; there is only released software.
___________________________________________________________________
(page generated 2023-06-13 23:00 UTC)