HomeBlogProjects
⌘+K
Click here to switch the theme or press d

click to read any blog 

navigate
HomeBlogProjects
explore
BooksGameTools
social
InstagramX
work
PeerlistLinkedInGithub
creator
MediumYouTube
© 2026 ALOK. All rights reserved.
Back to blog

Why Fast Shipping and Good Product Rarely Coexist

June 26, 2026
Read on Medium
you can also support on medium

Current problem of developers

Over the past 2 to 3 months, I have been observing many projects, whether they are open-source projects or company projects. The use of AI has become so high that people have almost stopped using their own brain cells.

There is no doubt that AI can ship great-quality code, but there is a quote that perfectly fits these new developers: “Bandar kya jaane adrak ka swad,” or in English, “Casting pearls before swine.”

Just ask yourself: do you really know the basic syntax of the code you are shipping? Without even knowing the basic syntax, you are shipping production-level code. Just ask yourself, how can you really design a production system with that level of understanding?

Let me give you an example.

At my workplace, I was assigned to a new project where people earning 2x or 3x more than me were working. They were facing a DB timeout issue, and when I looked at the code, I easily found the problem.

Instead of running a long task in Lambda or a proper background job, they were directly running that task on the server. When I asked them about that code, they told me, “It was written by AI.”

Really, dude?

If my seniors are writing that kind of code and shipping it to production, then what do you expect from juniors?

Why it Require to know the basic CS Fundamental

To be honest, if you think that in this AI era you do not need to learn the basic fundamentals of CN, DBMS, programming, and a basic level of DSA, then you are on the wrong path.

Whether you know it or not, there are three levels of vibe coding. These are my own terms, and I am referring to prompt engineering here:

  1. Cracked people vibe coding
  2. Senior-level vibe coding
  3. Tab monkey

Let me give you an example.

  1. Suppose Andrej Karpathy wants to build a feature. He knows all the details: how to build it, the best way to build it, and what precautions he needs to take while developing it.

When he does vibe coding, he will still review the code, make changes, add his own logic if required, test it properly, and then ship it.

  1. Suppose a senior developer starts vibe coding. He may not know every tiny detail, and he may miss some edge cases, but he will still understand the basic structure of the feature. He will try to cover the important test cases, check the flow, think about performance, and then ship it.
  2. Now comes the tab monkey.

Suppose a developer does not know basic CS fundamentals and starts shipping features without understanding load, performance, testing, edge cases, or maintainability.

Just imagine what kind of feature he will ship.

Because of that, the whole project slowly becomes unmaintainable.

The Effect of Short Attention Spans on Developers

To be honest, this is the biggest enemy of any developer, or any person nowadays.

Developers using AI have developed such a low attention span that they cannot even bother to learn something new. They just write a prompt and keep prompting without knowing what they are doing, without understanding the basic code flow, and without caring about the reusability or maintainability of the code.

Let me give my own example.

Previously, I designed my portfolio in TanStack Start. Initially, I thought, “I know React, so why would I need to write all the code from scratch?” That was my biggest mistake.

I used Claude Opus 4.8, and it built the whole portfolio for me. I kept going, kept using different models, kept adding routes, and eventually I started facing small issues. Those issues were fixable, but when I looked at my code, it had become a complete mess.

There was no reusability in the code. Even a single small change required changes in two or three different places. That was when I realized that even if I published that portfolio and it looked beautiful, it was still a hollow project that I was not ready to show anyone.

So I rewrote the whole portfolio in Next.js from scratch, with less use of AI. Now I understand each flow and each line of code.

Even if I ask you, “What is the most recent thing you have learned so far?” do you have an answer for it?

I asked the same question to my senior: “Besides CRUD, what else have you done, and what have you learned?”

She had no answer.

People do not want to learn. People only want to build things, but they forget that building real things requires learning.

Just ask ourselves: when did you last read the last documentation of any website or any technologies that you are currently learning?

What we are doing now, we are directly going to the chatbot or the cloud and just telling them, “Give me the syntax of that thing, or I am not able to make that logic. Give me the correct logic, all these things.” Even I am doing that, and that is the best, the worst thing that you can do in the coding arena. If you are doing this or if you are liking me, then probably we both need to work on that.

A Hollow Heart developer

The term I made for these people is “jumpers.”

These are people who keep learning different things, but never stick to one thing long enough. One month they start learning Golang, next month they move to Rust, after 15 days they start Figma design, and the next day they call themselves React developers.

I would place myself in that category too.

After realizing this, I wrote this blog. People think that if you know everything, you become irreplaceable and everyone will praise you. But in reality, you know nothing deeply. You do not even know the basics of one language properly. You are not capable of building a project that requires designing a complex system or making good architectural decisions.

Sometimes, you have to stick to one thing and extend your knowledge in that area instead of jumping from one language or technology to another.

I have seen many people on X who only focus on UI, but they keep extending their knowledge inside that area. They learn math, WebGL, font design, animation, and other things that actually help them become better.

The best line for this is: “Do not try to ride two horses at once. Pick one path.”

Even That thing i shared on twitter as well as one person @avrldotdev said that 100 muh 100 baate Link of his reply

The Hall of Shame

Nowadays, if you tell any people that you are not using an AI agent to generate the coding, then they will probably tell you that you are going to get replaced and other things. Nowadays, it has become very seamless to say the same thing, even if you are not using any AI agent, even in your company, or whether you are a working professional. There will, of course, be pressure on you to directly use the Chatbot’s Claude code or anything to ship any product. Without knowing the product, without getting the architecture, why you are building, and without performing any unit test, you are directly shipping on that, without knowing what you can expect from that type of product.

Apart from that, I know that if you are shipping like that, then this means that your product is going to fail. You are going to get more bugs, and you will consume much more AI tokens than expected. You are just becoming a tab monkey man.

Just ask yourself some basic questions about OS, DBMS, or any other CS fundamentals. When was the last time you revised all these things? Are you just tabbing through suggestions, accepting them, or generating responses from ChatGPT or any chatbot and directly pasting them? Whether you believe it or not, you should not do that unless you actually understand these things.

Let me give you an example. Last month, I did more vibe coding than expected. I was just accepting whatever Cursor generated. Because of that, I started forgetting basic things, like how to use useEffect, how to use useCallback, and even the syntax of useState.

Just think about it. If I go into an interview and the interviewer asks me to write the syntax of useEffect, and I am not able to write it, that would be a serious problem. The same thing can happen to you.

For example, if you are doing vibe coding all the time and the interviewer asks you to write code without using AI, or manipulate data without AI, you may not be able to do it. You may not clearly understand the difference between filter, reduce, and other JavaScript methods, even if you are a JavaScript developer.

The same applies to C++. If someone asks you to write code without using bits/stdc++.h, and you are not able to do it, that means your basics are weak. This applies to competitive programming as well. The same goes for Java and other developers too.

AI is useful, but you should not let it replace your fundamentals.

#vibe-coding#chatgpt#claude#web-development#ai
Back to blog
you may like that also

Read related blogs

15.02.2026

Do Progressive Blur Matters in your website

Read article →

#web-development#software-engineering#programming#software-development#full-stack-developer