My Thoughts on AI-Assisted Coding

Over the past few months, I have been experimenting with AI-assisted coding, for both my personal passion projects and professional. It’s been fascinating, frustrating and eye-opening. Here are some of my thoughts about it.

It’s not “Vibes”, it’s a tool

Firstly, let’s get the terminology right. Can we stop calling it “vibe coding” ? I have been hearing that term used everywhere, and it just doesn’t feel comfortable. That term feels like sort of aimless, go with the flow kind of development. No one is vibing here, we are still writing code, and solving problems. The AI is assisting us, not doing any magic.

Every line of code we write, weather AI assisted, auto generated or hand typed needs to serve a purpose. One should have an end goal, a clear understanding of what they are building, the intent and the problem they are solving. Without that clarity, we would end up with a beautiful mess of code. Over the years, I have seen this happen a lot, even without AI in the mix.

Having that end goal and the clarity is crucial. It helps you build something meaningful and working, rather than just useless code of snippets and frustrations. AI is just one of the tools that helps us achieve the goal.

A Team of Brilliant Juniors

Working with AI, feels like leading a team of 10 extremely smart and ambitious junior developers. They have a lot of theoretical knowledge, programming patterns, languages and their syntax. They are also ambitious and eager to show off their knowledge and can code complex algorithms in minutes .

However, they lack real world nuances that only comes with experience. Like, they use the latest design patterns/ framework, without checking the consistency or backward compatibility with current codebase. Adding inline styles to every block, rather than using existing css classes or variables…

And sometimes, one of them shows up drunk. AI hallucinates. It will confidently suggest a function, that doesn’t exist, reference a library that was never written. Just like we would keep an eye on other human developers, we need to constantly verify what AI is suggesting you.

They need mentoring and guidance. Just like dealing with any junior developers, we have to provide the context, explain best practices, and guide them towards better solutions.

For example (just flexing my developer muscles here), I was recently working on a use case where I had to use cache contexts in Drupal. AI generated this beautifully complex code, along with some lines in a pre-render hook that would disable cache completely. Though I can fix it by hand, I prompted it further, “I see you are disabling cache at this xyz line, it would defy our entire goal. We wanted to have varying cache based on these ___ parameters.” . It apologized, refined the logic. I then asked, if it can use event subscribers instead of defining it in module hooks, following drupal’s best practices. And it refined it. It needed that follow-up prompting and mentoring to get the module, as I want.

Best Practices

Remember all the best practices and fundamentals of a good software development, that are evolved over the years? They are even more important with AI assisted coding. We have to rely on our old friends - version control, linters, code reviews, and testing to strengthen our new relationship with AI.

Version Control (Git) is our safety net. Working with AI, we make rapid changes, and also sometimes, AI generates complete rewrite of the files. It is easy to get lost. I usually keep making commits with every small change I make with AI. Having that clean version history make me understand what’s being changed, roll back the wrong code and keep things stable.

Linters and Sniffers They are the first line of defense. AI works to make code run, Linters and sniffers make sure that code is consistent with the standards in place. I always have linters and code sniffers enabled and auto run on my every commit. They doesn’t let me commit bad code accidentally.

Code Reviews Having another human in loop, other than AI and yourself, are crucial. They ask ‘why’ questions, point out any logical flaws, suggest better architectural solutions, ensure it doesn’t conflict with other parts of code and that it aligns with team’s standards.

A little note: Please don’t use automated AI code reviews on an AI generated code. It serves no purpose, and a complete waste of resources.

Testing Testing is important. With AI-assisted coding, it is even more crucial. All kinds of testing, automated and manual, (unit, integration, system, performance, accessibility, security, usability,…) should be in place and performed. AI or not, Testing is an integral part of development lifecycle and ignoring it will take it’s toll.

They are not just ‘best practices’ for the sake of it, they are fundamentals we should have been following all along. They are the guardrails that prevent our project from derailing, when moving at the speed of AI.

The Reality Check

Don’t fall into all these marketing jargon, influencer posts, and fake promises. Know what AI really is and where it can help.

AI can only generate what humans can generate too. It is just doing it 100 times faster. If you can’t build a scalable system manually, AI won’t magically create one for you. If you don’t understand the requirements, AI won’t figure them out either. It might help you think through, suggestion and gain better clarity, but won’t draw the requirements out of thin air.

I have seen a lot of people get frustrated when AI can’t solve problems, they couldn’t solve themselves with enough time. It is not AI failing, but AI working exactly as it should.

