The AI coding era: Do we still need to stick with manual crafting? (Seeking perspectives)

hi everyone,

wanted to throw a topic out here for some genuine discussion, and honestly, to seek some guidance.

just a brief intro: i'm a developer from asia, currently in my 6th year of programming. for the longest time, i was a firm believer in manual crafting—what we call "手搓" (shou cuo) here, meaning writing every single line of code by hand. that was until last year when i started using claude heavily.

before moving forward, i should probably mention that due to cultural or regional differences, i might not be fully familiar with some of the specific nuances or unwritten norms of this forum yet. if i break any implicit etiquette, please let me know, i'm here to learn and discuss.

getting back to the point: over the past year or two, almost everyone around me has started using AI like crazy. it ranges from throwing a single test case to the LLM, to completely refactoring a massive production project. there's no denying that AI boosts velocity immensely, but it has also brought me a lot of confusion and deep thinking.

do we still need to stick with hand-written code? i've been feeling quite lost about this.

initially, i rejected it entirely. back then i was using codeium, which, to be frank, felt pretty dumb at the time :blush:. but then the generative AI boom happened, and suddenly the corporate world here was hit by an "AI-first" storm.

in many workplaces now, no one seems to care about code quality anymore. as long as the code runs and can be delivered quickly, it's considered fine. a lot of folks started aggressive "nei-juan" (内卷—a term we use for toxic internal competition :sob:) just to hit KPIs. it’s no longer a competition of technical depth, but rather a race of who can deliver faster and cheaper.

under this kind of intense ecosystem pressure, i started questioning everything again: is it still worth it to hand-craft code and try to maintain absolute, line-by-line control over the project's architecture and cadence?

don't get me wrong, i am a heavy AI user myself now. ( :rofl:, but i probably consumed over a billion tokens in the past months to build up my projects). what AI actually taught me was structure and discipline—making my docs and layout at least look organized and clean. but of course, dealing with hallucinations remains the biggest nightmare.

i'm genuinely caught in the middle of this shift. how do you guys balance this in your day-to-day work? is the control-freak nature of a low-level engineer still valued in an AI-driven industry?

would love to hear your thoughts and philosophies on this. thank you! :grinning_face:

This subject is discussed all over the net right now. So I'm not sure much new can come up here.

My take on it is that if somebody is paying you to create software I don't really care how you do it, using AI or other tools or not, BUT you have the responsibility to ensure that software's quality to the best of your ability.

Can you really put your hand on your heart and promise that is the case when churning out code with AI? If so, then OK, if not perhaps it's time to reevaluate your motivations.

What worries me is that if everyone is just vibing code and they have no idea what is in it, how it works or what it is doing, then soon we are living in a world that nobody understands and we have no control over.

Thank you for your reply. i completely agree with your point of view.

in my opinion, using artificial intelligence is acceptable, but we must be responsible for its output. in other words, it is merely a tool to improve efficiency — but the developer's sense of responsibility, or rather, their fundamental principles, must be upheld at all times.

That is the part that worries me. It seems to me that the world is full of software developers who do not really have a passion for it but rather got into software as a means to find a job make money. I don't blame them, we all have to eat. But I suspect their principles only extend as far as doing whatever it takes to get a pay check. Never mind what it is or its quality.

It's not clear to me yet that using AI will improve software development efficiency in the long run.

Yeah, I completely agree with your point of view.

there's a saying in my culture: "love what you do." but reality isn't always like that. most people are lured by high salaries and only want to deliver quickly, without caring about the quality of their output at all.

my years of development experience have taught me that this approach is wrong. you must have enough patience to polish the product — even if it's partly or entirely assisted by AI.

Finally, thank you again for your reply. I learned a lot from talking with you. :grinning_face:

You don't maintain control over your dependencies in this way typically. And when you work with other people you typically don't have one person with this level of attention. There is definitely a unit at which you should maintain line-by-line control but it might not be an entire project; perhaps the key modules. It depends on the problem domain; AI is much more capable at some tasks than others.

First, AI code is written by human first, and then it's refined and giving you back. Since most algorithms written back to 70-80 period, you do not need invent anything, just take and use. For example, currently, all my JavaScript/HTML is written by machine. I simply couldn't write it myself. Regarding Rust: I learn Rust, therefore my machine generated code is still minimalistic, but as I gain same level of knowledge as I have for JavaScript, no more Rust code from me. I think you agree.

