Over the past few months, there have been massive shifts in both AI technology itself and how people are using it. But honestly, the most important thing for anyone is figuring out the approach that works best for them. I recently had a realization: in this context, “I” am not just one single entity. Depending on my role, the time, and the place, there are actually “multiple versions of me.” Naturally, the way I use AI—and the AI I need—should adapt to each of those ‘me’s.
The goals I outlined in my last post were born from this exact thought process. I categorized myself into four main personas and set specific goals for each:
- Me as a CTO of a company
- Me as a software engineer at a company
- Me navigating daily life with my family
- Me as a solo developer
Today, I want to focus on the second one: “Me as a software engineer at a company.”
Even as a CTO, I haven’t completely let go of writing code. I try my best not to be the primary owner of any critical modules so I don’t become a bottleneck, but you know how it is—things rarely go exactly as planned. I still end up taking on modules that are tricky to assign to someone else, pilot projects, or R&D tasks. As a result, the tasks I handle directly tend to be relatively simple, standalone projects. Because they are free from complex issue tracking, convoluted source management, or strict deployment rules, I didn’t need any overly complicated AI setups to get them done.
After trying out a few different methods, I ultimately settled on skipping IDEs entirely and just using the Claude Code CLI with its default settings. Since my projects aren’t overly complex, I could run them smoothly and to my satisfaction using just the basic prompts. Given that I come from a generation that used to code with nothing but vi back in my junior days, this setup honestly just feels more comfortable to me.
However, because I juggle multiple projects simultaneously, I needed a way to manage my terminals. The combo I landed on was tmux + screen split. I allocate one tmux session per project, split the screen in two, and have Claude Code running on one side while keeping a standard shell open on the other for file browsing or running commands.
But working this way exposed a hilarious flaw in my workflow: my own memory. I found myself constantly asking Claude things like, “Where were we?” or “What’s up next?” Between jumping into meetings and switching back and forth between different project windows, I was actually losing track of where I was in each task. So, I added a little custom prompt. I configured it so that if I haven’t interacted with it for a while, it automatically outputs a quick briefing on our current progress when I return. I even set up two levels of detail for these briefings: a quick summary if I’ve been away for 30 minutes to 2 hours, and a much more detailed breakdown if the gap is longer than that. Interestingly, I recently noticed that Claude Code officially added a similar feature called recap. Still, since I’ve already tailored the format exactly for me, I’ll probably stick to my custom setup for a while.
While I was tweaking the prompts, I also threw in a journaling feature. When you’re running multiple projects over a long period, your memory naturally fades, making documentation not just an option, but a necessity. I decided to offload that task to Claude as well. I set up one dedicated Obsidian Vault just for this. To keep multiple projects from clashing and corrupting data, I assigned a unique path for each project within the Vault. On top of that, I instructed Claude to use its own judgment to leave a log entry whenever there’s been meaningful progress, even without my explicit command.
Other than that, I just teach Claude Cowork new little skills whenever they come to mind to help handle my routine employee paperwork.
For example, I set up a receipt organization skill. When we do our monthly expense reports at our company, we have to attach a photo or PDF of the receipt for every single transaction. If there are a lot of expenses, hunting down the right file for each transaction to upload into the system becomes a huge hassle. So, I created a skill for Claude Cowork that reads the receipt files and automatically appends the date and amount to the filenames. Being able to see the date and amount just by looking at the filename makes the attachment process so much easier.
With just these setups, I think I’ve built a pretty solid environment for “me as a software engineer” for the time being. I’ll just keep filling in any minor gaps as they come up.
