Finish your projects
github.com
github.com
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.
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!
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.
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)
This is a bit of an "argument from extremes" fallacy. If you don't ship 90% of what you work on, but do ship the remaining 10%, then that may well not only be fine, but optimal.
My point is that saying to yourself "Every time you don't release a project, you're telling yourself that you’re the kind of person who doesn't ship." is a faulty belief. There's a whole spectrum between releasing everything and releasing nothing. Some people like myself start a lot of things (big and small), and there is no practical way to finish all of them - life is simply not long enough. For such people, not finishing 80-90% of those projects and focusing on a few that seem to have higher value is the way to go. Such a person should not (and hopefully does not) tell themselves that "they're the kind of person that doesn't ship." If they do tell themselves that, the solution isn't to start shipping everything they start, but to change their internal monologue.
I strongly recommend you get to know intricately the lives of successful creators. The majority have more projects unfinished than finished.
The example used in the book (there used for stopping negative habits) was that of smoking. A smoker that is looking to quit goes out with a colleague for a smoke break, and the colleague offers him one. If he refuses by saying “I don’t smoke now/I’m trying to quit”, he will much more likely not be able to quit his addiction. But if he answers with “I’m not a smoker”, he is on a good path.
It was a really eye opening part of that book for me - people’s view of themselves recursively depends on past experiences/facts and inner motivations. If we do (or don’t do in case of smoking) something a lot of time we can accept it as our new selves, and vice versa.
I have enough to ship in my day job. Not shipping my personal projects is my prerogative.
What you do at your day job doesn't matter, (unless you work for yourself), if you ship while at work, your work is a place that ships. Not you.
Naw, this is just a toxic take.
A project is a project, whether it's a solo one or collaborative. Whether it's "personal" or professional. 99.9999% of software that actually gets widely used (because it's useful to many people) has more than 1 coder, and arbitrarily deciding that the only "real" coding you can claim to is unpaid solo coding is a weird gate to keep.
Does the Sistine Chapel not make Michelangelo "someone who completes paintings" because he was doing paid work for the Vatican? Please.
But really my point was that you can still derive a lot of satisfaction from a project without shipping it.
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.
I have no idea what you are talking about. My comment is on the same topic as the head of the thread, and provides more details on that original critique.
Your reply, while interesting, would work better as a standalone comment and doesn't really relate to the thread.
Unless you made commitments to others, one should never feel guilt for not finishing a project.
Something I learned in my 20's: Guilt is one of worst long term motivators, and almost never yields anything positive. It's why those who guilt trip others are best avoided.
You’ve codified this in a way that I feel like I can begin to manage it better. Really great post. I’ll incorporate this one into my life going forward.
In video games which I personally know, “make games that are fun to make not to play.”
The polish and marketing of a thing is always done better by bigger budgets which you don’t have. The math the article is missing is that shipping something polished and boring is only possible because you valued your time at zero. So even if you find success, an honest accounting could wind up making your ROI negative.
Indeed I’ve gotten out of so many worse situations by quitting early and getting my life back compared to the colleagues I left behind. It was never worth the chance to ship something that would have never found an audience anyway. This is especially true of people doing startups, they are doing psychological warfare against themselves and shrouding the reality that they have already failed and will have learned little by spending 4 years on something compared to 1.
Which, you know, is fine. I would maybe have {insert similar advice here} :)
Actually I do have a contribution, inspired I think by _why. Rather than telling them how to write, just write. I don’t do that enough myself.
On writing, I think strong points often get through better. Challenge people. They’re adults, they can consider if it applies to them or not.
On completion, for those who have difficulty achieving self love, achieving small completed projects is nearer “fake it till you make it”. It’s easier, actions and thoughts and beliefs impact each other. You can start with any of them, but some might find it easier to start with actions.
Well, it is not my intent, but I take your meaning (:
I suppose I do draw some fuzzy line between presenting someone with information or perspective, which they may or may not choose to internalize, and telling someone what to do. It's a struggle: I want to share and try to be helpful, but I don't want to be evangelical about it. Likewise, there's challenging people, and there's used-car-salesman-ing them (or so).
Certainly, there are lots of different personalities banging around in the world, and anyone trying to learn has to develop some resilience to the various ways people communicate. But I guess for my part, I do gently advocate for a more gentle approach. I respect if you find "strong" (forceful?) points to be better, though. In my mind, not everyone I talk to is fully an adult (hell, myself included).
I'm reminded a little bit of some East/West cultural differences that come up, sometimes. In the West, we say "the squeaky wheel gets the oil" (i.e. being loud/pushy is rewarded) and in the East it's "the tallest blade of grass gets cut down first." In the West, argumentation follows a "I'm right, you're wrong; here's why..." adversarial approach, while in the East, it's "You're right, but I am right in an even broader sense..." Obviously I'm grossly generalizing, but you get the idea.
But anyway, thank you for your counterpoints. It's a topic that interests me.
(Aside: I don't mean to imply that you or the OP are being used-car-salesman-y; just staking out some points of reference in this many-dimensional space we're discussing :)
https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Now this is something I can get behind (:
But for the rest, I think we are not on the same page w/regard to most of what I was trying to say.
I guess you took my text to mean we should all tiptoe around everyone else's feelings all the time, to the point of absurdity — everyone gets a participation trophy, and nobody is allowed to acknowledge harsh reality, etc.
I actually come from the other direction: failure is real, pain is common, so why add more to that pile for others? Why give people more reasons to feel bad about themselves through some choice of words?
I suppose there's some aspect of "I waded through shit to get where I am, so you should too — it'll be good for you", and that seems ... off, to me. We are all wading through shit all the time already. Different kinds for different people. So maybe throw a rope from time to time, if you've got one.
---
Aside: I don't think this is about young people these days, or political-correctness. This is about having empathy and broader perspective.
It sounded like the former emperor was talking directly to me, but later I found he was writing to himself. He never intended for his works to be published.
With that in mind, it may be possible the blogger, Aaron Francis, in this case is also speaking to himself.
Even serious physical symptoms from withdrawal are basically just a week of headaches and other minor things.
And is nothing compared to the next most frequently used drugs, alcohol and nicotine, hell it has plenty of positive effects.
So my initial statement I believe still stands that humanity could hardly happen upon another substance that they could use in such a huge amounts with minimal negatives.
I don't think caffeine is particularly harmful, but it is a huge stretch to paint it as purely beneficial and without side effects. As a point of fact most people getting their "morning jolt" are just treating the side effects of extended caffeine usage - they are physically addicted.
About once a year I spend a month doing no caffeine. Every single year it is quite illuminating to do through first withdrawal and then to experience the first cup of coffee. I recommend it, and you might change some of your thoughts on caffeine if you do this.
if I'm tired or sleepy and drink it, I'm still tired/sleepy but with a higher blood pressure/heart rate.
sometimes I wonder if it's just people that oversell the effect of coffee.
I can drink coffee/red bull all day and it'll do very little. Can drink just before going to bed and sleep just fine.
I'll try to find the study on this again if you're interested.
Realistically speaking, that's not true. I did some voluntary experiments on myself during Ph.D. corrections process and, besides resistance, when coupled with a lot of hard work for a prolonged time, it's certainly very unhealthy for the body.
If you regulate your consumption and pair it with good sleep, it's a boon. Otherwise, it's a slow-killing drug.
Could you expand on what you found and what were the specifics?
I'm not a body hacker, and I don't like to mess with my body much, however I had limited time, this was once in a lifetime situation, so I had to put some regular hours to finish my Ph.D. corrections.
Also, it's worth noting that I'm an avid black tea drinker since 6 or so. I didn't change my tea consumption habits through my life.
First, I read about resetting caffeine resistance/dependence. The method is simple and clear: "Give up coffee for a week. You'll have headaches in day 3-4. Endure. You'll be fine". Then I started to consume coffee to the point where I felt productive, yet not tipsy. I have a Starbucks mug, it's "Tall" in Starbucks parlance. I started with two cups. One morning, one after lunch. As the resistance built up, I started to increase in a controlled manner, to the same line. Productive, but not tipsy. I was putting 10-12 Pomodoros a day (250+ minutes of truly deep work), and my mind was mushy and tired everyday at ~5PM. I never pushed my body beyond that point, because I needed that brain tomorrow. Left my desk and got rest.
I finished everything on time, left coffee for ~3 months, had the headache on day 4, alleviated with 2 sips of coffee that day.
As of today, I drink half a "Tall" every day, and feels enough. If it's too stressful, I also drink another half on the other half of the day, and these are my findings about my body.
Considering I'm not in "battle mode", I can really work well with half a mug of coffee/day.
Coffee shorts my hunger regulation and appetite, and makes me lean to sugar. That's not good. Considering my brain has less brakes and way higher idle than most people (per my doctor's words), this is double bad. So regulating coffee has a net positive effect on everything.
I can reliably build and reset coffee reliance/resistance now, since I know how my body reacts to caffeine.
I always think 10-12 hours ahead since it's caffeine's life in your body. Will I be awake 10 hours later, or will I be battling against caffeine to sleep? This is important for me.
Coffees with mild/mild-high caffeine concentrations works best for me. I don't like high-caffeine or ultra-caffeinated coffees. They make me tipsy causes heart palpitations and creates stress for no reason.
Black tea is a good aid for sustaining my focus. It improves focus, but doesn't create the same stress on my body. I can almost drink infinite amount of coffee until 2 hours before sleep, and it'll keep me collected and focused. What I live is it doesn't create an illusion of being not-tired by priming the body, so I can reliably feel how tired I am and plan accordingly.
Hope this helps, and please don't hesitate to ask for further specifics.
I started taking coffee at 20, for some two or three years, I later started taking black tea instead. One teaspoon of Twinnings Earl Grey, to be precise.
Thing is, by any calculation I do, a cup of coffee ought to have more caffeine in it than the cup of tea. Especially since I sometimes had not one, but two cups of coffee back then. I can still do this, if I'm travelling or I spend the day outside for some reason I'd rather take coffee than tea.
Problem is, tea wrecks my sleep in a way coffee just doesn't. It feels as if tea stays with me way, way longer than coffee does. If I ever take more than one cup of tea in a day I know that I'll be feeling it the next day, maybe even the day after, whereas with coffee, as long as I don't take it too late in the day I'm largely ok. Sleep does worsen somewhat but nothing I can't manage.
It puzzles me, since as far as I know it's caffeine in both cases, I don't understand why my metabolism seems to act in such a different way.
Black tea contains 30–90 mg of caffeine per cup (and some theobromine and theophylline, which are similar to caffeine, and also stimulants.) Giving up coffee because of the caffeine but dinking black tea instead is self-defeating.
I don't reduce coffee because of caffeine, but because it affects my appetite, makes me tense when I drink too much, and causes heart palpitations and makes me uncomfortable. Black tea doesn't do any of that.
Much like nicotine, it fools the user into thinking the cessation of withdrawal is part of the positive effect, rather than just removing a negative you wouldn't have if not for caffeine dependence.
Taken now and then, sure, probably worth it. The part in which a lot of people's brains are seemingly unable to wake up without taking caffeine? Probably not good.
That’s very likely just placebo/power of habits, similarly to many people can’t go to sleep without brushing their teeth.
Being an emperor and even trying to do a good job is damn near impossible in my eyes. Lot of respect for that. My tiny life sometimes overwhelms me already.
Because you (presumably) have to deal with every tiny thing in your life. Even having to buy and cook food can feel overwhelming when you’re busy trying to accomplish other things.
Marcus Aurelius had slaves. He was the emperor. He did not have to worry about the multitude of minutiae required just to continue to exist.
When it seems to you rich people are able to achieve more, remember that’s because they need to do less. If you did not have to think about basic necessities, you too could do more of what you dream about.
He wasn’t “rich people” like some Russian oligarch. He had shit to do and deep moral obligations. Millions of lives depended on it. Things of vast strategic importance stretching both thousands of miles and many decades.
Slaves don’t manage your long term ambitions and juggle your various mental and moral anguishes. They keep your house clean and provide you with food, sure. But to be honest, as a rich Westerner, I’m not too far off that.
He didn’t dream about standing knees deep in foreign horse shit managing the nitty gritty of brutal wars for the continued existence of an empire that looked solely at you.
All this could be handled with great nonchalance and incompetency which would have made his life relatively easy. But he decided to try and do a good job, now that’s something to take serious.
I get that “rich people” have some leverage, but this is another thing altogether.
You know yourself better than I, obviously, but if you're assuming that because your path differs from theirs, I think you should have some doubt that the difference is because you are less capable. It may be that you have different values.
He seems to have resisted, or rather, his particular ethical framework provided the power to resist two very big and very real problems:
"Mo money mo problems" (~Socrates)
"Power corrupts; absolute power corrupts absolutely" (~Shania Twain)
Lol. Actually Lord Acton
https://en.wikipedia.org/wiki/John_Dalberg-Acton%2C_1st_Baro...
This is cracking me up, thanks.
Well, sure, I didn't say anything that disagrees with that at all. But you phrased it in a more general sense of being less capable.
Perhaps I read it wrong, but that didn't sound like you were saying "I'm less capable at X", rather that you were saying you were less capable in general. That was the sentiment I was pushing back on.
And I wasn't even saying that assessment was wrong. I was just saying that it's the sort of sentiment that can easily come from incorrectly underestimating one's self and so deserves a deeper look.
He was a fine emperor, but I have my specialties. Also, I have a good simple life for which I am grateful. Being an emperor sucks.
Having access to Aurelius' cleaned up mind chatter is a blessing.
You're 100% right and weirdly, that did not occur to me until today. Insightful comment!
This will only cater for people who don't automatically apply that filter. I'd say for most people the article won't stream directly into their consciousness as fact, and they will be applying caveats already.
But I do think there's something to be said for the sort of culture we want to foster. If one blogger writes something a bit one-sided or pushy, then no big deal. But if lots of them do, or most of them, then it starts to affect what we consider normal. Personally, I'd rather we don't normalize the self-flagellation approach to progress, or at least be pretty careful about it (see another comment about "healthy masochism").
If everybody is in on the game, then it can work (eg: I enjoy talking shit with friends, because we all know we're friends), but in a public forum that's harder to be sure of. I almost feel like being a giant asshole (Linus Torvalds?) is better in this space, since it's so over-the-top obvious and people can easily reject it if they don't like it. But when it's more subtle, the risk is that some small cumulative effect nudges people to actually feel bad about themselves, even if just a little bit, spread so thin it's hard to measure.
But anyway, it's a small point; I only wish the 1-ton weight were moved 1cm to the left, or so. Sometimes I write too much text about too small a topic, and it comes across overblown (:
I would just say that this is a link, and not from inside the HN community, so it's not a cultural issue as such. I think it's possible to try and enforce a monoculture internally, but enforcing it on what links get posted might be difficult.
It took me a while to realize this, but it's the only way I want to live my life. Terrorizing myself through my ego was a retardedly pointless mental preset, and I'm very grateful I changed it.
These are things that are important to him. His advice and tone may be of use to others who share his values. Those that don't should feel perfectly fine with ignoring him or (better) reinterpreting what he's saying so it better aligns with their own set of values.
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.
> 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.
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.
And even then, you have a lot of extra external motivation (money, peer pressure, boss) to keep pushing when you’d otherwise give up.
Not to say that the satisfaction is any less, but the environment seems different.
Let's take one not related to software at all! I turned a shed into an office over the course of many months: https://twitter.com/aarondfrancis/status/1333866090573811723. I wanted to give up and burn it down at some points, but I powered through and ended up with the perfect shedquarters!
I also did a podcast many years ago that was hard for me to produce, but I powered through until I felt like it had reached its natural conclusion: https://www.youtube.com/playlist?list=PLI72dgeNJtzr2Hd6Uscin....
I created a course teaching college students financial accounting that's made over 100k in the 5 or 6 years it's been live (http://acct229.com). That was a freakin grind that I thought about quitting a lot.
I also started doing tech YouTube videos recently and each one is a tiny exercise in finishing (and it feels great to ship!): https://www.youtube.com/@aarondfrancis/videos?view=0&sort=p&...
I wrote and released an open source package called Sidecar (https://github.com/hammerstonedev/sidecar) for managing Lambda functions from Laravel. That led to me speaking at Laracon Online (https://www.youtube.com/watch?v=0Rq-yHAwYjQ) and also to being asked to produce a course for Laracasts (https://youtu.be/0Rq-yHAwYjQ?t=11759). Speaking at the first Laracon led to speaking at the second Laracon Online (https://youtu.be/f4QShF42c6E?t=21744). Both of these led to me being profiled by GitHub's ReadME project at https://github.com/readme/stories/aaron-francis. (The shedquarters is featured here!)
That interview led to another piece called "Publishing your work increases your luck" at https://github.com/readme/guides/publishing-your-work. I gave a talk on that article at GitHub Universe. That article led to... this article. And here we are!
Each of these things have 1) felt awesome to release and 2) directly increased my luck, my bank account, or led to the next thing.
Hope those examples hit home a little harder!
They’re certainly done outside of work and make the point a lot better ;)
Shed looks fun! Now if only I had the space for it. Think 20x10 covers my entire garden.
I've been using relational databases for years, but my conceptual understanding was never that strong. I hadn't touched MySQL in particular for several years. Your course not only got me back up to speed, but I learned a lot of things I'd never known before.
I love how you organize your lessons, how you make sure to answer the right questions at the right times, and how you prioritize helping the learner build a strong mental model.
I hope you make more content like this in the future.
I've had an internal notion of "healthy masochism" for a while — much like what you're saying, where pain is part of the process. And if you go through it enough, and taste the final reward enough times, you almost start to feel the pain as a good thing, or a reward on its own.
On the other hand, there are other personalities (maybe less of them in software, given the amount of pain to be found there :), where the "whip yourself forward" approach plain sucks, and just creates scars rather than promoting growth.
Different strokes for different folks, though I definitely get where you're coming from.
Some of the stories I hold onto when I'm having a tough time finishing are those of writers who talk about what a struggle it is to write. Jerry Seinfeld on the Tim Ferriss show was one of my favorite interviews ever. He talks about about how his advice to young comedians is to just work. There's no way around it. That's been a great comfort to me. The War of Art is another good source of inspiration.
I don't know what your goals are when you start projects; personally, I seldom start projects just for fun. If it's a program, then it's a tool I want to use. If it's project around the house, it's probably a repair or upgrade that has meaningful impact on my life. It's easy to get discouraged on these kinds of projects, but you have to see them through or in some sense you suffer for it.
In the middle ground there are things you kind of started because you wanted to, to see if you could do it, or because you thought it would be cool. Maybe a drawing you you were working on, or a research project (actually, I don't know if this fits or not). In a home wood shop, maybe you're making an new tool because you enjoy owning nicer tools than you can afford or just tools you made yourself. These projects, you don't really have to finish, but you probably don't want a graveyard full of them either. It's a pride thing. I start projects like this myself on occasion; they end up particularly hard to finish because I have too many of the first type.
Then there are people who are just screwing around, doing what's fun in the moment. I basically never do this, but a lot of people do. Those projects are fine as well, but people doing that sort of thing are going to have a very different outlook.
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.
At the risk of spoiling the surprise, the conclusion rather strongly implied is that he killed himself after coming to feel that he’d wasted his life devoting it to a second-rate author.
Does every project actually need to be brought to its conclusion? No. Is it nice to take pride in completed projects? Yes. Do the projects I do bring me additional knowledge? Yes, usually.
I think that the ability to complete a project is a desirable skill. I think the desire to take a project to completion is worthy, otherwise why start it? Still, priorities change right along with interests. Much like saying "No" is considered a skill, knowing when to finish, and when to throw in the towel, are both equally valuable skills.
When I signed my daughter up for soccer this summer I had to willingly drop a personal and extremely fun side project because I've committed an extra 4+ hours/week to her development. Am I not a grown up for making this decision?
No, of course this is not the case. You made a decision based on priorities.
The headline of the article:
> Finish your projects > Don’t let fear, or that last 10%, hold you back.
... and reading the article, it seems targeted at people who want to finish their projects, but are struggling with the reality of actually doing so.
GP seems to be talking about the same sort of thing --- giving up because the going got grindy.
It's of course fine to just screw around in your free time if the goal is to screw around in the first place. It's also fine to realize that some goal (project, etc.) you set no longer aligns with your priorities.
I feel like there are two groups of people here talking about different things but thinking they're the same.
Funny enough, I had few concept projects got un-stuck maybe because of it. Long story short: sometimes it's helpful to leave the project for a few days so you can come back to it from a relatively new perspective. Get a good exercise AND then a good rest helps too, especially when the project is big.
If you think you'll gain in other areas despite failing and it won't affect other aspects of your life (think health and mental), then by all means power through.
And keep in mind a track record of finished work is a degree of proof that no one can deny, so long as you're able to host it and let others see it.
> you will get much less from it than you hope (at least in terms of external validation and rewards)
The best thing is when you're not doing it for validation but for fun. Or, even better, for your own utility, like this is something I want to use for myself that ostensibly exists nowhere else! It's uncommon you think of something like that, though.
Recently, a program I use got an update that's made it go from perfect to horrible. While it sucks, it's given me a project like that; I'm now working on my own substitute that gets back to my "perfect" and has none of the features I don't want. Until it's finished, I'm still using the original program, whose horribleness motivates me daily. ;D
> Personally, I like to put a single song on repeat for hours and hours, days even. It helps me zone in. Why does this admittedly strange behavior help me? I'm not sure exactly, but I've known it to be helpful for more than half my life. I like to get up early before the family is awake, close Slack, put my phone in Do Not Disturb mode, and work. I even put a Post-it note on my monitor with the task I'm focusing on to help keep me on track. Sometimes I can accomplish more in that quiet hour and a half than I can in the rest of the day.
Except for the post-it note, I do those exact things. These seem to be the essential pre-requisites to being very productive (for me):
1. Set aside some time to work on something specific (with clear goals and intentions).
2. Block all interruptions (messages and calls of any kind and other distractions).
3. Focus and get in the zone. I find that music helps a lot here, and generally for me it's electric music or songs with very subtle lyrics (almost dream-like). If the lyrics are too noticeable, they become a distraction.
The above works both for my personal projects and work. I work remotely and sometimes there are so many interruptions during the work day that I simply abandon everything and go do something else (a walk, groceries, work out, etc.). Then I catch up in the evening or during the weekend, when interruptions are at a minimum or completely absent for hours on end. Almost always I'm more productive in a couple hours like this than for entire days.
Finally, while I liked the article a lot, I disagree with the premise that projects _must_ be finished. It's fine not to finish a project, it's not failure at all. On the other hand, yes, there is a certain feeling of accomplishment that comes with reaching a level of "completeness" of a project.
To be fair, the author admits that including maintenance, a project is never really finished.
Instead, he says that a project should be _published_. Preferrably, on GitHub :P
I am a little obsessed with songs at times and even I can't stand listen to the same song more than 10 times in a day unless I was trying to memorize it or something.
In that paragraph I'm describing how I work. The very next sentence is:
> These things work for me, but you'll need to find what works for you.
It's not prescriptive, just descriptive.
The unpredictability of life, however, has its own plans. An unforeseen circumstance led the company I was collaborating with to dissolve, and simultaneously, a tech startup I had founded began to show the sprouts of success. Faced with this duality, I found myself contemplating the choice between my creation and an entrepreneurial opportunity. With a heavy heart, I paused the game project to build my startup, which turned out to be an arduous, albeit rewarding journey. Yet, that unfinished 3% kept lingering on the edges of my consciousness. So, I set aside three months to complete the remaining portion of the game (1% takes the same amount of time as 99% of development?) and finally released it on Steam. The joy I felt was amazing, not because the game was extraordinary, but because I had finished what I started.
From this experience, I took away two key lessons:
- We only have the bandwidth to complete a few significant projects in our lives (2 or 3 on average). It's crucial to know when to say 'no' and choose our commitments wisely.
- Leaving a project incomplete can lead to long-term regret, more so than the effort it would take to finish it.
- Releasing on platforms and setting up a Steam account.
- Marketing and creating promotional graphics.
- Bug fixes that were discovered by hardcore gamers, who we didn't have access to for testing a decade ago.
- After 10 years, some Unity plugins needed to be updated and adapted.
- Also important to consider is that I ultimately decided against a mobile version and had to rework the game for desktops.
These factors ended up extending the process much more than I initially thought, but the figure of 3% had stuck with me from the beginning, illustrating how finishing touches often require a lot more time and effort than we might initially anticipate.
I hate creating screenshots (and then get an error that I didn’t mean the exact size/ratio required), banner/store/promo graphics, icons, a short/long description, title/subtitle/promo title, and filling out all the questions the App Store/Play Store ask. I become so extremely lazy at that point.
I know I've written a novel; I no longer have to start another just to prove to myself that I can finish one. My writing has tremendously improved and I believe if I decided to write another, it would be significantly better than the first one. So, in a way, I agree: if you're almost done, persisting to the end could be a good idea, even if it's just to free yourself from obsession.
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.
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.
Examples:
https://github.com/codazoda/https-basic-auth-go
https://calories.joeldare.com/
Okay, a few of them have some GitHub stars, and I slipped in my most popular project, but still. It’s not like my inbox is overflowing or anything. There are about a gazillion others too. ;)
He frames curiosity as a drive (similar to eg hunger.)
If you’re starting but not finishing projects, maybe it’s due to curiosity about a sub problem that you hack a solution for.
But once your curiosity is satisfied and you have no other drive eg money, stars on Github, you finish without releasing it
I'm working incredibly hard to provide a better life for my family. For my two-year-old twins. Finishing projects is part of that work. It's not easy but I think it's worth it.
If you're curious about my story of working, side-hustling, and spending time with my family here's an hour of me talking about it: https://saas.transistor.fm/episodes/bootstrapping-with-kids.
It's full of nuance that you might be wishing was in the article.
Additionally, I think this article strikes a bit at my person as I struggle immensely with finishing anything I start, to the point where I've began projects (plural!) meant to act as tooling to create project boilerplates, and I still haven't finished even those. Regardless, I do feel the message shared is a positive one that does come from a place of benevolence.
Tangentially, I'm curious if you could speak to what it's like creating content as a third party author? Are you given prompts regarding the tone or content of your work? Have you ever had work you've produced be rejected by a publisher? I'm not at all familiar with this aspect of online content (despite being stuck to a screen reading it all day), so I'd appreciate some insight on the matter if you're willing and able to share any.
Happy to share! The first piece I wrote for GitHub's ReadME Project was called "Publishing your work increases your luck" (https://github.com/readme/guides/publishing-your-work) and I was able to write it as a result of an interview I did with them previously.
Before I wrote that first piece, I reached out to the ReadME Project and told them that I had wanted to tell the story of my past year of overcoming fear and embracing putting myself out there. They agreed that that fit in their "developer stories" section and did an interview of me, which they published here: https://github.com/readme/stories/aaron-francis.
After that they reached out and said "sometimes we have our developer stories have a corresponding guide, do you want to write one" and so that's where the Publishing guide came from. I wrote it all for them and then they have a full on team of editors, proofreaders, illustrators, etc to help push it over the finish line. Before I wrote it I gave them an idea / outline of what I was gonna say, to get the green light. Their editing has been very light, more flow than content. Like... move this sentence up; you repeated yourself there. That kinda thing.
The only time I had a piece really torn apart was this one https://handsontable.com/blog/modularizing-to-improve-the-de... and it was because my voice just didn't fit their blog at all. What you see on the site there is about 35% of what I originally wrote before it was completely toned down. It happens though! It's their blog, so it's gotta fit their voice. (Coincidentally that was the last piece I wrote for them. Ha!)
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.
But I sure couldn't produce the tools I want without making use of the work of profit driven people, simply because advanced tech is a lot of work, takes hundreds of people, is too big for anyone to understand and thus is almost never made if idea-exploring is the main motive, and generally seems pretty tied to profit.
Lots of places in Europe seem to have mostly figured the balance out. I don't think I'd prefer to live in a world without Intel and Microsoft, maybe I'd have free time, but I'm not sure it would be leisure time, I might be hand-washing laundry instead.
We definitely need changes, and there are some amazing side projects out there.... but also, I want to eradicate the last few guinea worms, have every roof covered in solar panels that can last 70 years, and have my Google Keep notes keep working or be replaced with an even more advanced and feature rich version.
To do that, I think we would either need to start doing really big polished side projects, or we'd need to manage and reform, but not eliminate the deadlines and meetings kind of stuff.
I'm not sure we know how to run a chip fab with any other social structure. Maybe a co-op with elected leaders, or unionization, or better inspectors to be sure there's no child labor sourced parts... but we would have a lot of learning to do to make Intel open source, half the people would just say "We should ditch out of order execution, it's a security risk" and the other half would say "This defect tolerance routing that improves yield 20% is really complicated, stuff is getting too hard to understand, we can toss a few wafers if it means the tech stays human-level, and in 5 years we can probably just get rid of the defects".....
> [...] I don't think I'd prefer to live in a world without Intel and Microsoft
Now guess why Intel and Microsoft aren't European companies :)
They do R&D, Finance, Manufacturing, and a bunch of other stuff.
https://www.mondragon-corporation.com/en/
There's no axiomatic reason why an Intel or Microsoft couldn't be a co-op or federation of co-ops. It just didn't shake out that way this time.
Kropotkin's model of anarchist society is that we still have guilds and federations of workers, mostly composed of people drawn to whatever they are interested in most. If the farmers produce food, and the workers produce tools for the farmers, we can exchange them without having to profit from that exchange. Take the food or tools you need.
Over time, as practices become established, group up with other farmers, tools producers, etc. and form guilds that are democratically run. Those guilds negotiate with other guilds to help drive what tools are in demand and work to increase them.
Chip fab would necessarily be slower under the system -- democratically run organizations do take longer to reach consensus -- but we would probably route around that a bit by doing with fewer chips. (Or maybe we'd see more people enter chip fab as their career if there wasn't the concern about bankrupting themselves by going to college.)
- "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.
Also nice to be reminded how fungible things are when no actual wires get involved.
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.
When you got started you were in the open mode, playing, prototyping, dreaming and iterating.
When you finish you have to move to the closed mode and have an internal editor that says "ship" and "cut that" or "move to an update" and that is a difficult ride. Sometimes people don't finish simply because it is too painful for a labor of love to be trimmed, but it is the skill you need to ship. It sucks but is.
What you have to do there is revisit the love/play that initially got you to the idea and project.
See your project in the world/market and feel the original feelings of when you started it. Don't focus on what you had to cut or didn't meet your expectations, focus on what did and head to post-production and ship.
Ultimately we are only what we ship to the world, no matter how much you have in development or your adventures. If it isn't where you want to be improve it, but also learn to love each ship as that is a major step. It is a joy when what you envisioned comes out as you wanted or better, when it isn't, make changes and updates.
Both "work with a high degree of quality" and "finish strong" are good areas to strive for, but "finish strong" is where it is at.
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
Someday I'll retire and then I can get some real work done.
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!)
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.
It is really not a good experience, but totally beats not having the software.
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.
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
> 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.
I too play the same songs on repeat. I love death metal so I just listen the songs that make me want to wage intergalactic war on other planetary systems and play them on repeat lol.
Once I’m in the zone there’s no coming back unless it’s with the spoils of victory!
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.
So, this article is really timely. Thanks.
For me, this is false. I see other people who jump for joy at winning, who seem to really really like overcoming obstacles, who do get some deep satisfaction from accomplishment. I don't. Winning and completion feel ok, but at their most powerful they feel like a relief from the stress of effort or the shame of not getting something done. I look at people who get a natural internal reward for doing hard things like they have a super power. It's like they get paid millions for their work while I'm over here getting pennies.
Over the years I've had to actively work to focus on intellectual pride rather than any feelings of satisfaction or accomplishment. If there's no rush then at least I can objectively say "I've done X to an acceptable level of quality" and have confidence that others will react positively. To some degree I get that feeling of reward from external praise, which I'm very thankful for, as I'd hate to be totally missing out on feelings of satisfaction, but I imagine there are people who don't even have that.
So ultimately I feel like the author has failed to conceive of a world where people are wired differently and is saying "You'd like it if you tried it" without considering the possibility that, no, not everyone will like it enough to try it a second time.
It's as if my brain isn't wired to process "good news" or "triumph". The closest thing to that is rather final relief from some huge pain in the ass, and even that's fleeting. I think I could be told I just won a billion dollars, and I'd focus on whatever my next problem is in like 15 minutes.
And the things I do are usually not huge pains in the ass since I usually only do stuff when I enjoy the journey. The destination can be nice, but not just because I'm stoked about reaching it.
Although if projects are getting abandoned just because of the mess they are in, that's definitely something to work on.
> Finishing requires work
> Finishing requires courage
and
> "Just Work"
Hard to disagree with that, IMHO Sitzfleisch is akin to exposure therapy. But, in practice both items require having a deeper understanding of where the difficulty comes from. Instead of brute-forcing the problem (and sometimes setting up yourself for failure), it might better to develop tools that work you as an individual.
For instance, sometimes for me procrastination or avoidance can be a signal that I haven't been taking care of myself outside of work OR that deep down I just don't give shit about the project, but can't admit that to myself so just end up more frustrated. In this case leaving the house for 15 minutes or petting my dog works better than Sitzfleisch (cliche I know). Again, that's not always the case, but I think spotting those signals and making the appropriate choices is a muscle we develop through practice.
More on the subject in the article above and here: https://sonnet.io/posts/hummingbirds/
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.
> Decide upfront what you're going to work on.
and
> Behind the fear of releasing is often the fear of exposing your work, and yourself, to criticism.
When I plan to release my project's source code, it has helped me to release parts of the project up front as single-purpose libraries. This helps me think in smaller chunks of work, and makes me feel like I'm finishing more often. It also shortens the feedback cycle.
See "Law of holes" corollary:
"Nor would a wise man, seeing that he was in a hole, go to work and blindly dig it deeper..." ( The Washington Post dated 25 October 1911 )
It seems that the early times of open source were much more idealistic and less corporative. This zeigeist will not return, I'm afraid.
Do not consider a killed project to be a failure. Rather, it was an experiment with a negative result. You learned at least one thing that didn't work, and probably you learned a lot more.
It is better to start exciting and ambitious projects, of which some may succeed, than to play it safe and only start working on something simple and boring that you already know will get released.
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.
At the other end, having goals which extend well beyond the average lifespan is what could be considered as the root of wisdom.
I briefly wrote about this awhile back as well: https://keygen.sh/blog/5-things-ive-learned-in-5-years/
But it is sometimes simply not feasible, and we would be much better off with a less ambitious solution to the problem we have.
Last time I successfully applied this was a personal finance tracker, where instead of going at it reinventing the wheel I built my smaller project on top of the Plain Text Accounting ecosystem (beancount specifically).
Sometimes there's just more interesting stuff to do, or the easy project turned out to be a near impossible slog. Letting go and moving on is a valuable decision instead of digging a deeper hole. That is sunk cost fallacy.
Ie, I tried making a instagram + discord fusion. Instagram image feeds, but to a server of people instead. Turns out it's a ton of work and is worthless unless others adopt it. So it got scrapped after month+ of work.
What are your thoughts I projects that haven't had any updates in a few years?
https://github.com/jftuga?tab=repositories&q=&type=source&la...
What I learned is that “the last 10%” really is about half of the work. The solution is to reduce the scope. A lot.
Not only will it make it easier to finish the project. It also allows you to get real-world feedback a lot earlier. Which is both rewarding and informing. Two things that will help you push your project forward if you choose to do so.
The best is a project that is never finished, with great legacy code that makes it easy to do new things all the time, such that you're relieved you have it there.
:)
The "infinite possibilities" means infinite wrong decisions. Infinite ways that the decision you just made will prove to be a colossal fuckup in 2 months' time.
Outside of commercial projects, I program for the joy of creation and commonly, and paradoxically, automating for the sake of "not automating." I jump from project to project, sure, but I've found the largest source of not wanting to go back to a project is the difficulty of doing so. Having to pick things back up to juggle and going through the motions of learning what my software did and what needs to be done was always a pain.
My real breakthrough was "optimizing being able to leave." Comments like I'd be picking up the software months/years later, READMEs detailing build steps and rationale and planned features, automating dev environment setups with docker, break features/work into pieces so it isn't overwhelming, etc. These are just some of the many ways to make it easier.
Sometimes you don't want to go back because all you can think of is the known (or unknown) work that lies ahead of you. The fewer the reasons to not go back, the easier it is, and if it's easy to pick back up, you'll find yourself picking things back up when the time is right. Sometimes inspiration hits while working on other stuff, and I say that's fine. Embrace that.
Commercial software is a bit more narrow in the selection of how one can start and stop on work (I call this "task shopping"), but being in tune with yourself and vocalizing that during standups/meetings/whatever can help. Can't seem to finish a task? Maybe the task was too big to begin with, scope/feature creep set in, or whatever. Create tasks for what you've gotten done and what needs to be done. Lay out some groundwork to explain how someone might pick up the new tasks. Do that and you'll find yourself "optimizing being able to leave."
"You must become comfortable with the grind-it-out nature of the last 10% of a project." I really don't align with this statement. Software can and should be a joy to do. Sure, there are aspects that can make it feel like a grind, but this is a question of framing. After all software development is technically data entry (don't think about this too much).
-r. b.
Oh cool (read FUUUUUCK), I forgot I don’t know how to disable smart quotes on iOS.
Translation: "Please get locked in to using GitHub"
And this is exactly the problem. GitHub uses you as a free writer to promote its making money goals, instead to pay somebody. You are just another case of "working for the exposure". You in fact were working for Github, you just not realized it, and weren't paid.
Open source in late 90's was not about making a personal brand -> to make merits -> so the companies will hire you -> so you don't need to do open source anymore. Some people maybe, but the majority were driven by personal hobbies and "I'll fix it because I can, in a context of mutual benefit, and feels good helping somebody like me somewhere".
Now the mutual benefit in both parts feel much more unbalanced.