How Gen AI 2x My Developer Productivity

Why I switched from architect to developer to validate Gen AI in practice

In the software development track, you have a lot of options. The main choice is between heading down the architect path or focusing on the developer track.

I chose the architect path for the last few years. My work focused on research, software architecture transformation, and pilot planning. But recently, I switched back to a developer role. I still wear the architect hat sometimes, but I spend most of my time on feature development and troubleshooting.

A lot of people have asked me why I made this switch. I wanted to use this article to talk about the reasons behind it.

If you’ve been following me, you might have noticed I started covering Gen AI topics late last year. That’s also when I began seriously studying how to use AI to boost productivity.

However, in my previous role as a pure architect, I rarely worked on production code. This meant that even though I had all these theories, I could only test their real-world effectiveness on my side projects.

This presents a problem: theory and practice start to drift apart. It’s a common dilemma for many researchers.

Therefore, switching to a more hands-on role was a better choice. This way, I can actually validate whether my methodologies work in practice.

Over the past few months of doing this, I’ve found that Gen AI really does significantly boost my productivity in many areas.

I’ll list a few of the most obvious examples.

Quickly Onboarding to Brownfield Projects

I’ve briefly explained how I do this in a previous article. It mainly involves two tools: a Coding Agent and RAG.

I’m using very general terms here because everyone’s familiar tech stack is different. For my Coding Agent, I use Copilot. Of course, you can use Claude Code, Cursor, or any other tool.

And for RAG, I use NotebookLM.

My specific process is to create a Notebook for each feature. Inside each Notebook, I put the feature’s PRD, design document, technical support KBs, and code tracing.

The technical documents are pretty straightforward. But what is code tracing?

It’s a complete report I generate using my coding agent. It includes the full e2e flow for all of the feature’s entry points, the data flow, and all related data tables. Even the e2e flow is broken down in great detail, right down to the module, class, and function level.

With this material, the Notebook RAG can quickly answer almost any basic question about the project. It can even pinpoint the code locations involved in specific problems.

As a result, I didn’t need to spend much time getting up to speed on a large, unfamiliar project before I could start contributing.

Efficient Feature Iteration

One of the most common scenarios for a developer is feature iteration.

If you think I’m going to say my coding agent lets me finish programming at lightning speed, you’re going to be disappointed.

I use AI in two ways in this scenario. First, I’ll write a very rough, quick, handwritten design document. Then, I use Gemini’s OCR capability to convert it into a fully formatted document.

Designing and developing a feature requires a lot of communication and discussion upfront. I use this method to quickly create discussion materials, meeting notes, and design docs. This really saves me a ton of time.

I can use pen and paper, which I’m most comfortable with, to turn my ideas into digital documents. This is the first major improvement.

Second, during the actual software development, I already have a complete design. This includes design patterns, API interfaces, and so on. The entire development process is broken down into small enough units. This makes it very easy for me to use AI for auto-complete.

As for why I don’t let the AI develop everything and only use it for minimal assistance, I explained that in detail in a previous article. I won’t repeat it here.

Various Daily Routines

As a software engineer, I think tedious tasks take up a big part of the day. I’ve automated a large portion of this grunt work.

Let me give a few examples. I currently work across different time zones, so someone is basically working at all hours of the day.

  1. Waking up to hundreds of emails? My solution is not to read them. I have AI quickly categorize them. It leaves only the emails I truly need to know about and those that require action. It then provides a consolidated summary so I can see what I need to do at a glance.
  2. What about all the recorded meetings I missed? I speed-watch them. I use AI to generate and embed captions in the video. This allows me to watch them at 2x or even 4x speed.
  3. What about all the routine maintenance work? I use AI to generate small tools for me. I even build automated workflows to handle them. This prevents me from having to do so much manual work.

I don’t use AI in a very generic way. It can’t do everything. But it’s more than enough to solve my specific pain points.

Troubleshooting

Debugging. I believe this is the one thing all developers hate the most.

It’s the same for me. A big part of why it’s so annoying is that we have to guess based on various clues. After guessing, we still have to find evidence among those clues to prove it.

It is absolutely tedious and mundane work.

The worst part is digging for evidence in thousands, or even tens of thousands, of log lines. It’s never an easy job, especially when the logs are unstructured. Now, I’ve offloaded this painful task to AI. We used to need grep, sed, and awk to process logs just to find keywords and check a timeline.

Now, I just need to tell the AI my intent, what I’m looking for. It can take over this dirty work for me.

Once it finds the relevant logs based on my intent, the guessing starts. I figure it’s easier to have a group guess than to do it alone. So, I feed these logs to several agents and let them all guess. Then we compare their answers.

By combining all their hypotheses, I can go back and ask the AI to find evidence in that vast sea of logs.

All of this dirty work? I don’t have to do it myself anymore.

Wrap Up

What I’ve mentioned above should cover most of the different aspects a software engineer deals with.

How do you use AI to boost productivity?

I believe the answer is simple. Give it the annoying work you hate doing. Your productivity will naturally go up.

But there’s one thing to keep in mind. I’ve stressed this point repeatedly in the past: AI isn’t brilliant. It’s just a tool. We must be able to master the tool to get the job done right.

Especially, remember that AI makes mistakes in many situations. We have to review the critical parts repeatedly. For example, when I ask Gemini to turn my handwritten draft into a design document, I still need to manually fix many details. But this is still much faster than writing one from scratch.

As for how much productivity has improved with AI, I don’t have exact numbers. Software engineer time estimates are rarely accurate anyway. But my gut feeling is at least a 2x boost. What does that mean? A huge modification that used to take two months now only takes one.

Originally published on Medium