The Biggest Doubter Was Me
Running, work, and AI in 2025
Run
The 2025 year of running could have gone better. From the adversity and the 2000+ miles, 1 marathon, and two 5Ks, I've learned that for 2026 I'll be optimizing for feeling good about running, as opposed to feeling shame for missing overly aggressive mileage, workout and racing goals.
The story starts at the end of 2024: CIM. I came off a disappointing performance thinking that I needed to adjust my training, but not really certain how and also without concrete goals to anchor potential adjustment.
Instead of taking an off season, I got right back into high volume running. The first quarter of 2025 I foolishly ran 50 miles every single week. In my head at the time I didn't consider this high volume because peak marathon training for me was 70 miles per week. I thought 50 was sustainable and I wanted to see the weekly mileage graph in Strava flatline impressively across the screen. It wasn't sustainable. By the end of the first quarter of 2025 I felt haggard. I was slower.
I continued the next half year running 40+ miles most weeks. While I ran fewer 18+ mile runs, I still saw my paces get slower and my legs feel heavier week after week.
I underestimated the toll that weight lifting takes on my body. Going hard once a week in the gym is not a recipe for success. It left me feeling sore and even more tired on my runs.
I completed the 2025 Rino 5k with a 22:14 finish that wasn't that far off my 2024 personal best of 21:25, but also clearly a sign that the year of training was not working. That finish time belies just how awful I felt at the end of the race though. I went out way too fast (6:36 for the first .25 and under 7 min/mile for the first 1.25 miles) and got slower each mile with a shameful 7:28 min/mile quarter in the middle of the final half mile.
But the disappointments were not complete. At the end of September I joined my great friend in pacing the Boulderthon. The plan seemed conservative, run 4 hours. I've paced 4 hours without issue in the past. The first half of the race went about as well as it could have gone. We crossed the 13.1 mark at almost exactly two hours.
Mile 17 is when the wheels came off, which means I had about 9 more miles of pain, suffering, and self-loathing until I finished 4:33. It turns out my previous three-quarters of a year of running on average 43 miles per week with fewer long runs and weight lifting hurt my fitness.
My average weekly mileage since Boulderthon has been 25 miles per week. I ran a Turkey Trot to close out my 2025 racing and actually finished faster than Rino 5k earlier in the year. More importantly, I felt great and got faster each mile. I finished fifth for my age and gender!
Going into 2026, my goal is to feel great about running instead of ashamed. That means I'll be running races conservatively, which might have the added benefit of making me faster. I'll be decreasing my mileage and running my speed workouts at paces that are slower and more disciplined. More miles does not mean better running. Sustainable effort and fun race courses that celebrate honest work will be my vibe.
Work
Work could have gone better this year. I went into the year with the goal of shipping major projects and getting promoted. In February the company had layoffs. While thankfully I was not laid off, and the overall reduction in force was quite low, the experience has been a psychological boogeyman ever since. Unfortunately I worry about being laid off nearly every single day.
Rationally I understand that I'm performing my job and likely no one else is considering ending my tenure. And yet I struggle to even write that truth.
The layoffs did not stop me from shipping projects, but the intention to ship is not sufficient to actually ship. And while I worked longer hours this year than ever before and delivered impact that I think more than satisfies the criteria for meeting expectations, I am not satisfied.
After a lot of consideration and forecasting I changed teams at the start of the fourth quarter. The benefits have been that I am in a new domain closely related to AI. For the first time a parent at my kids' school mentioned a feature they had heard about and it was something that I actually work on. That's a cool feeling.
But spinning up on a new team is difficult, especially when your personal monologue is replete with layoff-fueled self-doubt. I constantly have to remind myself to think back to spinning up the first time. Unlike then, I'm now able to take loosely defined tasks and turn them into production code without hand holding.
The goal for this coming year is not to get promoted, although that would be nice validation. Instead the goal is to change how I feel about work. I need to get the monkey off my back that started last February with the reduction in force. I need to not work longer hours, but more focused hours where I'm doing high-leverage work that I'm the best at.
Picking up random tickets, while helpful when we have urgent deadlines, is not high-leverage work. But, motivating my teammates, sharing expertise, and planning strategy is. When I reflect on the work that I'm actually most excited about from this past year it is the internal AI newsletter I publish weekly, the book website I created for my coworkers, the encouragement and coaching I give to my teammates so that they get the recognition they deserve. I enjoy aggregating and curating ideas in creative formats and sharing these along with my perspective. To that end I've already discussed the idea of management with my own management chain.
AI
The third big theme this year for me is AI. I've built four side projects and many other smaller personal coding solutions with AI tools. It's incredible what AI is unlocking and also how fast the technology is progressing.
When I started coding I used the Atom coding editor. After three or four years I switched to VSCode. After three or four more years, I moved to Windsurf, a VSCode fork with AI as a first class citizen. Then I rotated between Windsurf and Cursor depending on which IDE I had tokens remaining in my monthly subscription. After a month or two I moved entirely to Cursor and dabbled with Claude Code.
When Claude Code became included in the Claude Max Plan, I switched from Cursor and Windsurf to Claude Code and for the past six months or more I've been using Claude Code and Goose for coding at home and at work from my Ghostty terminal. If I need to edit code, or look at bigger swaths than what Claude Code typically shows in terminal, I'll open NeoVim all without ever touching my mouse.
While the list of tools might sound tedious, there are two points to highlight. First, like in any other craft, one's tools are incredibly important. Ask a chef about their knives, a woodworker about their chisels, or a tailor about their sewing machine and I suspect you'll unlock a level of depth, thought, and intentionality that I bring to my development setup. More importantly though, the tool list shows how fast AI is moving. The half-life for my tools has gone from four years to six months.
All of this is tremendously exciting though. While I don't think I am the best coder in the world - I don't have a computer science degree, I have never done a data structure and algorithms grind - I think I'm a pretty good coder. I find myself telling people I'm a Division 1 coder. And so coding in English with coding agents gives me the confidence to attempt new projects and removes some of the tedium.
Coding with AI agents feels less like long division and more like a conversation with a teammate or more junior colleague. I enjoy this level of abstraction far more than I ever enjoyed writing for loops by hand.
When AI 2027 came out earlier this year I very much thought that we were all doomed. But, I've revised my outlook to many people will be doomed and in the short term the demand for software engineers will increase. I hope this phase lasts long enough for me to continue providing for my family while I figure out how to navigate whatever comes next.
Big picture
There is a connection between my year of running, work, and AI. In all of these realms, I have felt anxiety and dissatisfaction. But, I believe nearly all of this was self-induced discomfort and the goal for this coming year is to mitigate my own negative thought patterns.
I set unreasonable running goals for myself and ended up overtraining. Rather than celebrating the journey to 2000+ miles this year, I wallowed in the feeling of heavy legs at the start of nearly every run and the shame of not meeting self-imposed expectations.
At work, I believed that I needed to work longer hours to avoid being made redundant. Rather than appreciating the cutting-edge AI tools that I get to use every day, the brilliant teammates, and the opportunity to shape the internet economy, I let imposter syndrome cloud my focus.
With AI I let the hype get to me and undermine my investment in community and society. There is no need to go down with a sinking ship after all. I have to remember, most people aren't using AI the way I am.
The lesson of 2025 is to pursue sustainable, honest effort that I can feel proud of. I'm not hunting for a 3:24 marathon. I'm going to reach for a marathon finish that leaves me wanting more, grateful for my training, and excited to continue to pursue the sport. I'm not looking for a promotion or longer hours. I need work that leverages my unique strengths. And AI isn't about to destroy society, yet!
Member discussion