The Uncomfortable Truth

Okay, I am saying it out loud, “AI is coming for your jobs”. Not “Someone with AI will replace you”, but AI will replace the job itself.

Think about it, not long ago, there used to be trunk call operators. With advancement in telephones, those roles just disappeared, and slowly even phone booths were gone. Bank tellers and cashiers were minimized with the advent of cashless transactions and ATMs. Postmen, though still around, reduced in number and most of work they used to do, is now done by corporate drivers and emails.

The same is coming for developers. It is not just changing jobs or roles, it is changing the entire landscape. I don’t know what the future holds, but demand for someone who simply writes code is diminishing. The ability to architect systems, understand requirements, provide critical thinking and mentoring “AI Junior Developers” is uniquely human, for now.

Reflecting my journey

This journey with AI assisted coding, has been personal. It helped me build several passion projects, that I wouldn’t have time to work on otherwise. What would have been months of heavy grind, turned into a weekend hackathon.

Most of those projects, are still being tested and developed incrementally, will release in near future.

At work, I can only have a limited use of AI, because of privacy and security reasons. But even just that helped me prototype and explore different solutions faster, debug issues sooner.

Overall, AI pushed me to learn and grow. It helped me become a better developer, a better manager and a better mentor 😉.

Note: The speed of AI is intoxicating, but again, speed without direction, is just motion and not progress.

Tools I use

Please skip this, if you don’t want to be bored by technical jargon. I keep on experimenting with different tools, but here are the main AI tools I have been using for development purposes.

VSCode VSCode has been my go to editor, and I don’t think I would replace it any time sooner. It has several plugins that integrate and support beautifully well

Copilot Copilot plugin for VSCode is my default AI tool. I loved AI having a context. When I started using it, the context was just the file we opened, but with the later versions we can add more files and folders as context. It has been a game changer. It helped debug issues much faster, and generate snippets that are relevant to the project.

Continue Another plugin I recently started using was continue for VSCode. The crazy thing is it lets you use any model, including your local models.

Ollama Speaking of local models, for a long time, I was using Ollama, with Llama LLMs on my local. Ollama is a tool that let’s you run LLM’s on your local machine. It was such convenience, i.e. you don’t have to worry about privacy, subscriptions and even internet. It works completely on your machine. Ofcourse you are limited by your processing speed, and not recommended for complex setups.

Antropic Claude I am falling more and more in love with Claude. Especially with Opus 4 model. I found myself discussing ideas with it, at 12 am in the night.

Google Gemini I am not using it for code as much, but their recent video generation capabilities have got me hooked. I am still experimenting with it and too early to say anything.

Moving Forward

I am not sure what the software landscape will look like in 5-10 years. I suspect it will be very different from today. I will be bluffing if I say, “I am not worried!” . I am worried about software development career, and how to navigate or adapt to rapid growth of AI. At the same time, I am also excited about the technology and future possibilities.

The key is to stay curious, stay connected, understand problems we are trying to solve.

What is your experience with AI-assisted coding?

This is part of my ongoing exploration of how technology is changing our professional and personal landscapes. You can find more of my thoughts and journey on my blog.

Post · Jun 19, 2025 · Permalink · 8min read

Why I am Writing Again - A Personal Reflection

It’s being years since I have written anything here, or on any social media. My interactions were minimal, and my last post was in 2020. Years of silence, ideas floating around in my head but never making it to the page. This morning, as I watch the sunrise, my daughter still sleeping peacefully, I am finally ready to share why I stopped, and started writing again.

The Beautiful Pause

My world narrowed down to the most wonderful, demanding and captivating little creature - my daughter. The first few months were a blur with sleepless nights, precious moments and adjusting to the parenthood.

She is two years now, and watching her discover the world has been the most incredible experience. The way she points at airplanes, the way she pretends to be a bird or a lion, her curiosity at even the tiniest details, how she does the one thing we tell her not to and laughs after that, and finally the confidence in her eyes when she knows that her dad is right by her side - It is magic.

My focus was not on the world outside, but it’s entirely on her and my loving wife. And I wouldn’t trade those precious moments for anything.

The Comfortable Trap

Another reason I stopped writings is because my professional world has become ‘Comfortable’. Same projects, same challenges, same routines. I was good at what I did, my work was stable, predictable and stagnant.

