Agentic coding is everywhere right now, but for a while I watched from a distance. I would say I was already a native AI user, with a lot of my day-to-day habits shifted like replacing Stack Overflow threads and Reddit searches with ChatGPT queries, but I wasn’t convinced agents would materially change how I wrote code. That changed once I had access to a capable agentic model and enough compute to actually push it. What began as curiosity quickly turned into adoption, and today agentic coding is a core part of my daily workflow. In this post, I want to reflect on that transition, the lessons it’s forced me to learn, and how I’m thinking about growing with these tools rather than around them.
From the Sidelines into the (Virtual) Arena
What finally drew me into agentic coding is a story in itself. My drafts folder for blog posts has two or three different iterations of how fantasy football kickstarted my research career and data interests. Maybe one day I’ll finally publish one of those posts, but for now, I’ll spoil the plot a bit by saying the game has long been my sandbox for learning programming. From basic Python to more advanced work like connecting to APIs and scraping the web, fantasy football has served as a durable, evolving project that helps me learn and advance my programming skills.
Naturally, as with much of my programming journey, fantasy football also became my first real foray into agentic coding.
Before the start of the last fantasy football season, I had introduced a custom playoff format for the leagues I manage and organize. All the Python scripts I wrote to handle the midseason competitions that would influence the playoffs were working smoothly, so I felt pretty good about my playoff code. However, a week before the start of the playoffs, I realized there would be a problem: I was going to be on vacation for the championship weeks without access to my personal computer, which had all the scripts I needed to organize the playoffs. Hosting a website felt like the obvious answer to my problem, but my web development experience was limited. After a few hours brainstorming solutions, it finally clicked–this was the perfect opportunity to try agentic coding. I already had a working Python codebase that did exactly what I needed, the challenge was refactoring it into JavaScript and wrapping it in some HTML and CSS.
I’m a little embarrassed to admit now that my next few searches were things like “how to agentically code” and “where do I prompt an agent.” But a few hours later, I had written my first set of instructions and set up the agentic environment. Once I hit send, the only word that could describe what happened next is magic.
Within 10 minutes, I watched an agent take my Python logic and refactor it into a functional prototype using JavaScript, HTML, and CSS, all languages I have basic familiarity with but haven’t used enough to build something from scratch. I’d always thought about building a website based on my Python codebase, so seeing one come together felt like scratching a decade-long itch for my fantasy football leagues.
But that feeling didn’t last long. As soon as I moved from watching the agent work to actually testing the site myself, the illusion started to crack. Buttons didn’t behave the way I expected, edge cases appeared out of nowhere, and logic wasn’t properly implemented. My inner skeptic, the one burned by a thousand past coding bugs, quietly took the wheel.
There were glitches in the standings and logic errors that I assumed a faithful refactor would have avoided. But the debugging process turned out to be just as surprising as the initial “magic.” It became a mind-meld between me and the agent, a cycle of me finding a bug, suggesting a fix, and watching the code evolve. For the first time, I felt the gap between my intent and the execution finally closing. I no longer had to trade my momentum for a syntax error; I could stay focused on the logic while the agent handled translating that into updated coding syntax.
Before long, I had what I wanted. I deployed the site before the playoffs started, and throughout championship week it updated standings and results in real time. No laptop, no manually scripts, no late-night interventions. Each league ran more smoothly because of it, and for the first time, the system I’d imagined actually existed in the wild. That was the moment I realized I unlocked a new way of building.
Moving the Chains from Fantasy to Research
While the fantasy football project was a useful proof of concept, I’ve found some real use cases of agentic coding showing up in the everyday, data-intensive tasks of my work. Lately, the biggest gains haven’t come from writing complex algorithms, but from automating repetitive, high-friction work, such as quality checking and data validation.
For anyone who has spent hours manually clicking through neuroimaging data, the browser is an incredibly intuitive environment for viewing and navigating images. Quality control in imaging, at its core, is visual: checking whether the boundaries of a structure were properly captured, whether a segmentation is over-traced, under-traced, or missing entirely.
Recently, I faced the task of quality-checking 1,500 segmentation masks. In practice, that meant opening each image, inspecting the boundaries slice by slice, then switching to a spreadsheet to record whether a given subject passed, failed, or needed to be revisited. Each decision required carefully lining up subject IDs, slice numbers, and notes. The work was monotonous, cognitively fatiguing, and potentially error-prone. One of my bigger frustrations was constantly context switching between opening and reviewing images, assigning QC status, writing notes, and maintaining a correct database format. Cutting any part of this cognitive load would make the process much easier.
In the past, QCing this many images would have taken a single person anywhere from 7-10 days, or a small team of reviewers 3-5 days (assuming they could put aside all other tasks and solely focus on this). Building a custom web-based tool to automate some of the work had always crossed my mind, but the math never worked out. Even in a best-case scenario, learning enough web development to build something usable would have taken days, followed by days of QC itself. The time investment simply wasn’t worth it.
With agentic coding, that calculus flipped. I built a browser-based QC tool in about an hour: an image viewer paired with a small set of buttons (later mapped to keyboard keys!) that automatically logged pass, fail, or return decisions directly to a master spreadsheet. The impact was immediate. Because failures were relatively rare, I could review so many more subjects in a row without breaking flow. No more counting rows, no double-checking IDs, no context switching just to save a decision. The tool handled the bookkeeping, and I stayed focused on the science.
I completed the entire QC process in roughly 10 work-hours and ran corrective follow-ups that same night. Just as importantly, the faster turnaround changed how I thought about iteration. I could address failures immediately, recover usable data, and ultimately include a larger sample size in my analysis than I otherwise would have. A task that once looked like a week of tedious work became something I could finish, and finish correctly, within two days.
Crucially, agentic coding didn’t replace my judgment. I still decided whether an algorithm succeeded or failed, and what to do with those outcomes. What it removed was a thick layer of friction between intent and execution. The tool itself was simple, but it fundamentally changed what felt feasible.
I’ve slowly gained confidence building more complex tools with agentic coding. A recent project involved creating a tool for data entry and validation in clinical studies. Over the years, I’ve manually entered data for countless RA jobs, carefully matching fields from subject to subject, and sometimes across multiple studies. These spreadsheets often have machine-readable column names, nonintuitive formats for data entry, and hundreds of fields per subject. Mistakes can be made anywhere, and even small errors compound downstream during analysis. Spreadsheets with conditional formatting can get the job done, but they’re rarely optimal and often tedious to maintain. I’d long imagined browser-based forms that could enforce validation rules automatically, making data entry faster, more accurate, and even a little more engaging. With agentic coding, that vision became feasible.
I was able to build those forms in a fraction of the time it would have taken to learn a full web development stack. Now, data entry checks itself in real time: fields validate as I go, inconsistencies are flagged immediately, and the system keeps everything aligned across subjects. What used to be a boring, error-prone chore has become intuitive and efficient, another example of turning a high-friction workflow into something manageable, and even enjoyable.
Establishing a New Baseline
Agentic coding is a recent development, but it addresses a problem I have felt throughout my career. I noticed early on that specific breakthroughs in my programming, like replacing a slow for-loop with a vectorized matrix operation or moving from chaining Terminal commands to using native Python libraries, immediately accelerated my research. These moments of growth made me wonder how much faster I could have moved if I had known those better ways of working from the start. I have had many ideas stall because I simply did not know the right way to build them. Even when I could get code to work, I often spent my days fighting the secondary battles of validating and scaling it. As much as I would love to pause and advance my coding fundamentals, it is rarely justifiable when I am trying to implement a one-off tool for a larger research project, leaving me stuck in the weeds of implementation when I would much rather be focused on the science.
To me, agentic coding provides a way to bridge that gap. It turns the “how do I even start” moments into a prototype we can actually refine. When things break, it helps me narrow down where the problem might be, turning a full day of debugging into a cooperative troubleshooting session. Instead of having to find the problem and the fix from scratch, I can focus on verifying the solution, which in turn opens up more energy towards the research. By handling the boilerplate, the tool ensures implementation is no longer a bottleneck. I can finally explore ideas that used to be too technically expensive to start, effectively raising the floor for what is possible.
I feel much less restricted by the gaps in my own coding abilities now. Beyond just finishing a task, I am using the agentic outputs to learn coding in a context that actually matters to my research. Every time I pick up a new concept from an agent, I can move onto the next idea that much faster. The hope is that as the tools get better, my coding (and prompting) gets better too, creating a compound effect on the quality and impact of my work. As someone with a grip on science but an informal background in coding, this is a game changer.
To think, this is the impact of agentic coding on just one researcher. It’s hard not to get ahead of myself thinking about how much the greater research world will benefit from this tech. Agentic coding acts as a great equalizer, democratizing high-level execution not just for research, but for any field where technical friction stalls good ideas.
Of course, the “magic” isn’t a replacement for expertise. If anything, it demands more of it. We still have to know what a good result looks like, how to spot a logic hallucination, and how to verify that the data isn’t being quietly mangled behind a sleek UI. The agent provides the momentum, but the researcher still has to provide the guardrails.
There’s a special kind of energy that comes with knowing the distance between a “what if” and a working prototype is now just a few prompts away. I feel like I’m no longer negotiating with my own limitations. Now, I’m just looking for the next question to answer.