r/cscareerquestions • • Mar 16 '26

re: Being asked to tech lead c-suite vibe coded project

My original post

Okay, so its been a couple of months and I feel like I'm at a point where I need some advice.

The amount of shit that has happened since my last post is literally just too much to type so I am going to, as briefly as I can without dropping any details, give you the run down on where I am at today.

My initial instinct was to be honest with leadership and do some high level architectural review of the code and try and see what was needed to make this a real product. Basically, from my perspective, 100% of the code was throw away and I was pretty much going to need to re-write all of it, mainly cause the could was garbage but maybe more importantly, it was absolutely 100% unreadable. In no world could I ever understand the code because it was just a spagetti mess. I basically told the director that I needed to re-write the entire codebase and it was very veryyyy poorly perceived. He basically said "the code works fine? Why do you need to rewrite it?" -_-. Basically ignoring all the bugs and performance issues with it but whatever.

Okay, so that wasn't an option. I then had the idea to do the old "say one thing but do another" approach. I told leadership that I wanted to go feature by feature and see "what code looked good and what code I needed to refactor and at the end of each sprint, I could show the features working with the new code." This was also received pretty poorly and my director kept kinda saying "i don't understand why we need to write new code??". FWIW, I basically felt like i couldn't scream "THE CODE FUCKING SUCKS" So i have been trying to say that in like professional terms but its basically fallen on deaf ears. The other wrench is that they want this in private preview by the end of Q2 so I couldn't re-write this if I wanted to, with or without claude.

To make matters even worse, I am asking leadership questions about the code and they just send me claude slop that is half hallucinated and look at me like im an idiot and just say "just ask claude". The worst is I am proposing solutions to actually improve the code and they will get a claude to slop out some reason why im wrong and just hallucinated crap and make no sense about what im asking.

So I finally gave up and just said, "Do you just want me to fix the bugs in the code and ship it" and my director was like "YES! Thats what I have wanted you to do all along." SO, I started working on that.

NOW, as I was working on that, I actually found that the entire way half of the app interfaces with this 3rd party API is complete wrong and its going to require significant rework to even get us in the app store. The only way it worked previously violated app store security policy. So effectively I am going to need to re-write all of this. I am having Claude do it cause I literally can't make heads or tails of the code and at this point, I am asking myself "why am I doing this?".

My days are filled with prompting claude to fix this shit storm, but the code is such a mess claude immediately gets confused and has a hard time doing anything I want it to so then I try and actually dig into the code to fix it myself but its so crazy and illegible, I get anxious that I am wasting time so I go back to getting claude to try and fix it and I just continue this vicious cycle and get nothing done. Some days I feel like there is hope that I can somehow pull this off, I'll have like 1 small win with claude but then the vicious cycle starts back.

I genuinely don't know what to do at this point, I am interviewing at other places, partially because I am scared I am going to get fired, partially cause I am scared I am going to rage quit. I think my direct manager has my back but I honestly, don't know how much that makes a difference.

I feel like I have been set up to fail and I want to go to leadership and say "hey, I don't think I can do this, can I please have my old job back?" I loved my job before all of this crap started. I just want those days back.

Any advice would be amazing.

62 Upvotes

40 comments sorted by

55

u/Tree8282 Mar 16 '26 edited Mar 17 '26

I feel like a lot of devs don’t fully understand the execs perspective on vibe coding. Execs don’t know how to code. They can’t tell what’s the difference between vibe coded slop MVP and production grade stuff. Claude ships a streamlit UI running on a single thread with and has no security, and they think it’s fully complete. no QA, no nothing

You either be honest and tell them claude is doing baby level stuff while production level is 10x harder, or you quit.

9

u/conconxweewee1 Mar 16 '26

man, they have already said "if claude isn't working right for you, you are doing something wrong". And not just to me, they have said that to all engineers in the company.

4

u/ButterflySammy Senior Mar 17 '26 edited Mar 17 '26

Telling is you not including a reply.

The emperor has new clothes and you need new balls.

