CiscoGundamSeed

Team chose to rewrite code, and now we're kinda f***

Basically, we use envoy as our proxy and our team needs to support a new protocol that envoy doesn't support. I voted to write a custom plugin/extension to envoy to support this new protocol. But the rest of the team wanted to "write" a brand new proxy, from scratch, because they think it would be easier to debug issues since all of the code is written in-house. Discussions were getting heated, and in the end, we ended with a vote. Obviously I lost because everyone else wanted to write a brand new proxy. One month in and we're not getting anywhere. We're basically writing a new proxy with knowledge of tip of the iceberg. We have to go into beta after Thursday. We have a few happy paths working, but a long way until we're comfortable with this code in production What would you have preferred? Writing a plugin or rewriting a whole proxy? Tc 160

Poll
156 Participants
Select only one answer
Amazon eGvi26 Mar 25

What’s this for?

Cisco GundamSeed OP Mar 25

Proxy load balancer for a web application that cannot be on AWS or other cloud providers

Amazon no prob Mar 25

Seems insane to write a whole new thing for this

MongoDB Bh8jS Mar 25

Classic 😂

Databricks hyuTvcdn Mar 25

If I were you, push for stronger momentum but interview asap

Cisco GundamSeed OP Mar 25

I tried, but we ended with a vote because the discussions weren't going anymore. And job market is so bad that I dono if jumping ship is even possible

Cisco js12b Mar 25

Aren’t there more senior technical leaders you could have brought into the discussion to help influence? This is a pretty big decision and risk to take. This is where you need to build that structure or network so you can have more people weigh in. At least then the risk is more widely understood if nothing else. I mean too late now it sounds like, but for the future.

Cisco dearleader Mar 25

This is why we’re fucked. The engineering leaders and directors push for shit like this. They rewrite shit just to rewrite shit. They’ll spend a year or more “staying busy” with this and later they’ll cheer they delivered a another sandwich. This needs to end and the engineering leaders that do this fired. There is one in particular that needs to go for not delivering what he’s supposed to and that’s JR. He’ll do anything but what he’s supposed to including take ideas from everyone and then let the whole team work on it as a learning experience while the main project burns. Also they insist everything be written bespoke in house. It’s nonsense.

Cisco GundamSeed OP Mar 25

Dono who JR is but he sounds toxic as f. I'm under jeetu

Cisco dearleader Mar 25

JR is the initials for the eng dir under Prabhat.

Cisco js12b Mar 25

A full fledged web proxy? What are we - Cloudflare? 😁 https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet Really depends on the use case. But without details I’d say - update your resume - the people who chose to write a proxy from scratch did it to update theirs. And get out before it’s a failure.

Cisco GundamSeed OP Mar 25

My org created a PaaS that does exactly what k8 does a few years ago and it's still running

Cisco js12b Mar 25

But did they do it before k8s was widely adopted? Then maybe… Or did they do it after, but do a better job than k8s in your opinion?

Netflix NFLXHDL Mar 25

Rewrite may not be the issue. But the estimate is off like shit. A techlead should have called out the risk

McKinsey sup3rbad1 Mar 25

This is what happens when you have too much democracy in team. Where was your architect in this discussion?

Cisco dearleader Mar 25

Knowing some of the eng teams we have the PE Archtect was voting for the rewrite for funzies.

Cisco GundamSeed OP Mar 25

The architect voted to rewrite. He's an old timer that doesn't know cloud or open source solutions. And everyone else is essentially sucking up to the architect

Cisco js12b Mar 25

Out of curiosity what protocol do you need that envoy doesn’t support?

ByteDance flying sfo Mar 25

That's not even a rewrite of your own code. That's a rewrite of an established product. It's like saying hey let's rewrite the OS cause I don't like this button.

Unity Apple ][ Mar 25

Just make sure you are not the scapegoat.