For me the concern about AI is less about the technology itself, and more the business/financial side of the providers. Sure, you can currently pay $20 and have Claude spit out 10kloc that works fine without reading a single line (if you're lucky) but even if you put the technical stuff aside (security, growing to 100kloc etc) you still have the concern of how you're going to manage it if in 1-5 years all the circular financing has fallen through, the prices started rising enough to start pushing out the casuals, further increasing costs...

It's worth noting here that Jensen Huang thinks you should be paying roughly 150% of your developers' salaries in tokens: that is, roughly $100k-$200k. Would you still be ok using Claude if it was costing you more than hiring another developer to do your work for you? When you have a 10s of kloc codebase you haven't read?

If not, you now become limited by code review throughout, and that's a pretty miserable job in comparison to actually getting to figure it out and learning yourself, which gets you to explore approaches and even change your programs' design when you discover the "shape" of the problem.

AI can be helpful, but certainly it's nowhere near the silver bullet it's marketed as.

That is simple math: If costs are 150% of a human developer, but the output or power is more than 150% compared to a human developer, then the human loses on that comparison.

There are other aspects too:

  • Can I book 100 humans for one hour right now with a mouse click to get a job done because my client needs the software product in 90 minutes?
  • Do I need to rent office space for Claude?
  • Do I have to handle worker rights for Claude?
  • Do I have to manage all the interpersonal problems between employees who do not like each other?
  • etc.

I think you get the point.

Maybe the price will rise for some time because of market demand or because the current financing model changes. But price is not the same as cost. And in the long term, I expect those costs to go down. The cost per GFLOP has fallen dramatically over the last decades, roughly by an order of magnitude every few years over long periods of computing history.

Look at the history of the industrial revolution about 200 years ago. Look at the invention of printing, look at the smaller revolutions in the post-war era.

They all have one thing in common: things became mass-produced and costs moved strongly downward. Look around you. The fact that we can have this discussion here is a direct result of massive cost reductions and extreme technology development. And this is not only software and computer science. Look at other areas: biology, medicine, energy, material science, manufacturing engineering.

When was the last time you hired a carpenter to build an office desk?

So yes, I see that there are many developers who believe their work is something special that cannot be industrialized or automated. My view is that a large part of software is simply run-of-the-mill software that can be produced automatically and on an industrial scale. In many of these cases, the required knowledge is not rare or unique.

Is this bad? Is this bad for software developers?

I do not think so. With the tools available now, every developer can produce software at a much higher output rate. Projects that were previously not realistic can now become a matter of a few weeks.

There is also a problem that makes software somewhat comparable to art. People say code should conform to a certain taste, that it should be elegant, and so on.

That can be true, of course. Even today, there are artists who create fantastic pieces out of wood, and there are people who pay a lot of money for those things. But there are also many people who simply buy cheap, mass-produced furniture, and that furniture is good enough for their needs.

So for software developers, I see two paths:

a.) Use AI tools and build things that were previously out of reach.
b.) Focus on the craft of software and accept that some parts of the work will become more automated.

I don't really want to get into arguing the abstract costs and benefits of AI in detail, I was only mentioning the detail of a non-obvious trade-off you're making when you use AI to create a large biggest quickly.

But I do want to address this point, since it's often brought up and very relevant to addressing the general "this is the future" argument you and many others are making:

Yes, it lead to the complete destruction of any kind of home industry (effectively the middle class) and a new generation of robber barons economically enslaving a lower class and children losing fingers etc. for 200 years, very possibly the worst inequality of any period of human history. Things only improved when the growth of unions forced the establishment of labor laws.

Even if we're lucky enough to end up with that latter part again, there's no reason I should be happy about that personally; I'm not going to live until then.

AI isn't magic... it’s an efficient pattern matcher. It excels at boilerplate, API scaffolding, and boilerplate translation. That is precisely why it thrives in popular languages like Python but struggles significantly with niche ecosystems or strict,d

The current "evolution" of generative AI relies heavily on corporate telemetry (Hi Jetbrains, Antigravity, Claude code...), ironically funded by developers uploading internal repositories via subscriptions to train the very tools meant to replace them. But hype aside, we must distinguish between building a basic CRUD app and architecting critical infrastructure.

I challenge anyone to prompt their way into creating a robust, production-grade asynchronous runtime better than the tokio ecosystem, or a 100% AI-generated operating system kernel. If tech giants could automate that level of complexity with their current machinery, they would have done it already. They are simply scaling where it is profitable: highly repetitive, predictable software.

Like you, I use AI for quick queries, but I refuse to outsource my capacity to debug, maintain, and evolve complex systems. "Vibe coding" and agentic workflows are fine for toy projects, but deep technical mastery remains non-negotiable.

aaah, another point here is what happens when a country decides to block access to these AI tools for specific populations? Or during a prolonged infrastructure outage? We are risking a generation of developers who cannot "think" or write a single line of code without an LLM handshake. When the API goes down, the engineering stops. That's a terrifying dependency. Where its the fallback?

In the residential home inspection industry, there's been a surge of AI-boosted inspection software. Where AI will point out flaws, or write comments for you, and so on.

The trouble is, as always, with quality. A skilled home inspector could theoretically make good use of these features to accelerate what's an inherently tedious process, if it were closely supervised. You have to be careful though to ensure AI wasn't introducing subtle (or unsubtle) problems into your report.

But that's not what happens. Many inspectors are already a little dodgy, skipping things they shouldn't and playing fast and loose with business ethics. I can imagine many of them letting AI features pull the weight with minimal oversight, leading to further degradation in the industry.

I can see the same happening now in the software development industry. There's already a lot of cut corners, and (IMHO) a shocking amount of inexcusably lazy software design that companies get away with. Adding AI to the mix just makes everything worse. If it were carefully wielded by experienced developers, that would be one thing. But it's not.

So my answer for the general case is that no, LLMs are not acceptable in dev work, just because it's too easy and prevalent to let it agent do your job for you, but poorly. If you're confident that you won't let slop through, that you'll be able to monitor and check it, and that doing so won't be slower than doing it yourself - go for it. But please, for the love of all that is still good in this sickly industry, don't publish vibe coded software.

Now I have a good excuse to my boss, sorry man, I didn't watch LLM too close. It will never happen again, as usually AI likes to impress us.