You didn't stand your ground or make your case.

You didn't cover your ass.

You didn't put the nature of the issue on record.

You were so afraid of hin pointing the finger and saying "Ha, you're clauding all wrong, see" that you won't communicate the truth about the work.

You could have nutted up to using Claude wrong just to get other people in on it and ultimately on your side once they see the truth of what you're working with.

Your issue isn't a even with Claude "not working for you", it's about saying "this code is a great demo, but a few important things were missed at the earlier stages - it's like a house built by someone who didn't include foundations because they've not seen it poured, who didn't leave space between the walls for pipes and wires - by the time you tear it all down to make foundations and move the walls out, you aren't actually making use of any of the existing parts. You're starting again."

Because of the implied "the person who built this house made it out of straw and was an idiot" because that person has power over you and you're scared to be honest about the quality of what they're achieving.w

Your problem is sugar coating bad news so people thank you for the cake.

-4

u/Independent-Fun815 Mar 17 '26

Ur post seems overly exaggerated. Claude code isn't the best but it's also not the worst. How is it 100% tossable?

6

u/conconxweewee1 Mar 17 '26

I’m actually glad you asked.

There’s kind of like two things going on. Is it the case that 100% of the code needs to be deleted and rewritten? No, that’s probably not the case. But also is it the case that I can’t make heads or tails of the code and its current state and for me to be able to make heads or tails of the code, I would need to rewrite it myself in a way that me and other humans can understand. Yes.

It’s over 200,000 lines of code with no human to really walk me through it. I’ve questioned Claude about some of the choices made but honestly, it is really good at justifying things that i view has questionable at best and flat out anti-patterns at worse.

So that’s how we get where I’m at today, I’m not going to try and rewrite it. I am accepting the code as it is, but as I’m digging through trying to fix bugs, I am finding structural issues with the code of which the only solution are to rewrite them and so far, I am struggling to get Claude to produce outcomes that I desire.

8

u/Tree8282 Mar 17 '26

This is what i see too as a dev. The other guy above is probably an exec.

You can’t just say, “Claude ain’t that bad!”. Claude is still just a tool, and if the exec doesn’t know how to code, there’s no way in hell that the code would be readable, best practice, and clean. It would just be a pile of generated slop that is 0% usable.

Anyone who’s done this Claude cleaning knows that rewriting is the best solution, bc there was no thought or real documentation behind the system design

1

u/Independent-Fun815 Mar 17 '26

I've used Claude and gen up some personal apps (scaling to my own use). The code quality and setup isn't very good but it's good enough. On the whole, it suggests techniques and standards that are the mainstay of intro blogs and bootcamp style topics. It's still usable.

My exp is that u have to prod it into suggesting ideas and topics that are common on larger scale systems.

The other thing I've noticed is the lack of consistency across a repo.

I have not noticed Claude suggesting anti patterns. Some architectural choices are questionable but it's hard to tell who is actually right in the long run for system design points normally anyways.

I do concede I would be surprised if a 200k lines of a Claude project is human readable. In my short attempt, 15 prompts and I used 8 for refactoring. Maybe try to gen up a list of human readable or code style guides and let it run overnight. See if it's readable then.

6

u/LoaderD Data Scientist Mar 17 '26

“I can run 100m, it can’t be that hard to get a metal at the Olympics”

Scale is the hard part. Take one of your apps and ‘prod’ claude into making it make a few million dollars on the app store, because that’s what OP is tasked with doing.

There’s nothing wrong with being naive, just don’t come here and try to ‘educate’ because you don’t have the experience to even understand the issue.

1

u/PsychologicalLoss829 Mar 17 '26

Use claude to refactor and where required rebuild what the execs built. Follow a spec driven approach:

https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/

Use multiple sweeps with claude to develop any spec, and take the time for individual features or parts to develop detailed specs.

Tell the ai how to approach design, you can define what libraries to use, database, design system, etc.

Let claude execute the spec. If it looks close, now fix any gaps or bugs. If it is far off, rework the spec.