Don’t get me wrong, the job was great and my manager was even more helpful. He encouraged and provided me with opportunities to grow, which I refused to let go of my comfort. I am thankful for that job I had and the flexibility it provided to be able to spend most time with my daughter.

Comfort is seductive, it tells you not to push yourself. While it is pleasant, it also meant that there wasn’t a drive to grow, reflect or write about.

The Social Media Fatigue

Ah, there it is, the social media. Remember, when it used to be fun? you used to scroll down the feed and learn something, catch up on friends and have some real conversations with someone? Those days are long gone.

My feeds have became an endless stream of digital marketing posts, clickbait headlines, and people pushing agendas. Everyone seemed to be selling something - a course, a lifestyle, a mindset. The real conversations I used to have with people, turned into watching a bunch of short podcast clips where everyone seems to be expert on everything. The genuine connections I used to find, got buried under layers of manufactured content.

The platforms that once felt like communities, now feels like advertising billboards where everyone are shouting, but no one is listening.

And then come the algorithmic chaos. A random social media algorithm decides that it is more important to show me a random person’s fake mansion than showing my friend’s first home purchase. I just didn’t felt the need to write anything meaningful that would just get lost in this chaos.

The Googly

For those from non-cricket playing countries, googly is a way of bowling where ball spins opposite way of what batsman’s like to expect. It’s a slang for saying when something unexpected happens. A alternative for curveball.

Life threw a googly, a layoff in the toughest of the markets. It is unexpected, sudden, and terrifying. I was in layoffs or job changes before, but this time it hit different. Hundreds of job applications and not a single response. Bills, payments were all stacking up.

Looking at job descriptions, and responses, made me question myself. Was I being relevant? The first few days were fine, thinking I would find an alternative soon, but after that, the next few weeks were dark. I started questioning my skills, my worth, my daughter’s future. Thankfully I found a new job of my liking.

But the entire experience made me reflect on myself. Professionally, when was the last time I was curious? When was the last time, I was genuinely excited? Where are my goals list? …

The layoff didn’t just take my job away, it gave me back my curiosity.

The Drive to Reconnect

While I was living in a bubble, or in Mr. Trump’s style " A Beautiful Bubble", the world around me kept spinning. New technologies emerged, new ways to think about old problems, and more communities being fostered around shared interests.

With what happened in past few months, it made me realize a need to be more connected - personally, socially and professionally. Instead of just giving up in the world of algorithmic chaos, be a part of making it better. Be a part of conversations again, sharing some genuine and meaningful interactions and learning.

What’s Next ?

So here I am, writing again, rediscovering the questions.

I am writing this on my blog first and then share it everywhere. It is intentional.

In a world where everyone racing to monetize on content, where platforms rise and fall faster than ever, I want to own my content. LinkedIn might be a professional network today, but who knows what it will look like in a few years. Twitter transformed into something unrecognizable. Facebook, it is heading towards the same fate as Orkut and Myspace. Tiktok gets banned at will. Instagram keeps changing it’s algorithm.

This little corner of internet, it is mine. My thoughts live here first, in a place that I control. If you want to find some real thoughts, my genuine reflections, they will be here, not buried in some platform’s feed competing for ads and attention.

I don’t know what exactly I will be writing about, but I plan to write about diverse topics, technologies and web development, philosophy, mythology and leadership, parenthood, …

All I know is I am excited again - to explore, to share, and to connect with others.

Thank you for being here. If you are in a similar place - someone just caught up in responsibilities, or someone who is just coasting professionally, or just feeling disconnected from the things that used to excite you - remember, it is never too late to start again.

Post · Jun 14, 2025 · Permalink · 5min read

Stop Setting Goals You Don’t Actually Care About. Focus on a selected few. Just one or two.

Too many goals is not sustainable and would not last long.

Note · Jan 1, 2021 · Permalink · 1min read

My teachers words, a decade ago (exactly on 1.1.11). Still keeps me inspired and be greatful for every moment.

“If you people celebrate New Year, Then why don’t you celebrate every day. Because every day is a new day. Every Moment is a special one.” - Dr. P. Padmaja

Note · Dec 31, 2020 · Permalink · 1min read

You don’t get paid for how much stress you take,

You get paid for how much value you provide.

#mindset #motivation

Note · Dec 11, 2020 · Permalink · 1min read

“After climbing a great hill, one only finds that there are many more hills to climb.”
― Nelson Mandela

Note · Oct 1, 2020 · Permalink · 1min read