by reichertjalex on 8/19/24, 6:03 PM with 100 comments
by haswell on 8/20/24, 8:17 PM
And this is one of the reasons writing things down has been such a useful tool, and starting with a spec is something I now do religiously after spending the first half of my life just diving in haphazardly (and often not getting very far).
Those ultra productive days are often enough to get a pretty decent spec written; something I can flesh out in far greater detail than I could with a productive coding day. Those down days are now bolstered by the thinking of a version of myself that was firing on all cylinders, and solved many of the problems I probably don’t have the brain power to tackle on the fly when I’m tired and stressed for life reasons.
I feel like I’ve squandered really good trains of thought by telling myself “I’ll remember this and write it down later”. So I always start with writing. Future me always appreciates it.
by cloverich on 8/20/24, 8:07 PM
And also therapeutic. I see the incompleteness of my original idea, or plan. I see that the things i declare important feel less so when i have to keep working on it. I start to permanently discard essays, apps, ideas, as i appreciate what it would really take to do them. I say no to myself far more often. I become more disciplined in my work. And more disciplined in my play. I start making more realistic plans and exit points because im not a masochist.
Ultimately i let it change me. I obviously wont grind like this forever. But the grind teaches me, and changes me, into the kind of person that finishes things. Which is mostly about learning to be more selective and less impulsive, and knowing when to play and when to put things down and truly let them go.
by munificent on 8/20/24, 10:23 PM
I'm in my 40s and for most of my life I had an unending series of unfinished projects that I felt guilty about. Today, I am able to finish some stuff, including some pretty large, hard projects. Better, I don't feel guilty about the stuff I don't finish.
The trick for me is to be deliberate and mindful about why I'm embarking on a particular project.
If it's because I want to feel good by:
* Sharing something with others.
* Accomplishing a difficult, challenging task.
* Proving to myself that I can do something.
* Getting the social cachet of being a creative, productive person. (Maybe this is shallow, but who doesn't like to feel impressive in the eyes of their peers?)
Then the goal of the project is the product it and I focus my attention and discipline on it. I try to have as few of these as possible—like only one at a time—so that my willpower is not diluted.
If it's because I want to feel good by:
* Improving a skill.
* Exploring an unfamiliar domain or learning something new.
* Relaxing by tinkering on something I like.
Then the goal of the project is the process and I don't feel bad about not finishing. The real treasure is all the stuff I learned and did along the way and there is no real destination. I can have as many of these as I want because there's no real failure mode here. They're all recreation.
Once I got more honest and clear with myself about my goals for each project, I started to be able to finish the ones where that mattered and stopped feeling bad about the ones where it doesn't.
by g4zj on 8/20/24, 10:17 PM
Neither are very impressive, but in both cases, I ended up having to simply decide I was done and stop working on them. I could continue making changes indefinitely, adding little improvements and such every day, but they were also complete as they were. Once I learned to be okay with that and move on, I learned what finishing a project really meant (or at least one form of it).
by ChrisMarshallNY on 8/20/24, 8:04 PM
"Done" is often a compromise. There's more that can be added, there's still burrs and "rough spots," but we need to declare it ready to go out the door, and be prepared to fully support our release.
I've been shipping software for my entire adult life, and have had to embrace this philosophy.
Just the other day, I stopped working on a "play" project that I was working on, because it was a rabbithole, and not worth the agita of fixing the fundamental design issues that I was encountering (an unfortunate by-product of my "Evolutionary Design" process, is that it's quite easy to fall into Wonderland, and I need to learn to understand that I should just let the rabbit go).
by turtledragonfly on 8/20/24, 9:00 PM
I do disagree with this claim (though later points temper it a bit):
Why is it important to share your work with the world? First, because
there's practically no downside, and very, very high potential upside.
There is a big downside: as the author states, finishing/releasing is hard and time-consuming. You only get one life. Every hour spent doing that stuff you won't get back. So, not a direct cost, but an opportunity cost. Personally, I find it important to acknowledge this and face it head-on, rather than waving one's hands and saying "oh, there's basically no downside." Though I admit that the latter can be a useful self-mind-hack to get the ball rolling. But first you decide what you want to do, and why you want to do it, and then you tell yourself whatever lies you need to help it get done (:The "why is it important..." question is really critical to motivation, at least for me. A person should give that question honest thought and an answer that rings true to them.
I agree about the therapeutic aspect of putting things out into the public.
Though I don't plan to publicly share all of these proactively, just
knowing that they're publicly viewable helps give me a stronger sense
of accountability. I'm curious if it will make a difference.
Just getting things out of one's mind, and into the world (even if nobody sees them), can be important (helps my sanity, at least).
Even just the "rubber duck" sense of imagining someone might see it, can catalyze thoughts in a way that wouldn't otherwise happen, too.
Then, having people actually see them is another layer, and can be humbling and educational.Also, apropos of nothing, this article made me think of the (mis-)quote:
We do these things not because they are easy, but because we thought they would be easy!
Good article (:by nilirl on 8/21/24, 6:01 AM
Use curiosity and excitement when you can but don't let them be the only way you can work on something.
Some practical strategies I've written about:
- How to prevent stagnation while building products alone [0]
- Multi-Perspective Note-Taking: Mastering focus as a solo-developer [1]
[0] https://www.idiotlamborghini.com/articles/how_to_prevent_sta...
[1] https://www.idiotlamborghini.com/articles/mastering_focus_as...
by ryandrake on 8/20/24, 10:21 PM
by galleywest200 on 8/20/24, 7:54 PM
I would like to add another possible strategy: watching a number go up.
Recently I have started tracking the books I am reading. I track the page number I am currently on via a dashboard I made in Obsidian, which displays a %-read for each book. I have found that "number goes up" gives me just enough of a dopeamine hit to encourage me to pick the books up more frequently than I had before.
by jschulenklopper on 8/21/24, 7:20 PM
I'm a typical Starter, and all of the side projects we've been working on together were my idea. All of the projects that we completed and released were solely because of his endurance, discipline and focus. And his constant reminders to not start a new project before the current one was done.
by pablomendes on 8/21/24, 6:26 PM
by jmbwell on 8/20/24, 8:50 PM
Also very much believe in doing some kind of planning, any kind being better than none at all. Otherwise you put yourself in a tunnel but you don’t give yourself a light at the end. The plan can change and it will, but if you have none, you might end up digging forever
by daliusd on 8/20/24, 8:49 PM
by j7ake on 8/21/24, 1:16 AM
This means when you are at 50% completion, you need to spend more than two times more effort to hit >90% completion.
99 to 100% takes an infinite amount of time.
by brainzap on 8/21/24, 9:10 AM
In the comment section we probably have a lot of “me” stories, but should we not think “we”?
by bitbasher on 8/23/24, 11:16 AM
I tried working on multiple projects but my mind always focused on one at the detriment of the others (before ultimately working on something else).
After some time and deep introspecting, I realized working on multiple projects was some complex form of procrastination (avoiding doing hard or boring things on other projects). I also realized working on other projects may have been some sorta coping mechanism to avoid possible failure (if I never finish projects I can never fail).
After the introspection I hit a turning point with two words, "what if".
Instead of bouncing around, trying and learning new things, what if I focused all of my attention on one stack/product/project/industry/thing?
I haven't solved what "done" means yet, but I have come to terms with the shortness of life and my own capabilities. I know who I am and what I can do. It's a start.
by andrewstuart on 8/20/24, 9:57 PM
I couldn't find it after a brief search. Maybe someone else remembers it.
by codr7 on 8/20/24, 10:19 PM
by kazinator on 8/22/24, 3:37 AM
When you're working on software that has no obvious finish (development could go on indefinitely) you have to set up small milestones. Okay, in this release we're going to get this and that and other thing working, with documentation and test cases. That is in a concrete target. When we have those three things with documentation and test cases we've hit the target and nothing blocks that release anymore.
by Aleksdev on 8/21/24, 6:51 AM
“1) writing a spec (i.e. a plan) upfront, and 2) timeboxing the project by giving myself a deadline.”
Isn’t this just agile? I’m pretty sure every developer already does this, it’s kind of the whole strategy for completing any project.
Not sure what the point of this article was. He could have wrote “make a sprint and stick to it”
by bbor on 8/21/24, 3:15 AM
This isn't enough on its own obviously, but just in case anyone's been noticing something of a trend: inability to finish projects is verbatim one of the DSM-V entries for Inattentive-presenting ADHD: https://www.cdc.gov/adhd/diagnosis/index.html
by vouaobrasil on 8/21/24, 7:53 AM
by anon291 on 8/21/24, 2:55 AM
To me something is done when it reaches a state where you don't feel you need to tend to it. But it's never actually done. The only things that are truly done are things that will never be used again.
by lurn_mor on 8/21/24, 7:02 PM
Brevity and Ruthless Editing should be incorporated into your final cycles of 'finishing' working on projects.
by ziofill on 8/21/24, 3:00 PM
by docandrew on 8/20/24, 8:57 PM
by maninblackv2 on 8/21/24, 4:58 AM
by jschulenklopper on 8/21/24, 7:22 PM
My observation: a promise I made to someone else is harder to break than a promise I made to myself.
by mxstbr on 8/20/24, 11:39 PM
TL;DR: To build more quickly, do "outline speedrunning": Recursively outline an MVP, speedrun filling it in, and only then go back and perfect.
[0]: with me: https://learnhowtolearn.org/how-to-build-extremely-quickly/
by vborovikov on 8/21/24, 8:11 AM
- don't wait until you feel like doing something
and
- half-ass it
by max_ on 8/21/24, 7:50 AM
by jaydeegee on 8/21/24, 1:19 AM
by pcblues on 8/21/24, 7:00 AM
The amusing part was that I told a prospective software development employer about the project because it was consuming a fair part of my life at the time and showed an interest in software development in my spare time. They asked, "Did it work?" I said, "Nope"
I didn't get the job but we both had a laugh about it during the interview.
by shreyshnaccount on 8/21/24, 4:53 PM
by seigel on 8/21/24, 4:00 PM
by PaulHoule on 8/19/24, 6:13 PM