All posts

I Shipped Code by Talking to It

This is a tiny personal documentation of a very real milestone: I made my first MR that actually went into deployed code. And the funny part? I did most of it by talking in natural language, with zero coding experience or background.

Aryan Singh
Aryan Singh
Author
May 16, 2026
5 views 2 min read

The task came from a bit of tech debt: we had CloudFront URLs sitting in the code, and the job was to move them into environment-based configuration using Pydantic settings.

Did I know Python?

Barely.

Did I know what Pydantic settings were?

Nope.

Did I know these URLs were even considered “tech debt”?

Also nope. I learned that during the task.

All credit for the initial direction goes to my developer, Shivam, who gave me the brief on the job to be done. Once I understood the goal at a high level, I used natural language to work through the change, understand the code, replicate the pattern, and get the merge ready.

In simple terms, the MR cleaned up hardcoded CloudFront URLs and moved them into environment variables.

Instead of having those URLs directly embedded in the code, the app now reads them through Pydantic settings. That makes the code cleaner, easier to configure, and less painful to change later.

A very “small on the surface, useful under the hood” kind of change.
It is the kind of change engineers casually call tech debt cleanup while I sit there discovering an entire ecosystem of concepts.

Magic Of Talking To Code:

The workflow felt different from how I imagined coding would look like.

I was not sitting there typing Python from memory like a Hollywood hacker. I was asking questions like:


What is this file doing?

Where is this URL coming from?

How do I replace this with an environment variable?

Is this the right pattern in the repo?

Can you explain this like I know nothing about Python?

And slowly, the task became less mysterious.

The codebase started turning into a map. I could see where the old URLs lived, where settings were defined, how configuration flowed through the app, and where the replacement needed to happen.

It was not “AI did everything.” It was more like having a very patient coding partner who could translate my messy intent into concrete steps, while I kept checking whether the change matched the actual job.

I learned that I can contribute to code even when I do not fully know the language yet, as long as I understand the intent, ask good questions, and follow the patterns already present in the codebase.

Most importantly, I learned that “I don’t know Python” is not the same as “I can’t contribute.”

That distinction matters.

WhatsApp Image 2026-05-16 at 14.11.27.jpeg

WhatsApp Image 2026-05-16 at 14.12.37.jpeg

WhatsApp Image 2026-05-16 at 14.14.20.jpeg



ConveGenius Daily Signals

Receive the next signal

Get future product, design, AI, engineering, and team signals directly in your inbox. Only published signals. No spam.

Unsubscribe anytime · No tracking pixels

Reactions
Sign in to react

Discussion

0 comments
Login to comment. Use Google to join the discussion.
Login to comment
No comments yet. Start the signal.
More from Aryan Singh
I Hate Writing This Blog
May 27, 2026 · 2 min