Opportunities, obligations, and accomplishments

Exploring my struggle to accept my limits

Mark Wiemer
8 min readJan 10, 2025

I’ve talked before about living in a world of worlds, and I followed it up with an article about how all those worlds give me anxiety. That was almost two years ago now, but the thought hasn’t left me.

Since then, I’ve listened to Hi Ren by Ren, my new all-time favorite song. It covers internal-facing struggles, but the core of those struggles can be seen everywhere. We may be the smartest animals, but we certainly don’t — and simply can’t — know everything. For example, I don’t know which worlds to actually explore. But I’m coming to peace with the idea that although I may never know, that doesn’t prevent me from choosing to explore one anyway.

This article mentions Microsoft, my employer. As always, this article was written in my free time, and all opinions are my own.

I remain open-minded about the pros and cons of AI, even as I build an AI-powered feature into the internal application I’ve maintained my entire career. Since being hired out of college to work at Microsoft, my directive has been: replace the old app with this new app, and develop more features for the new app. That’s the core of all the work I’ve ever done for Big Tech, really, but this new app is so big now that I’ve opened issues on several open-source repos, including ones not maintained by Microsoft. After testing the new app for accessibility, I became an accessibility champ and have since advised literally dozens of teams on best practices for user-facing applications. Each of those teams has their own story to tell, their own world to explore, but I feel just enough pressure from my own team to focus on my own world. I branch out when I have free time at work, of course, but the world of this new app remains my professional home world, so to speak.

And for about a year, that professional home world has been colliding with the world of generative AI, and I couldn’t be happier! I’ve worked with a team of engineers to develop a huge feature using a lot of the technology I’ve written about: LLMs, Semantic Kernel, plugins, prompt templates, automated LLM testing — the whole nine yards! We’re continuing to expand into more agentic capabilities too, but that’s for another article ;)

My personal home world is a different story.

I didn’t realize it until I started drafting this article, but my personal life is lacking a home world. Right away, I know some people might jump to suggestions: what about family? a hobby? religion? learning? There are certainly a lot of options! And I’m not trying to paint myself into a corner: maybe this concept of a “home world” isn’t valuable. Maybe it’s something that I think will bring me a sense of comfort, but will really start to feel like a prison over time. Maybe my focus should be elsewhere. But where?

I’ve been jumping between worlds a lot these past six months. As my family world calmed down after the divorce, I jumped to the AutoHotkey world and expanded AHK++ into the only product I’ve found that supports both AHK v1 and AHK v2. If you don’t know what that means, that’s OK — the point is that I found a software world I liked and spent over a month in it! Then I set my sights on broader horizons and found, well, too many lemons (the ones life gives you, not the old cars).

Mocha was the first software world I found to explore, but the world of personal websites intrigued me as well. After learning about Redwood for a while, my brother sent me a link to The Grug Brained Developer, and now htmx is on my backlog. I’ve since rewritten my personal website in vanilla HTML, removing thousands of lines of unnecessary code and sparking an interest in low-level programming. And static site generators. And WebAssembly. And NixOS, which I recently installed as an alternative to Windows.

But I’ve always wanted to make a game. So I wrote Snake in LÖVE (following a tutorial by Berbasoft), learned how to publish to itch.io, and got started with Godot. Because I love Minecraft, I tried to use a popular Voxel Tools module, but soon learned that Luanti would be a better fit. However, their documentation was weak, so I’ve helped a bit with the brand-new dev.luanti.org, which rekindled my interest in static site generators and Hugo specifically.

(If your head is spinning from all these links, bad news, there are more coming — feel free to jump to the next section if you’re sufficiently dizzy!)

Of course, you can’t create a game without good ideas, so I’ve been reading The Art of Game Design: A Book of Lenses by Jesse Schell, and I have two more books like it sitting on my kitchen table.

Let’s not limit ourselves to software, now! I’m still exploring Catholicism, institutional religion as a whole, and the definitely-only-slightly-related Cognitive Bias Codex, which just might turn into its own entire series of articles! Don’t think I’ve stopped loving writing: my backlog of draft articles continues to grow, and the fact that I haven’t published much should speak to the paralysis analysis I’ve been experiencing.

The cognitive bias codex, a radial chart of dozens of biases
From Wikimedia, by John Manoogian III and Buster Benson, licensed under CC BY-SA 4.0. More details at designhacks.co

