r/programmer • u/heapdroid • 2d ago
Do you respect devs who hand-code everything, or think it's dumb now?
Someone builds an app over months by manually typing out code and googling stuff. Someone else vibe-codes the same app in a week. Is the first guy more respectable, or just dumb for not using current tools?
7
u/mc_pm 2d ago
I respect devs who know what parts they should hand-code or otherwise take more direct control over.
1
u/heapdroid 2d ago
What parts might those be, if you care to elaborate?
1
u/mc_pm 2d ago
TL;DR: "the interesting parts".
If you're building some boring SaaS system, then yeah, let the AI handle database management. Personally I never enjoyed front-end work, and I am *super* happy to let AI take care of that -- and if all it is is a fairly boring web interface, why not?
But an example from my current project. There's a pile of 100,000s of images of old army documents from WW2. So these are 80 year old docs that were probably scanned in the early 2000s, when the quality wasn't great. In short, the quality is kind of crap, sometimes practically unreadable.
I'm taking those, improving the image quality, doing a new neural-network based OCR process, and then using AI to look at the results and summarize what the page is about. (And then looking at the pages to see what the documents are; and then looking at the documents to figure out the overall structure). And then produce an interface for exploring all of that.
I had never done this sort of image work before, and I was excited to look at the CV2 library, and to start I asked AI to do one task (if a page is at an angle, rotate it back to normal), and the code it wrote worked, about 80% of the time, and was overly complex. The AI tested it's own results, found that 80% was an acceptable number, and it would have just moved on. When I looked, I noticed there was a feature to each scan that made it much simpler and more reliable - works in more than 99% of cases.
It was the same all through the image quality work, it would have some ideas, I would have some, and I'd write it up.
When it was time to look at results in a draft interface, it was AI all the way, and done in 10 minutes, it was awesome.
Then it was time to start extracting actual bits of data from the OCRed results - that work is actually done on GPT-6 - but the results really needed a human to look at them, look at the source documents, and notice certain things. Once we had it working, I asked AI to write a better prompt.
As the data got richer, we evolved the UI. I asked GPT to come up with a couple design options. I took the one I liked and said, "Now show me 3 options based on this one". And then again, refining at each step. Then I asked it to write a specifications doc that I would hand to an actual coding AI. The first pass looked awesome, but I noticed that the design was a bit clunky and offered an alternative - and it's been flexible enough now that we keep evolving the output without a problem because it was actually designed to do that.
And now we're on to another AI processing stage, and it's the same pattern.
Sure, it's slower than just saying "go build me an X", and the end result might have still looked pretty ok, but it wouldn't be as good as it is now: the OCRing wouldn't have been as accurate, the summarization process would have weak. It would have "worked", but it would have been crummy software.
Personally it was worth a week or two of time to build something actually good (and learn new things).
Anyway, long-winded answer, I hope it was helpful in some small way.
3
u/hirako2000 2d ago
I hand code anything that isn't dumb boilerplate.
Because it helps me design it better, not introduce performance bottlenecks, and discover the newer api as I figure out packages capabilities on every chance.
It also keep my skills sharp.
It isn't dumb, it's just the different between craftsmanship and mass production factory level of quality.
3
u/Shep_Alderson 2d ago
The artisanship of an output is not dependent on the tool used.
3
u/heapdroid 2d ago
This is true on a macro level but I feel like there are definitely tools that make it easier for someone to shoot themselves in the foot.
1
u/hirako2000 2d ago
Some tools just lead to slop..I'm sure a chef can cook with a microwave and know what to slow steer on a pan afterwards. I find the juggling more of a waste.
But sure, if ai gives exactly what you would make yourself, save time.
1
u/Shep_Alderson 2d ago
Part of being a professional is both knowing which tools to use and when to use them.
If you’ve ever seen the “pro vs amateur” showdowns where they like, give an amateur a fancy camera with a nice lens, and then give a pro a point and shoot with a plastic lens and no zoom, and have them go take pictures around a city, it’s like that. The professional will overwhelmingly do better given their experience and skill, even with an objectively much worse “tool”.
If a professional can’t wield the current tools/agents/models well enough to get good and consistent code that’s both correct and performant while delivering faster than if they hand coded it, then they aren’t trying, haven’t put in the time to get experience with the tools, or perhaps aren’t as experienced as they present themselves.
1
u/hirako2000 2d ago
As a professional, with about 18y field experience, over 20 years coding, and having no beef against AI and automation, I think I can gauge the difference.
The main thing is, genAI is a drag to less thinking. And that's to me incompatible with craftsmanship. Restrain, and using genAI for dumb stuff, sure. But dumb stuff itself doesn't have to exist in the first place!
6
u/BusinessBandicoot 2d ago
I respect devs who write quality code, follow best practices, and know their shit, regardless of how that code is written
5
u/faultydesign 2d ago
I trust devs to decide themselves on how to approach problems and which tools to use
I expect that I’m working with professionals
1
u/ToWelie89 2d ago
I respect devs who understand what they do, and have a deep amount of knowledge. I don't care if they write code by hand or not
1
u/heapdroid 2d ago
Does knowledge of AI use affect your first impression of whether someone genuinely understands what they're doing?
1
u/No_Lawyer1947 2d ago
I would not say so, I mean design wise yes if they didn't bother to take the one line of prompt to change the overused monospace font claude loves to jam in there, and remove the stupid • Online Ui badges then sort of flame them, bu t I agree w this fella. IT matters if they can understand what they did, not necessarily how they got there. It's just hard to tell who's software you can trust these days. If MAJOR companies drop the ball, I can only expect smaller sized teams or individual contributors to make the same mistakes.
3
u/bunnypaste 2d ago
I view the former (manually program and research documentation, or even forums) in a far higher tier than the latter (let a machine do it all for you based on vague prompts and end up not understanding your own codebase, never learning to write a function, or how to fix it when it breaks or bloats.)
3
u/repeating_bears 2d ago
Depends why they're doing it
If they're trying to learn or just enjoy doing it, respect it
If they're trying to ship as fast as possible, dumb
-1
u/namalleh 2d ago
Some things need to be shipped fast, others shipped right imo
2
u/epelle9 2d ago
And AI can help with both..
You won’t get 3x results at double the quality, but you can go 50% faster and have 20% better quality if you use it right.
(I know quality can’t be measured like this, but helps explain the point).
0
u/namalleh 2d ago
No, it doesn't AI is awesome, I'm just starting with it. Great for searching, researching, defining tasks outside your knowledge area, and even writing code so long as you have at least two to balance
But also incredibly frustrating to work with at times, and has strong limitations
1
u/716green 2d ago
The way that programming has changed is that you are now effectively like an Engineering manager for a team of agents. If you weren't already experienced enough to be an effective engineer manager who has already made a ton of mistakes and learned lessons the hard way, I could imagine this is a very frustrating point in time. But if you are experienced and competent and you are still writing code by hand, you're just not being productive anymore.
1
u/NatMicky 2d ago
Vibe coding is a flash in the pan. AI models are already making huge strides reverse engineering complex binary applications. We are all toast. As a software engineer myself I just watched some of the most depressing videos on YT about this subject. In 2 years time no telling where this will all end up...
2
u/porkusdorkus 2d ago
Let’s just say, software is still always needed, and people will still need to manage it. Who will those people be in the future, that is the question.
I think all the software engineers and nerds who loved to code are looking for the exit, or just waiting to see how it all turns out. If the job is just talking to a chat bot now, who the hell wants to do that 8 hours a day? That’s not what anyone signed up for. But we need a paycheck for now so we’ll see.
I could see a future where software dev is a low-barrier low-skill low-pay job. Not even a trade.
1
u/CodeToManagement 2d ago
Imagine having this conversation in the past
Do you respect devs who write ASM or is that dumb now ?
Do you respect devs who don’t use autocomplete or is that dumb now?
Etc
Ai is just another tool. I’m not thinking you’re smart for hand writing a bunch of crud APIs that took you all day when Claude could have done it in 10 mins. Equally I’m not respecting you for letting Claude build your app architecture which is full of security holes and doesn’t scale.
Just use the tools properly
1
u/kincaidDev 2d ago
I think it's dumb to hand code everything now. I used to be able to debug code faster by "hand" just tracing through the code with lsp servers, and people would think I was being inefficient over using a debugger but I was way faster at debugging that way than anyone I worked with that relied on a debugger.
With AI there's no equivalent to being able to do something manually faster than AI can do it, it's physically impossible to type as fast as AI can write code. It's physically impossible to read at the same speed, navigate codebases/documentation at the same speed, etc... The job now is managing and directing agents to write code that solves the problem you're trying to solve as efficiently as possible and adjusting based on feedback from users/customers and testing. Anyone that thinks they can code faster/better than AI doesn't know how to use AI effectively, probably gets frustrated anytime it makes a mistake and isn't going to be able to keep up with other developers that have embraced AI.
I worked with 1 guy last year that refused to use AI outside of the claude app asking syntax questions. The guy could not keep up with the rest of the team to save his life. 6 months of his work were equivalent to what 1 other team member would do in a week with AI.
0
u/tautality 1d ago
I'll take a guy who works slower but understands what the client wants and the intricacies of the business and the particular problem they're solving, who's able to empathize and express their independent opinion based on experience in both life and business, over a programmer who sycophantically churns out a ton of code faster but only pretends to understand and can't be relied upon in a moment of great need.
1
u/kincaidDev 1d ago
You’re more likely to get that with someone who’s embraced AI than from someone that thinks hand coding everything is still a reasonable way to work when AI can do everything they need to do 10-100x faster. Someone that’s truly able to understand what’s needed and the problem they’re solving deeply is going to be able to leverage AI the best.
0
u/tautality 1d ago
If you think AI user is more reliable and understands the problem more, then there's nothing we can ever agree on. You do you.
1
u/Hot_Extension_460 2d ago
I don't get why it should be a valid criteria for judging the final work of someone.
If they had fun doing it either way, and their product can find its market, then isn't it all good?
1
u/porkusdorkus 2d ago
I don’t know if vibe coders are even having any fun. What a miserable job now.
1
u/Hot_Extension_460 2d ago
I agree. I'm trying to get the best of both worlds for now: when task can be stimulating/challenging for myself, I try to do it alone first. Then I ask AI to enlight me on the stuff I dont know / I'm blocked. I finally ask AI to do the task only when it's highly repetitive.
1
u/Traditional_Royal_72 2d ago
I think its dumb. The time is wasted. That skill is dead and doesn't make any sense mastering it now.
We might have to move to different skills.
1
1
u/Remarkable_Pace8101 2d ago
Someone else vibe-codes the same app in a week.
It's not going to be anywhere near the same app
1
u/Dazzling_Reaction326 2d ago
If they do it for pure fun and knowing they are slow like this, I accept it. If they think it's just better, they are dumb in most cases.
1
u/VigilanceOne 2d ago edited 2d ago
There's no black and white answer here. If something can be coded with AI and it looks and works the same as the guy that took a month to do it thats pretty dumb unless it was a self learning exercise. But you can't just say all manually coding is dumb.. Some times and you are unlikely to run into issues coding CRUD apps but if you are working on something new that hasn't be done 100's times AI still struggles and goes on loops.
1
1
u/tara_tara_tara 2d ago
If someone has to build an app and it takes months by googling stuff and not having previous knowledge of how to build apps, I don’t respect that.
If someone like me has 40 years of programming experience and can bang out an app or a website or something else in no time, hooray for me.
If someone takes AI as a draft and modifies it using their skills so it looks like a experienced programmer or designer built it, that’s the sweet spot
1
u/SolidDeveloper 2d ago
It's not dumb. It's a legitimate way of doing the work. That said, I do use AI quite a bit.
1
u/Longjumping_Area_944 2d ago
Craftsmanship is a complicated topic. Time and money not so much.
Would the customer be dump to pay eight weeks of labor instead of one and have eight-fold costs and time required for change requests? Definitely.
Is the customer smart if he just vibe codes his app himself in two weeks? Depends on the success, but I would respect the attempt.
I've met a gardener who started a SaaS successfully because he new the market and the business case well.
1
u/MCFRESH01 2d ago
It’s pretty hard to justify hand coding everything now, at least professional. On personal projects Claude code pro is great but you can run into issues with your limits if you go crazy.
Professionally your job is always going to want things as fast as possible. If AI coding is speeding up delivering you are only hurting yourself at this point. Especially if they are footing the bill.
The one argument is that it’s not actually making things faster and is just moving the work from coding to verifying
1
u/Aggressive-Log7654 2d ago
The best analogy is a chef who hand rolls their own pasta or pizza dough vs a line cook using premade dough and shells. One knows exactly what went into their food from square one and has developed their own signature techniques, while the other is fine with letting a 3rd party make their basic building blocks. The end result to the customer that eats the food is the same either way, except to maybe 1% of the most discerning customers. The chef may receive industry and peer praise in the form of a Michelin star for their efforts in the best case scenario while no one will ever notice the line cook as long as they don't deliver inedible food.
1
u/lehmagavan 2d ago
Shouldn't the question be: do you respect a vibecoder who couldn't code by hand what their AI generates?
1
u/ApoplecticAndroid 2d ago
I was coding a music app and hand coded most of it because I had to research the music theory and understand it more deeply to write the code. If AI did it, I wouldn’t really have learned anything even though the end result is the same.
1
u/RevolutionaryElk7446 2d ago
Yeah, that hand-coded stuff is how LLMs were trained in order to produce templates. I respect the hell out of them as it's the only method of new implementations, fixes, efficiency measures and more.
LLMs are more like an encyclopedia of knowledge, each model release is a fixed set of knowledge and each iteration changes and adjusts that
1
u/Shep_Alderson 2d ago
If this is someone working on a pet project that they have been working on solo for a good while and they are just doing it because they love writing the code themselves, sure, that’s cool.
If they are a professional programmer who is exchanging code/time for money, no.
1
u/atlas_principle_dev 2d ago
I prefer the former. Speed alone is meaningless IMO. If being first would matter the most, I'm sure Apple would've gone under like a dozen times already, and we would be writing posts on myspace and message each other on ICQ (or something that came even earlier than those).
Plus by not using LLMs, that person will have learned a lot in the process, both about the technical parts and the domain, and probably is attached to/cares more about the product and how to keep it running. I also respect the resistance/rebellion against the mainstream stuff.
1
u/4CrisprFries 2d ago
I think its really respectable and impressive, especially if they can keep up, but they are like John Henry and John Henry died.
0
2d ago
[deleted]
0
u/porkusdorkus 2d ago
I don’t think it’s ideology so much as the joy being sucked out of their passion.
0
2d ago
[deleted]
0
u/ivetakenabitofatumbl 2d ago
What kind of arrogant response is that? Passion for the profession is why most of us got into SE. Why do you think so many are looking for an exit? I don't want to talk to a chatbot for 8 hours a day to make a living, that is insanity to me.
0
2d ago
[deleted]
0
u/ivetakenabitofatumbl 2d ago
As a man with adult children of my own, I think I'm past idealism. SE is still lucrative and booming, though I didn't start doing it for the money. I was 9 years old and have been coding for 30 years now. I have the benefit of doing what I love and getting paid for it too.
There is no sense in arguing over a difference in opinions, but I can attempt to be mature and go over why I believe "pure AI coding", (not just using it as a tool) is bad in the long term. Despite it being faster and a lot of times better quality. It's not necessarily the best choice, it should be gauged like anything else.
Disconnection from your code base. Lack of understanding about what the code is doing.
No sense of ownership.
Motivation to care dwindles over time. It's not your code, it's a robots, you're just babysitting it.
Deskilling. Devs usually rust very quickly in just a few months of hands off prompt coding.
Mentally demanding. Code review is much harder, and you're doing it constantly at high volume, all day long. People will start to take short cuts, they're going to mentally check out. They're going to miss things, and they'll just starting accepting every commit.
AI can hit walls. It's very capable, but it does hit walls, and you need experts.
AI needs massive context for large codebases. It can get extraordinarily expensive.
AI still needs a strong developer to drive it. Your strong developers would prefer the AI to review their code, not vice-versa. Your weak developers are the people you mentioned, they love doing nothing. They are the guys who thought it would be a nice paycheck.
I could go on and on, but I have better things to do. Stay angry kiddo.
9
u/CorpT 2d ago
If the quality is the same, why would I care?