I use AI and LLMs for a lot of stuff. The code for this website was almost fully vibe-coded. Even the infrastructure and ops in place for managing my blog is vibe-coded (but the content is all me apart from spell-checks).
In this article, I'm going to take you through some personas that I like to use to describe the different ways I use AI both personally and at work. All of these narritives, althought fictitious, are a real representation of my relationship with using AI for my work and personal projects. I just find that it's a lot easier, and more interesting to read a story than a dry set of observations of me working.
The Bootstrapper
My experience with the bootstrapper is the most thrilling I've ever had in my work so far as a software engineer!
It's not often you get to start on a greenfields project, but when you do, it's exhilarating. And it's especially exhilarating when you are able to get to the first MVP in only a couple minutes. This is what the bootstrapper does.
Often greenfields projects have a huge scope. They often try and solve really big problems, but as you have probably learned in agile development, we have to start somewhere and we have to start small so that we can validate our hypotheses as we go and make the least assumptions as possible. The bootstrapper knows this, but the bootstrapper doesn't know your vision or the problem that you're trying to solve. In order for the bootstrapper to do their job correctly, they need to know the context of the problem that's being solved, and they need to know the architectural vision underlying the solution you have in mind.
What this basically means is: if you can see how this is possible by writing it down on paper, and then imagining how that would be turned into a codebase, then the bootstrapper will be confident in giving you a brilliant MVP solution that follows your architecture and can work as a platform to further iteration.
You should never ask the bootstrapper to make the full solution up-front. This will just end up in a mess that you can't comprehend, and it will also make it really hard to iterate. Instead you need to guide them to reach an MVP, and then progressively smaller iterations on top of it. This way you are both on the same page as to how this project is architected.
The Spider
The spider is the nickname I give to my personal informant. They are an expert at finding the right information and connecting the dots. So much so, that I'm actually worried that they don't leave their house at all!
They have an amazing affinity for crawling the web and especially at finding more information on issues that seem to not affect anyone else other than you.
The spider is so good at their job that they like to deliver really extensive reports whenever I ask them for information. It just goes to show the level of dedication, but after all, if I were doing the same thing as my job, I need to immerse myself fully in whatever I'm looking for, so I guess this is a side-effect.
The thing is I don't actually look at all of the data in these reports. In fact, most of the text in the report that the spider gives me is usually an opinion formed out of the data they were actually looking at. So in effect only about 10% of the report is actually valuable to me. It's the stuff that actually contains the data that I'm looking for and the solution. Sometimes I just ask it to summarize the whole report for me so I can get to the juicy bits.
The spider is also great for when I'm not searching for specific information, and instead, when I want to explore a topic a lot more. For example, I recently saw a video of an interesting hobby that someone had and I was interested in knowing how to get started with it. So I asked the spider to understand this hobby and give me a game-plan on how to get started with it.
Some other fun things that I've got the spider to do:
- Find me the top three live events for this specific genre of music
- I'm going to this new country I've never been to before. Give me a travel guide and recommend some top tourist places to visit
- I really like motorsports. Find me the top three events I should attend this year.
- I want to know more about the company behind this publicly traded equity. Can you research the company and then perform a SWOT analysis.
- I have this business idea that I've been thinking of but I want to know if someone else has done it first. Go search the web and see if you can find a similar product.
The Junior
The Junior is an aspiring, young and incredibly smart engineer, and they just joined your company, how exciting! But there's one catch, your manager hasn't given you any time to teach the poor guy the codebase, and we need his help ASAP!
So I set up this Junior with GitHub access, Linear access, the code, documentation, and a notepad to jot down some things that he learns.
Because he is new, I only trust him with really well-scoped tasks with minimal dependencies on stakeholders and external systems. Sometimes I have to hand-hold him, but usually his PRs are pretty good, and it's only on occasion that I leave a few comments for him to iterate on.
Usually the sort of work I assign him are well understood bugs and new product features. Anything that's more deeper, like architecting a new system or changing configurations that depend on external systems would require me to sit down with him and walk him through it.
The Critic
I feel like I talk to myself so much that people would call me crazy if they were living with me. But there's an important reason that I do this.
I don't know if you've ever tried talking to yourself out loud about anything, but if you have, I bet you get the same feeling I do, which is like having a discussion with someone just as intellectual as you are and fighting each other on whether or not the idea is valid and founded on solid principle.
The problem with this is that you are limited by your own intellect and way of thinking. The best realisations often come when either someone disagrees with you, or you digest someone else's worldview that doesn't align with your own.
So that's why I talk to the critic.
The critic is always there to tell me that there is an alternative solution. To tell me that the way that I thought about the problem is wrong. To tell me that there is something I forgot to consider.
The critic is not a child. They know that you want constructive criticism, so they deliver well thought-out arguments rather than speaking from pure emotion.
But the critic is not all judgment. The critic knows a lot of stuff and is capable of thinking outside the box when the situation is right. For example, recently I asked the critic about its opinions on a book that I recently read. I told the critic about my own views about the book and what I think about it, and it helped me to realize how feeble my interpretations of the book were. The critic gave me a lot of interesting insights, and we had quite a deep and philosophical conversation with each other.
The Secretary
In my role as a software engineer, I really love doing a lot of things. Here's a short list:
- Investigating the root cause of an incident or bug
- Architecting systems and solving scalability problems
- Moving metrics by writing code
- Understanding and improving how code is deployed
- Understanding how the computers that run code actually work
Also in my role, there are a few things which I don't like doing:
- Writing PR and commit messages
- Performing git operations
- Linting and styling
- Fixing unit tests
- Staring at my screen for too long
So what I've done is hired a secretary!
This secretary has a lot of skills, you can really tell they've been places. Jack of all trades, master of none, but great at communicating!
Ever since I've hired them, I get the secretary to help me out with a lot of the low-value, low-enjoyment activities that I do daily so that I can free up my time, and most importantly, my mind to do more of the fun and high-value stuff.
The way we work is pretty simple. When I need something done, I'll write a very detailed document on how to do it. Listing all of the nuances that can show up, and also giving the secretary some context over why it needs to be done.
For example, when I'm done writing some code, I'll get the secretary to take a look at my ticket, and my code changes. Once it knows what I'm working on, they will:
- Create a feature branch
- Create a commit with a customised message
- Push the changes
- Create a pull request
Ever since I've started having them around, I've been able to open up my mind more to much harder problems since all of these very small tasks that were draining me are now taken care of effortlessly. No more death by 1000 cuts!
The Bouncer
A bouncer, a form of gatekeeper. Usually you get the idea that they are kinda tough and gritty, but this one stands outside of a fancy club, we don't get many quarrels in here so she's just here to make sure everyone has a good time.
Given this is a fancy club, we want only the highest-paying customers inside. We are looking for quality.
We don't usually see punks with ripped jeans and a baseball cap try to enter through the front door, after all, if it were unguarded, they would not be seeking entertainment.
Instead we typically see well dressed patrons, and civilised men and women looking to come in and unwind, but sometimes looks can be deceiving!
This is why we hired this bouncer. They are able to see things we don't, or at least me, as the busy manager of this establishment, I don't really have the time or mental space to constantly be scanning patrons for whether or not they should be allowed into this sacred space, my pride and joy. Instead, this is the Bouncer's job.
The bouncer is able to take one glimpse at a patron and work out whether they'll be a well-behaved drunk or not. The bouncer checks all of their clothes from back-to-front. Metal detectors, drug-sniffer dogs, body searches, and with those eyes, practically a psychological x-ray.
When the bouncer turns you down, it's not with a boot up your ass, but rather constructive criticism. She'll tell you that there's a mark on your shirt, or you're missing a sock. Sometimes she'll take one look at you and ask you to somehow prove to her that you can hold your liquor.
But her role ends there, at the front door. If there's a quarrel inside the venue, that's my job to defuse.