“But Mark,” you wonder, “don’t you go outside?” Oh boy, do I! I still walk my dog daily, and I’m exploring more ways to exercise with her and train her mentally. (See also my goal of cooking a new recipe every month.) And I’ve started looking for French language meetups and similar community events. This bleeds into my new interest of local volunteering: I’d like to learn about the recent I-2066 vote and see what I can do to help. And I’d love to become a CASA this year — if it’s anything like being a Big Brother, it’s well worth it :) And I’m prioritizing actually texting my friends this year to meet up with them more, because socializing is fun!

OK, I think I’ve exhausted my list of interests for now. At least, I’ve exhausted myself. Let’s see if I’ve learned anything after writing this…

I’ve learned that absolutely zero of these things are obligations. I still struggle with this idea of “should.” I removed it a few times from the article above, changing “I should hang out with my friends” to “socializing is fun!” for example. I’ve heard before that “there are three types of things: those you want to do, those you should do, and those you need to do. Your goal is to keep that second list empty.” Apparently I’ve been paraphrasing Greg McKeown’s Essentialism: The Disciplined Pursuit of Less. Sounds like I have another book to read! Let’s review my personal “should” list:

I feel I should maintain AHK++. It has over 250,000 installs and a good chunk of bugs that could be fixed with some effort. But it’s just not fun right now. Do I have to make lemonade out of this lemon?

I feel I should help more with dev.luanti.org. I could add a spell-checker, a formatter, a better stylesheet. But that just doesn’t sound fun right now. Do I have to?

The list goes on, but even putting just two items there is already painful to read. I’ve forgotten my own advice from the first article of this “worlds” series: “I can rest. I can hang out. Tithing means 10%, not 100%.”

I know I won’t be as cool as all those accomplished YouTubers if I relax more. I won’t build my own high-resolution scroll dial, or PS1 game, or web-based operating system anytime soon. That makes me kinda sad. I want to be accomplished. These folks make it look so easy. Just, you know, research, prototype, spend a few years, maybe, and you’ll make great progress. I have so many ideas, so many ways I think I could make the world better, if I just sat down and did it.

But I’m tired after eight hours of software engineering. I’m tired after cooking my dinner, walking my dog, and catching up on whatever random housework needs my attention. I want to rest.

I want to be accomplished. And I want to rest. And I need to accept that those desires are both valid, and maybe I should look for a middle ground.

I accepted a long time ago that I wouldn’t be Bill Gates. He came from an even more privileged background than me, and he’s also just a super genius. I’m not gonna be Steve Jobs either, who got to see the first working GUI at age 24 and used his super genius brain and super genius team to launch his fruit company, or whatever. Nor will I be any other startup gazillionaire that comes out of this AI wave. The startup gazillionaires work, like, super hard. And I work hard too — for a good 40 hours a week. Then I relax. I enjoy time with my friends, I walk my dog, I watch movies, I read. I’ve been poking around to various degrees on all the interests above, but something’s clearly been gnawing at me.

As I’ve written this article, I’ve identified my frustration. I’m frustrated with the idea that I may never have a singular realized vision. It conflicts so deeply with my goal of helping the world. I’m probably being narrow-minded here, but I just see so much value in the videos I linked above, the stories I told above. I want to provide that value. I want to provide a rock of guidance in an ocean of confusion. It sounds simultaneously mystical and trite when I write it down. But that just means I’m not alone :)

I’m going to try to shift my outlook. I won’t have a singular realized vision in 2025. Heck, I probably won’t even have one this decade. If it’s delayed longer than that, it’s because I’ve been exploring worlds and helping people along the way — or I got married and had kids! Maybe even both! And that’s OK. There are many, many ways in this world to provide value. And you don’t even have to provide value to be worth it, to be good enough. You and me both, we’re allowed to rest. We’re still worthwhile even if we don’t release a single original product. Even if we do less than we feel we should. Even if we mess up.

I’m going to rest now. Maybe when I have energy, I’ll start with some pebbles of facts in a puddle of the unknown. Maybe. 🤓

Updated January 10 to include details about the cognitive bias codex image.

--

--

Mark Wiemer
Mark Wiemer

Written by Mark Wiemer

Software engineer at Microsoft helping anyone learn anything. All opinions are my own 🤓 markwiemer.com

Responses (2)