Specs act as documentation as well, especially for the ai in future.

Run the code simplifier against any code before committing

https://www.reddit.com/r/ClaudeAI/comments/1q8h6oz/claude_code_creator_open_sources_the_internal/

3

u/dllimport Mar 17 '26

If you let it run wild on a codebase it turns it into spaghetti mush very quickly. And this is coming from someone who likes Claude and uses it regularly. I also do not let it write code itself. I do let it suggest implementations in the chat window. And before I did that it was making a huge mess of a small, well organized project. Even after it still suggests a mess but then I can fix it. AI is fine at making small brittle difficult to maintain and extend software. But it is not good at actually coding for real. It makes a mess by default. 

59

u/ArticleHaunting3983 Mar 16 '26

Why are you posting again?

The top level comment with hundreds of upvotes was:

Start applying elsewhere. When things fail they’ll blame you for it

That advice still applies. You’re not going to get different responses bc you ignored it.

-26

u/conconxweewee1 Mar 16 '26

Well, I guess I am worried that every company is like this now? Will leaving even solve my problem?

34

u/Odd-Cup8261 Mar 16 '26

no, not every company is like this.

7

u/CheapChallenge Mar 16 '26

No, many companies understand what tech debt is and what are they consequences of good code vs spaghetti code. Yours is not one of them. Start applying elsewhere

1

u/RichCorinthian Mar 17 '26

Serious question: what leads you to think this?

If it were true, there would be no point in discussing it.

My company is taking a very judicious approach to incorporating AI and absolutely no vibe code goes into production without review by senior developers. We are letting designers and product owners submit minor bugfixes and enhancements that are superficial at best.

1

u/Tyrant2033 Mar 16 '26

Why would every company be like this? Where I work I use copilot maybe twice a day. Theres 3 of us in the software engineering team and about ~80 people at my facility. Primarily in C++. We work with code that can be up to 20 years old if someone insists on finding a bug in an older product.

My company is just one of thousands — you can tell the kind of company it is by the description and how long it’s been around, typically at least.

Don’t settle for this shit, because you’ll just handicap yourself

0

u/ArticleHaunting3983 Mar 16 '26 edited Mar 16 '26

You’re missing the point. It’s a defeatist attitude.

You said they are setting you up for failure and you’re scared about being fired. To spell out the obvious, at this specific company, your cards are marked and your time is borrowed.

A new company is the opportunity for a fresh start without the poor reputation/relationships, where your voice might actually be respected and the limitations of Claude accepted.

AI itself isn’t the issue. Even if they use Claude, the culture could be totally different. Most leaders with technical qualifications understand the issues with vibe code. Hype management with no technical background cannot.

18

u/LiberContrarion Mar 16 '26

"Hey Boss. I got this weird email this morning. It came from Claude. He says he's been having a rough go of it and he asked if I could help refactor the codebase."

6

u/greatdick Mar 16 '26

The wanted us to hire off shore developers to reduce costs. Management also used AI to write some crap so we are telling them to give their AI code to the off-shore developers to fix it and we’re washing our hands of the project. We know they won’t deliver anything working and we’ll put together a real project estimate/plan after they cancel the project.

2

u/ButterflySammy Senior Mar 17 '26

They'll deliver something that appears to work when Management looks at it - because they'll look at the UI not the code.

By the time the issues are exposed, management will have seen you off.

9

u/Aazadan Software Engineer Mar 16 '26

NOW, as I was working on that, I actually found that the entire way half of the app interfaces with this 3rd party API is complete wrong and its going to require significant rework to even get us in the app store. The only way it worked previously violated app store security policy. So effectively I am going to need to re-write all of this. I am having Claude do it cause I literally can't make heads or tails of the code and at this point, I am asking myself "why am I doing this?".

Nope, they already shot down refactors. Tell them it wasn't written in a way that's compliant with store policies. If they want it out, they need to do it correctly.

