Tips for Sticking to Goals
I’ve been thinking a lot about what actually helps me stick with a project or a goal, and the biggest thing is breaking big work into smaller pieces that feel doable. For projects, I like to frame the first step as an MVP—minimum viable product—and I mean truly minimum: the bare necessity I can demonstrate to prove the idea is worth doing.
I’ve also learned that rewards matter. When I’m programming there are always a million tasks, and some are genuinely fun while others are complicated and draining. I try not to leave all the hard stuff for the end, but when my motivation starts dropping, I’ll deliberately switch to something fun to recharge. And if I have a super clear vision for how to implement something—even if it’s not the most critical feature—I’ll sometimes do it right then, because that kind of clarity doesn’t always stick around. There’s a real reward in watching an idea become real.
A good example is the biography software I’ve been building. A voice interface wasn’t critical at all; a text interface was arguably more important, and beyond that there are features like editing and collaboration. But I had a strong idea for a voice interface and I thought it could be genuinely interesting, so I built it to some degree. That turned out to be incredibly rewarding—and it even ended up being the right path, because it made creating journal entries like this easy and satisfying.
Another technique that helps me is how I stop working for the day. I try to stop right when I’m excited and I know exactly what I want to do next. That way, I don’t start the next day cold; I start with momentum and a plan. I remember hearing Ernest Hemingway used a similar technique, and I leaned into it a lot when I worked at a bioinformatics lab starting in 2009, writing proteogenomic cancer protein identification software.
That lab project reinforced how powerful it is to break a complex system into components that feel completable and can serve as real milestones. Proteogenomic identification is extremely processor-heavy with a high-cardinality search, so each component needed to be incredibly fast. One component translated DNA into protein sequences. Another translated protein sequences into theoretical peptide sequences. Another was a cleaning algorithm for tandem mass spectrometry data. Finally, there was a matching algorithm that compared tandem mass spectrometry data to peptides, ranked the matches, and needed to be both fast and—thankfully—very accurate. Eventually the whole pipeline came together as a coherent product: take a genome, generate theoretical peptides, take tandem mass spectrometry data, match and rank against those peptides, and the components combined successfully.
Habits matter too. Last year I set a goal to run 1,000 miles in a year, and I did it. I felt great about it and I’m doing it again this year. It worked partly because it became a habit, and partly because it was a statable, achievable goal—1,000 miles a year is only 2.74 miles per day.
Tracking was a critical part of that success. I kept a Google Doc showing my progress and how many days ahead or behind I was, and that visual motivator kept me on track and gamified the whole thing. It even made me wonder if I could use similar visual trackers for marketing or social media promotion for my projects, because I suspect I’d be more consistent if I could gamify that in the same way.
Thinking back, the first time I made a really concerted effort to stick to a goal was in 2000, when I was teaching high school and wanted to learn Java. Before that I’d only known HyperCard, and by then it was a dead development platform. To motivate myself, I withdrew $100 and handed it to my friend Lance. I told him that if I hit my development goal within a month, I’d get the money back—but if I didn’t, he had to donate it to the RNC. That way it wasn’t just like paying myself; it also gave me the extra motivation of not wanting to fund Republican propaganda.
My overall takeaway is straightforward: break large tasks into smaller units, reward yourself along the way, track progress so it stays motivating, and set yourself up to keep momentum going.
I’ve also learned that rewards matter. When I’m programming there are always a million tasks, and some are genuinely fun while others are complicated and draining. I try not to leave all the hard stuff for the end, but when my motivation starts dropping, I’ll deliberately switch to something fun to recharge. And if I have a super clear vision for how to implement something—even if it’s not the most critical feature—I’ll sometimes do it right then, because that kind of clarity doesn’t always stick around. There’s a real reward in watching an idea become real.
A good example is the biography software I’ve been building. A voice interface wasn’t critical at all; a text interface was arguably more important, and beyond that there are features like editing and collaboration. But I had a strong idea for a voice interface and I thought it could be genuinely interesting, so I built it to some degree. That turned out to be incredibly rewarding—and it even ended up being the right path, because it made creating journal entries like this easy and satisfying.
Another technique that helps me is how I stop working for the day. I try to stop right when I’m excited and I know exactly what I want to do next. That way, I don’t start the next day cold; I start with momentum and a plan. I remember hearing Ernest Hemingway used a similar technique, and I leaned into it a lot when I worked at a bioinformatics lab starting in 2009, writing proteogenomic cancer protein identification software.
That lab project reinforced how powerful it is to break a complex system into components that feel completable and can serve as real milestones. Proteogenomic identification is extremely processor-heavy with a high-cardinality search, so each component needed to be incredibly fast. One component translated DNA into protein sequences. Another translated protein sequences into theoretical peptide sequences. Another was a cleaning algorithm for tandem mass spectrometry data. Finally, there was a matching algorithm that compared tandem mass spectrometry data to peptides, ranked the matches, and needed to be both fast and—thankfully—very accurate. Eventually the whole pipeline came together as a coherent product: take a genome, generate theoretical peptides, take tandem mass spectrometry data, match and rank against those peptides, and the components combined successfully.
Habits matter too. Last year I set a goal to run 1,000 miles in a year, and I did it. I felt great about it and I’m doing it again this year. It worked partly because it became a habit, and partly because it was a statable, achievable goal—1,000 miles a year is only 2.74 miles per day.
Tracking was a critical part of that success. I kept a Google Doc showing my progress and how many days ahead or behind I was, and that visual motivator kept me on track and gamified the whole thing. It even made me wonder if I could use similar visual trackers for marketing or social media promotion for my projects, because I suspect I’d be more consistent if I could gamify that in the same way.
Thinking back, the first time I made a really concerted effort to stick to a goal was in 2000, when I was teaching high school and wanted to learn Java. Before that I’d only known HyperCard, and by then it was a dead development platform. To motivate myself, I withdrew $100 and handed it to my friend Lance. I told him that if I hit my development goal within a month, I’d get the money back—but if I didn’t, he had to donate it to the RNC. That way it wasn’t just like paying myself; it also gave me the extra motivation of not wanting to fund Republican propaganda.
My overall takeaway is straightforward: break large tasks into smaller units, reward yourself along the way, track progress so it stays motivating, and set yourself up to keep momentum going.