r/programmer • u/drifterpreneurs • 4d ago
Is coding by hand & actually knowing the codebase worth it?
/r/FullStack/comments/1x3i4f0/is_coding_by_hand_actually_knowing_the_codebase/8
u/IrishPrime 4d ago
No. It's never been worthwhile or good to know anything. That's why most of our problems throughout history have always been solved by guessing and never through deep knowledge or understanding.
3
u/Spiritual-Inside-370 4d ago
Knowing the code base is actually important otherwise what are you even doing. Definitely not a programmer that’s for sure.
2
2
u/ResponsibilityIll483 4d ago
We used to complain endlessly about legacy code when it was all human-written. How much worse can AI code be?
4
u/LetsHugFoReal 4d ago
Unfortunately worse. Because it allows people to produce techncial debt at a faster rate. In my corporate environment, it's creating say 10 solutions to the same problem. Making maintenance a nightmare. It's also full of bugs and requires a specific state of data to run correctly. It's a nightmare.
AI augments existing knowledge, not as a polyfill for an absense of knowledge.
1
u/ResponsibilityIll483 3d ago
It opts for the well-trodden path, which for most developers is a step-up in quality imo
1
u/TopicSoft6567 3d ago
THIS is the biggest problem. It OFTEN builds around very specific data sets or ideas. Sometimes the ideas weren’t even in the prompts, it’s just something the AI made up.
I use AI all the time, and I love it.
But it fucks up anything even remotely complex and its code is horrible to read for any complex solutions.
1
u/BobJutsu 4d ago
Worse. Much worse. A big reason is velocity, but another is at least at some point someone understood the legacy code and ideally produced documentation.
1
u/ResponsibilityIll483 3d ago
Understanding is less important now that AI can find and fix bugs very quickly. Yes it'd be nice to avoid bugs in the first place, and AI code review also helps with that.
1
u/minegen88 3d ago
You can ask the developer whatta hell they were thinking when they did something weird and you can both try to figure it out togheter.
You can't ask an ai what it was "thinking" when it did a feature. Because it cant think
1
2
u/becircus 4d ago
If you go to the /r/cscareerquestions they might say no the reason being you focus on the computer science and algorithms and actually knowing the codebase is unnecessary compared to that.
But if you want to be more than a mercenary moving around every one or two years if you want to stay at a place a long time you probably need to. And for your personal toolkit you should know it like back of your hand.
2
u/Fit-Notice-1248 4d ago
No, it's never worth understanding something and having deep knowledge. It's much much better and efficient to have no understanding on anything and instead, make guesses and be swindled by random theories.
It's also a lot better to use the frontier models and be dependent on them to do everything and anything you need
2
u/zackel_flac 4d ago
Anyone shipping product to production with AI only will know that yes, it is completely worth it. AI is absolutely not bug free, and it simply won't show when you have 0 users.
2
u/damanamathos 4d ago
It depends on the situation.
Critical software involved in financial transactions? Yes, should probably look at it closely and make sure it works.
Standard CRUD app where you're updating the design of a page and how it's displayed? No, you can rely on new models to do that well and pick it up with the right automated tests.
Also depends on how much effort you've put into your AI coding with regards to automated review and testing. AI these days will pick up flaws that humans miss, so would try to incorporate that into the process even if you do decide to hand code things.
2
u/antiprosynthesis 4d ago
Coding by hand, no. Knowing the codebase, definitely yes. You can use AI to get to know it faster though.
2
u/bunnypaste 4d ago
How does one learn a codebase without knowing how to read and write code by hand?
2
u/Fit-Notice-1248 4d ago
Keep asking AI to explain it to you over and over and over again. (Anthropic happy as hell people think like this)
0
u/iscottjs 4d ago
I think writing some code by hand is still useful if that process helps you understand the codebase. What I think is going to be less useful now is writing all code by hand for every feature at work when the expectation is to generate everything.
There’s probably little value is hand crafting all the boilerplate that is probably already easy to understand, but there might be a few complex methods that need breaking down or rewriting to make it understandable.
I think there’s still value in coding by hand to enable you to learn and read code. But once you’re competent enough to read/understand then at that point it’s just going to be faster to generate it and sanity check it.
I’m learning golang from scratch and building a side project by hand, once I’ve finished that then I’m confident I’ll be able the critique my next AI generated golang project and understand what’s going on.
2
u/VigilanceOne 4d ago edited 4d ago
Nope just hit generate and send it off. Don''t understand something? AI. Get an error? Ai. Security issues? AI. Ai not being smart enough? Another AI.
2
2
u/iscottjs 4d ago
Yep this would be my boss’s response to all of it. I need a few days to understand this codebase. Just use AI? I need to make sure this bug fix doesn’t take down our upstream systems. Just use AI?
1
u/Rich-Engineer2670 4d ago
Put another way, if the code is incorrect in some way, what is the risk you take if the code is worng? If the code just paints the screen a different color, the risk is low. If you're Boing with a 737MAX and the code has an error, the plane stops being a plane and becomes a rock.
What risk can you accept if the code malfunctions. It may be acceptable, it may not be -- up to you.
1
u/Lunchboxsushi 4d ago
I'm lucky that I've got about half a decade on the current system I work on, AI has made it nearly effortless to modify as I'm familiar with infra + full stack
1
1
u/lehmagavan 4d ago
If it wasn't worth it, why aren't kernels or other critical systems vibecoded yet? AI is sure used to generate code there, but knowing the code base - fundamental. I'm just a hobbyist, but isn't it usually people doing webdev scripting asking such questions?
1
1
u/Groundbreaking-Fish6 4d ago
Sorry but Vibe coding is just a bridge technology. At some point the AI will become better then actual coders and you boss will say that the AI is smarter then you don't question the code. At this point we will fall back on the other skills that are involved in application creation e.g., working with users and other stakeholders to find the best solutions to their problems.
Until a year ago, I always lamented that software developers time was only about 10% coding. The rest of the time was working with users to refine and validate requirements, even if you had a team of System Engineers writing requirements. Also working with System Administrators to make sure that the network, database or web server was configured and had enough resources to run the applications successfully. Finally working with management to make sure funds were available for coding, documentation, testing, network and training.
1
1
1
1
u/AncientGrief 3d ago
There's also the issue with End-To-End agentic coding, where the AI creates kind of a fantasy code word cluttered wall of text ... and if somehow you are not able to use AI anymore, good luck ... I mean prices keep rising steadily ...
1
u/LetsHugFoReal 4d ago
If you want to produce something of value, that is production ready - yes.
If you're a bit stupid, then no. Because what will be produced will be junk.
AI produces a solution. It does not produce the most efficient, simple, maintainable, consistent solution necessarily.
1
u/Beautiful-Hotel-3094 3d ago
I second this. It’s your choice how well you want to do your job. If you don’t understand your job, AI will control your workflow. You just won’t be able to redirect it and use it properly. I find myself correcting the AI in 99.999% of the cases, I very rarely take its output as is. But that is because I understand how the solution should look like.
0
u/naslanidis 3d ago
I mean the question is kind of irrelevant. It's simply not possible to know it in detail at the pace and scale at which things will be moving. That doesn't mean quality has to be bad, it means the engineering problem to solve is autonomous automation that produces high quality code. Defining that takes software engineering skills.
1
u/drifterpreneurs 3d ago
I mean the only ones who think it's irrelevant are vibe coders who only know how to prompt a llm.
They can't read, understand or write code so how can be expected to review AI generated code? They probably still need to ask a real dev and not another llm prompter.
Open AI ceo called Ai generated code brittle, meaning its not high quality code.
Once vibe coders lose their LLM's and no longer have the ability to prompt an llm, where will they be and what value will they have? It's not like they could understand, read and write code in the first place!
1
u/naslanidis 2d ago
Why would humans he reviewing AI generated code?
You have no idea whats coming and it's not even distant. My team is building it right now. No developers at all, ever again.
17
u/IAmBeary 4d ago
Yes… Is this a trick question? It’s obviously true. Would you rather blindly trust something or know that it works for sure?
If you need to diagnose a bug, you can’t rely on ai to tell you because it may be confidently wrong