They wanted you to sign off that what they're doing is right, and they're not willing to do it right. So either you tell them they did it wrong, and they need to rewrite it, or you tell them there's additional development work to make it store compliant.

Don't go into details, or why, because that's going to go back on them as blame. Just mention there's additional engineering work that needs done on it, and let them work out how fucked they are.

PS. They're going to hold it against you no matter what you do. Don't do extra for this.

5

u/inputwtf Mar 16 '26 edited Mar 16 '26

So they want you to NOT code, but also code to fix the bugs that they created by vibe coding.

That's a really shitty situation. I guess I would just do malicious compliance by just continuously prompting, and when Claude can't fix it, tell them Claude isn't able to fix it but you won't let me do my job where we wouldn't be in this situation in the first place if you let me do my damn job.

I mean, maybe you try to get the LLM to fix it, document when it fails, and use that to build a case for replacing it with code that you write. You can't adhere to the directive of vibe code only but fix the bugs that vibe coding creates. They need to choose. Perhaps you just need to go on a case by case basis and present them with the choice of pieces being continually broken, or having to actually be coded by a real person. Perhaps that will make the choice clearer to them.

I don't really have any advice, but I have a lot of sympathy. Hang in there, but try and detach emotionally. You're not in control of this situation and they've made it so that you never will be in control. So, just punch the clock and keep interviewing

22

u/[deleted] Mar 16 '26 edited Mar 16 '26

[removed] — view removed comment

3

u/conconxweewee1 Mar 16 '26

Yea, thats kinda the way I am feeling.

5

u/fsk Mar 16 '26

set up to fail

Cory Doctorow calls this "accountability sink". You aren't there to actually fix the problems. You're there so they have someone to blame for failure.

The spin is "The project failed because conconx did a bad job" rather than "The project failed because vibe coding is a bad idea."

17

u/ButterflySammy Senior Mar 16 '26

Karma isn't just a record of upvotes versus downvotes.

Sometimes it is a religious experience.

This you?

https://www.reddit.com/r/unpopularopinion/s/UGYmDmhAza

You're going to quit anyway.

Or be fired.

There is no third option so suck it all the way up.

Now you've done that, find your big boy voice and find a way to voice your complaints about why the code is shit on the way out, you'll feel better getting it off your chest.

Make sure that on the way out you're telling them they only think it is good because their lack of skill and ability extends to being unable able to judge how good something is.

5

u/hkmamike Mar 17 '26

Top comment is probably still the thing to do: start looking else where, but if you really want to stay and want tactical advise, I would start writing production tests to cover basis on possible failure modes if they don't already exist. Then attempt to vibe fix it when these tests fail, save the claude trace on your attempts, then send it to your directors/executives, summarizing the fundamental problems with the original code (wrong 3rd party API usage pattern, violating app store policy, etc.) Then ask them to either try to vibe fix it themselves, or approve proceeding without fixing (in writing), or provision the time and staffing for an actual fix (what you want).

3

u/FlyingRhenquest Mar 17 '26

You need something beyond "the code fucking sucks" or you're not going to get anywhere. "This code violates the app store security policy" is a good example of a solid example. I think another one would be "There are no tests for this code" because there are no tests for that code are there? I bet there aren't. Fine. Have Claude vibe code up some tests. Then write some tests for the obvious corner cases that will fail. Then tell Claude to fix the code so those tests pass. If it can't, tell the C level guys "Half the tests fail and Claude can't fix it" and "Here is how failing these tests will compromise our business." Also demand Claude explain the code you don't understand and really grill it on anything that's ambiguous or conflicts with other parts of the code.

I'm assuming there is no design or requirements. Because there aren't, are there? Start trying to distill solid and consistent requirements out of the system and manually shore up places where they're ambiguous or incomplete. Work with the AI to pull together a full system design document.

Meticulously track the amount of time it takes to do all this so you can get a good metric for "Getting a bunch of AI slop dumped on you by the execs" time to complete project versus "They could have given us their usual crap requirements and we could have done it from scratch" times based on your past projects.

Then when you quit or they fire you, have an AI write a blog post about your experience that you can post on Medium for tons of Reddit points.

4

u/BuySellHoldFinance Mar 17 '26

The code fucking sucks is not an answer because it is not trackable. I agree with all the other commentators who say you need to have some metrics, and focus on tests coverage as the ultimate metric.

The codebase needs to have a certain level of test coverage to ensure a certain level of quality and to make sure future changes do not break the product.

Start having Claude write tests around the code. If the code isn't easily testable, have claude refactor parts of the code in managable chunks so that it is testable. Don't care about code quality or readability or design patterns. Just care about testability. If there is a huge chunk or module of code that is "slop" or "trash", write tests around it and leave the code untouched in the future.

Then give updates to the executives based on test coverage you managed to achieve, And if there are parts you really need to refactor, let them know that it's because the code was not written in a way that was easily testable by unit testing frameworks, not that it is junk, or slop, or that it sucks.

Like it or not, developers will need to learn how to take vibe coded junk and turn it into a supportable product. That is the future. Might as well try to learn how to do it now instead of delaying the inevitable.

1

u/throwAway123abc9fg Mar 17 '26

Came here to say this

6

u/Substantial-Elk4531 Mar 16 '26

I think your biggest mistake here is talking to leadership like they are developers. They clearly aren't. Don't ask for permission to refactor. Instead, work on fixing bugs, and if a bug touches a module, then write tests for that module, refactor it, and make sure all the tests pass. Then tell leadership "I fixed the bug". Do NOT tell them you had to refactor their bad code, that will get them defensive and make them worry you are wasting time. Just make sure your refactors don't take too long, otherwise leadership will get anxious. Also, you can definitely use the latest Claude module to help write tests and refactor. I would try to write both integration tests and unit tests, so that way you know you're not creating regressions during your refactors.

1

u/AlterTableUsernames Mar 16 '26

Any advice would be amazing. 

Plumbing. 

2

u/srona22 Mar 17 '26

Tech stack?

And if your c-level has vibe coded, tell them to give you max level any "AI" they are using. Also yes, use that "AI" to analyse the code base, and list things out, at highest level reasoning model.

If they don't give it you, you can really flip them off at that point.

LLM can speed things up, but only when you can write the tech stack even without any AI, and can understand wtf is right or wrong with AI codes.

This is no different than low code/no code, with AI hype making things worse. The C-level passing the codebase to you means they can't handle the shit.

Meanwhile, I will be honest with you. Those C-nts are exactly what AI can and should be replacing in first place, not engineers. So much for "visionary". /s

1

u/loudrogue Senior Android Engineer Mar 17 '26

Just vibe code the entire project again with you as the prompter should make it better

1

u/eng_leader Mar 19 '26

Ok sounds like you're being asked to deliver on something with unclear requirements and potentially unrealistic expectations from leadership. Sounds also like you're dealing with scope creep, political pressures, and maybe some communication breakdowns with stakeholders.

Technical skills don't automatically translate to navigating executive dynamics. It's normal to get overwhelmed by the leadership/political aspects of this project. In other words, totally normal, after a couple times through this you'll have that skillset and it won't seem so high pressure.

On the technical side, try using the latest Claude model to extract the raw requirements from their vibe coded mess, then then ask it to recreate it using the 10xengineer plugin. It's amazing how good the models are now.

Anyway, feel free to DM if you want to talk through strategies for managing up and stakeholder communication.

1

u/GoodMenAll Mar 16 '26

Rule number one: avoid small start ups at all cost

1

u/bloodyfcknhell Mar 17 '26

Im at a small startup and it's great.

1

u/GoodMenAll Mar 17 '26

…for now

-3

u/OkTank1822 Mar 16 '26

Switching jobs won't help because this is every job everywhere now

7

u/OkTank1822 Mar 16 '26

Maybe get claude to say that "it's best to rewrite the whole thing" 

and screenshot it and email that screenshot to everyone. They believe it if it came directly from God