This description is the better one: https://www.nair.sh/guides-and-opinions/communicating-your-e...
https://news.ycombinator.com/newsguidelines.html
p.s. We've had to ask you this before: https://news.ycombinator.com/item?id=47103856. If you'd please review the guidelines and take the intended spirit of the site to heart, we'd be grateful.
Also what's wrong with "code is a liability"? That's just 100 % true. The idea isn't exactly novel or revealing, but it's also really fundamental. Every line of code is a liability from day one.
The comment you replied to used that as a reminder and as an opening to an actual argument, it wasn't just a knee-jerk reaction.
Code that enables a company to generate revenue is an asset.
Code is an asset.
Code that can be sold for more than it cost to generate is an asset.
Also note that even when a line of code is generating revenue, it never stops being a liability in almost every sense of the word. Testing it still costs money and time, understanding it costs cognitive power, having it in the context of your LLM coding agent costs tokens, and that's assuming it's a good line of code. If it's bad code (badly named, badly placed, a logic chain that works but has hidden flaws), the costs increase and reverberate throughout the codebase (and your AI coding sessions).
Code is a liability - yes with an and / no with a but.
I’m sure volumes have been written amount, and there’s roughly an infinite amount of nuance to be talked about over a few drinks and a smoke.
I don't think most engineers really disagree with this. Saying code is a liability is technically incorrect but pithy shorthand to communicate that it comes with the associated baggage of maintenance, obligation, and risk; these things suck up money the same way a liability does. Tech debt is also not real debt. It's a figure of speech.
The asset has inherent liabilities. A codebase can be reasoned about extremely similarly
Your asset might generate $10k a month in revenue, but at the same time may have a high chance of needing a $100k investment in upgrades and repairs to remain productive.
I can imagine that if you’re a startup and want to try new features quickly, it makes sense to say yes more. But the senior mentioned in the article will also be able to understand that.
The funny part is some top comments are saying this article is straw man and the rest of them are just proving the archetype is very real.
"End of ZIRP and the raise of just-say-no engineers": with capital being more expensive companies need to invest it wisely, therefore the need the judgement of the just-say-no engineer to avoid blowing it on unnecessary stuff.
https://lalitm.com/post/why-senior-engineers-let-bad-project...
I was reading the article, and as it went on I increasingly thought "This is one of those articles that sounds like it's saying something insightful ('it has all the right lingo! ZIRP era! Just-say-no engineers!'), but then when you dig deeper, it doesn't resonate with my experience at all when I was knee deep in software engineering in those years, nor do I feel that it in any way accurately diagnoses the immense changes that are currently happening with AI." In other words, it sounds like buzzword bullshit to me, and in the absence of a downvote button on stories, I'm glad the community is calling it out.
Well, it's a take. This is pretty cynical.
It sounds cynical in retrospect; at the time the same set of facts were explained differently, in a way that didn’t hurt people feelings.
At the FAANG I was at, we were pushed to interview interview interview, and the company tripled in size in two years.
We constantly questioned the motive for more engineers, when we had plenty already, constantly seeking alignment. The rationale was more engineers meant we could make more products more quickly.
It never worked, and caused huge headaches that never really went away. It didn't help that team size was made a specific goal of a number of VPs. So it because a goal to grow team size, rather than a business need
And because the VPs were doing it, a whole bunch of people down the hill started copying then, using team size as a forcing function for power.
And if competitors were in the same boat, why bother hiring these people at all?
Cheaper to just lock up the talent and burn the wages. Bit of a ding to your books, big ding to your competitor's capability.
In saying that, it's a terrible practice. Massive waste of time, opportunity, talent and money.
Suppose an established org (N) got disrupted by a startup (N+1) because the startup was able to do things faster and cheaper. Once the startup becomes the established org themselves and slows down a bit, they are exposed to the same risk, unless they hire all the smart people (who would otherwise be hired by N+2 startup) and buy out all the N+2 companies who actually managed to do something despite having less money. Eventually it becomes too expensive and there is a good excuse to fire all those people. I don't think it's 100% of what is happening, but it could be.
Is someone at Facebook working on the Metaverse a crucial part of prototyping new business models, or are they doing busywork? It'll only be clear in hindsight.
Another great post on this blog. I need to go back and read some other posts I've missed / that didn't make the front page of HN.
I wonder if she is the same ZIRP person this article is talking about.
Love the concept of the 'just-say-yes' engineer vs 'just-say-no' engineer (and corresponding prioritisation of MTTR over MTBF).
I'm definitely a 'just-say-yes' with the caveat that bad architectural choices can be super painful to fix later, and features become a lot harder to fix when they have users as opposed to before launch (so I'm a little bit 'just-say-no', or at least 'just-think-for-a-bit-first').
I also think the balance between 'just-say-yes' and 'just-say-no' really depends a lot on the project. If it's finance or healthcare, perhaps 'no' by default is best. But if it's a silly startup idea, YOLO.
Disaster's a possibility. But if an idea has a 1% chance of success, "just say no" usually assures failure, whereas "just say yes" is a shot at that 1% chance.
Erm, what's known of the mechanism coupling software engineer head count and stock price? Or is it just an empirically observed phenomena?
Probably because there isn’t actually an increase in demand for the capabilities of software, and engineers, product managers, and UI/UX designers are justifying the existence of their jobs by complicating software more than necessary.
Anyway, the essence of the article is that a “just say no” engineer is a person who knows how to use and enforce constraints so that complex systems remain manageable in the long-term; and that companies perceive such engineers to be irrelevant as AI coding tools become more mainstream.
I think that that has definitely happened, even with my own employer, but I think that companies of the same mindset just don’t have strong engineering cultures to begin with, and will be natural selected into oblivion during this wave of disruption, which already coincides with a prolonged period of economic uncertainty to begin with.
AI tools are great, but they are only as good as your people’s discernment. If you’re making AI adoption a KPI in your company, you’ve already lost sight of what your business is really about, and you’ll be bankrupt by your token spending before you can beat your competition.
This tech is quite useful, and I wish we focused on how to work with the tool better and improved our processes around it instead of treating the symptoms.
There no end to what you can do, but the question is how much time you devote to that versus your actual project.
Holy cow. I worked at a big tech firm but left the industry prior to the emergence of InstructGPT et al., so I haven't experienced LLM code generation from the inside. Is this really happening -- upper managers and VPs proposing code changes they generated with LLMs? I don't think I'd survive.
(To be fair, he did build liquid and much of Shopify himself at the start of the company so he's not exactly inexperienced, but still.)
One aspect that still bothers me is that you claim the just-say-no-engineer "was a critical role during ZIRP." I might be in the minority here, but I don't hold that same stance. I wonder if I am alone in that?
Actually I suspect they are just massively sidelined in software in general because of how few regulations exist
The "just say no" engineer is someone who thrives in regulated environments, because (enforced) regulations are the only things that actually slow down the growth at all costs minded PMs in the world. And even then only sometimes
We like to dress up in suits, but we're all apes afraid of shapes in the clouds.
Second, is there any evidence for more or less gatekeeping?
Or evidence that there were relatively more "pure-engineering" projects? (Though one would expect that for the new technologies and markets. The green fields migrated from scale to data science and AI.)
Finally, wouldn't more gatekeeping be required when AI reduces the cost of making concrete tech proposals?
This seems not connected to facts or compelling in theory, but it does touch on anecdotal and emotional truths. I believe the writer could do better. (More, I believe HN readers should insist on writers doing better, to raise quality and offer harder challenges to people.)
Uhm, no? You got it exactly backwards. Tech debt isn't the same as interest payments, tech debt is a future productivity decline, whereas interest payments require you to pay more than the initial money you borrowed.
If debt is expensive, then your goal is to pay it off quickly, since debt scales with the remaining principal and grows with interest. This means that you want to cut corners everywhere and incur tech debt. You do not want a long term investment in high quality standards and build robust infrastructure. Doing that will delay the payoff day. Each early payments reduce the principal, which reduces future interest payments.
In other words, it's a terrible time to have high quality standards and build robust infrastructure. There also won't be a "next growth wave", because the growth wave is now. You're about to miss it if you invest in the long term.
in some orgs it was a good excuse to cut the underperformers. these folks wouldnt deliver 10x value with AI, they would either deliver 0x or -10x (with contributions that the just say no engineer would have normally said no to)
I guess not every service or product needs 20x the value. That depends on the market segment, market maturity, and actual demand.
I'm sure this won't be popular but a lot of "SRE" teams were definitely ZIRP phenomenon, heh.
But, I would gently point out that people are actively looking to move away from github because its unreliably
People hate shit when its not working, we are in a bubble where people allow AI products to have shit outcomes, because they either sound human, or do amazing things most of the time (generate that image, sort out that spreadsheet, generate that code or answer that question)
Right now a lot of people are designing https://www.wired.com/2014/07/homer-simpson-car/ thee homer simpson car.
Because, ironically, there is lots of money about to subsidise anything with an AI sheen (how very ZIRP) people are making all sorts of shit with it. Some times it produces value. A lot of the time it doesn't.
If we take a step away from SWE opinion and talked to the product users, I think you'll find they just want that one feature they use your thing to work, they want those bugs to be fixed, and they want your product to work when they need it. They don't give a shit about AI, they fucking hate your redesign, and they really really get pissed off when you move stuff about and re-name it.
And, fundamentally, in countries with employee rights, as an employee I do not give two shits about interest rates the company I work at borrows on. My philosophy on software design does not change. You can argue that the company might pick and choose who it makes redundant, and they might value people who produce "more product", but companies have always valued that visibility. It's your responsibility, if you care, to sell your actions in a commercial context. I don't think ZIRP changes that, and I have not personally noticed a change there.
Apparently ZIRP was the era of abundance and of codebases growing rapidly and:
> with so many engineers running wild, how would they keep their systems from becoming completely unmanageable? Enter the just-say-no engineer.
So before "AI", the just-say-no engineer was a vital part of the system who was preventing it from getting overrun by (human-generated) slop. Good.
If ZIRP had not ended (but with AI):
> this would be a glorious moment for the just-say-no engineers. LLMs would have thrown fuel on the “engineers running wild” problem that the just-say-no engineers were empowered to solve. Tech companies, unable to publicly or privately cast doubt on AI-assisted coding, would have relied heavily on these engineers to prevent the tsunami of AI code from swamping the entire company.
Again, the just-say-no engineered would have been a vital part of the system shielding it from the influx of slop. And apparently this scenario isn't what's happening, because ZIRP had ended. Okay, what next?
> LLMs are adding insult to injury for the just-say-no engineer. They’re forced to watch while other engineers merge AI-generated PRs that would previously have been blocked, and are told to use the tools themselves
So even though ZIRP had ended and we've avoided the slopocalypse, the teams (now reduced by layoffs but augmented with AI) are still adding slop, even the traditional gatekeepers (just-say-nos) are now being actively forced to add slop and suddenly, none of that is a problem?
I'm simply not following.
Another example is password complexity rules, we try to use latest recommendations with no forcing of PW change, no requirements beside length - but then there will be customer that will make fuss that we don’t have it as as it is compliance check box to have complex PW.
Skipping code reviews and the poor code that can happen because nobody took a second look - that's more of a problem. Because 6-12 months down the line, there's not a few bugs that need to be fixed. Instead, there's a horrible code base that causes all _future_ development to be a lot slower.
[Budget proposal officer]: "Here is the new cleaning budget"
[CEO]: "looks around the office, the office is clean, why do we need cleaners? much less expensive cleaners"
[Budget proposal officer]: "The cleaners keep the office clean though"
[CEO]: "Nonsense! I read a substack about this, lets get rid of the cleaners"
//Six months later in an ALL hands//
[CEO]: "Look I know that we have had issues, The washing facilities were sub standard, and in some cases people were poisoned by poor hygene. We have insistuted a new mandatory training called `keeping the office clean, you're the first link in the chain` to help keep everyone happy and healthy"
No one is forbidding reviews.
But if you have a junior pushing code that can cause unrecoverable data loss his code should be reviewed.
First, i dont think the low interest rates did that much for “tech companies” who were already cash cows which is usually the bench most people speak about. Small companies already operated in a no free money era as they never had the capital access to begin with.
Covid had a big hiring spike in tech and then it sloft off once rates went up. More of an excuse than real market conditions although startup, for sure impacted. Lets not even start with the political “org building” that still drives the “no” mindset today.
Second, ai has now been in the mix for at least a year now where it is objectively useful. I have not seen a single project complete faster than it would have pre ai. Stability is a wash trending to worse than pre AI.
The rigor is what is see draining slowly. You can be fast, say yes, and use ai all while maintaining some kind of quality bar.
And there it is.
Engineers have known that bad engineering cultures cause tiny errors and imprecise code to compound into systemic problems.
Why is this suddenly not a problem? If your AI agent is wrong 5% of the time, what do you think happens when you run it a 1000 times?
Whatever you want to say the current market is, it's nothing like the early 2010s.
The ZIRPmania of 2021 was certainly dependent upon what came before it but it wasn’t a natural outcome, it needed the economic chaos of the pandemic, it would not have happened without the pandemic.
There are plenty of slow moving projects that focus on the stability of the codebase if you work for a business that isn't a "tech company" and work on services instead of products.
I'm so tired of startups.
The OP even acknowledges this:
> Ironically, if ZIRP had not ended, this would be a glorious moment for the just-say-no engineers.
But then never explains what ZIRP actually has to do with it. Why does the end of ZIRP change anything?
it also coincided with rate hikes
it coincided with ChatGPT launch, which was incapable of replacing engineers at the time
it coincided with a tech bear market
it coincided with a crypto implosion and web3 bear market as well, which a variety of engineers were involved with or had asset exposure to
the R&D tax credit lapse I think was the biggest one, while the smallest headline. and therefore I think making a whole blog post about the rate hikes exclusively is grasping at straws
People don’t realize the breadth of the impact of the low rates and quantitative easing policies.
This stuff clearly helped navigate the 2008 crisis. But the cost is huge: bubbles everywhere, inequalities through the roof, spiralling government debt.
And while the interest rates have gone up, bank reserves are still nowhere near their pre-2008 levels.
Unfortunately, the way the monetary system works is quite difficult to understand, and is unlikely to ever enter the political debate.
You need someone to say: this shit is not going to prod, unless its value is obvious to everyone
This is what the original article and most comments are missing here in my opinion. Theories of value matter: https://en.wikipedia.org/wiki/Value_(economics)#Theories . To some degree I might agree with subjective value theory, so in essence everyone values things differently.
However as a framework it describes outcomes without being able to critique them, so whatever happens in a market gets called efficient by definition, including monopoly rents, regulatory capture and the steady drift of returns from labor to capital.
In my opinion labor theory of value describes the underlying relation correctly. The fundamental relation is between employer and employee and the structural goal of that relation becomes extraction of surplus. Customers and product quality enter only as the means through which surplus gets realized.
Once you see it this way, the just-say-no engineer situation makes sense without bringing ZIRP into it. They were doing customer-facing work, defending product quality, inside a structure that doesn't actually want it. They were tolerated, not central. When tolerance shrank, so did they. Good products are incidental to extraction, sometimes useful for it, sometimes in the way.
Citation needed. In fact, I find the utter opposite - the pivots are happening hard and fast, planning is taking a major back seat, and it’s a ship with speed and look good and be visible at all costs mentality.
The truth is the guardrails are being ignored in the frenzy. Style is winning over substance. I think if you revisit this hot take in a year it’ll have aged so poorly it will seem like a parody.
Many goals companies want to reach are taking place in the real world. But some are not — and I wonder whether the latter may not sometimes be the actual issue. Money boys playing virtual money games while stopping to care about the real physical world just need someone to go along, so their latest Potemkin village can be painted in the color of the season quickly before Paris fashion week.
Ah yes. And.. where are those?
In the 1990s (and earlier) and 2000s startups were "rebels", almost countercultural (to Corporate America at least). Think about the famous 1984 Macintosh ad that evoked George Orwell. There's a famous story about Steve Jobs remembering a magazine called the Whole Earth Catalog from the 1970s with a picture captioned "Stay hungry, stay foolish". If you listen to Steve Jobs talk about Corporate America, he talks about John Scully or Xerox where conformity ruled. NOthing really challenged the status quo. Nobody really cared about products. Everything was run by accountants, finance people and sales people.
This attitude persisted into the 2010s. Google was quite famous up until that time for shipping when ready, basically. Decisions were engineering-driven rather than being driven by launch dates, product goals, marketing, finance, sales or quarterly earnings. They famously studied what made teams successful with Project Aristotle [1] and concluded that the number one factor was psychological safety.
In the 2020s we have a vastly different picture of neurodivergence than existed in the 2000s and even the 2010s. A lot of the people who found success at Google. Famous examples include the likes of Urs Holzle who famously wrote a user manual [2] for interacting with him. Many of these people did not or would not survive let alone flourish in Corporate America. Why? Because it's a social/political game almost entirely divorced from output. Google's technical infrastructure remains top-notch to this day. They're still coasting on that inertia and what Urs built, both technically and culturally.
But Google slowly dismantled all that. Careers got formalized into job ladders. Getting promoted got harder (eg compare getting promoted to Staff Engineer in 2010 vs 2025). They added stack ranking, which is just a popularity contest and reeks of the Corporate America social/political capital (and I'll die on that hill).
But worst of all (IMHO) was the change in the 2020s that moved from job security (and thus psychological safety) to Corporate America's "up or out" approach. I'm talking of course of about permanent mass layoffs. I cannot begin to describe to you how toxic of an environment that is by comparison. Nitpickers might point out that engineers always had an "up or out" to Senior SWE but it's not the same.
There were other initiatives too like the new CFO Ruth Porat changing the promotion percentages (because nobody had any visibility into that), reducing discretionary equity, etc.
Did Google need to do any of this? At differen ttimes during all this the annual profit per employee was hovering around $1 million. So the answer is "no".
But the fate of any company is that it gets sufficiently large where the only way to keep growing profits is to raise prices or cut costs and for a tech company, labor costs are a major part of the cost structure.
This isn't a Google-specific issue. Google is just a bellwether for the entire industry. The mass layoffs all started about the same time when interest rates were still zero I might add. It's not the first time the industry has engaged in collusion eg [3].
Google to me feels like the new Boeing. Boeing coasted for many years on the 747 and 737 also became a major defense contractor. That inertia took them a long way but there are cracks. The 737MAX was a debacle. The 787 was an outsourcing shitshow.
And hey look where Intel is compared to even 10 years ago. It would be unimaginable given their decades of lithography and engineering dominance. But it's like the move to 10nm just completely broke them and they never recovered.
So I reject that this was a ZIRP issue of being engineering-driven (which is really what we're talking about here). After all, that wasn't a thing before 2008 either.
[1]: https://psychsafety.com/googles-project-aristotle/
[2]: https://codenote.net/en/posts/6191/
[3]: https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_L...
The "just say no" phenotype of engineers believe these things generally (from my experience)
- thinks cloud is a psyop by the big tech people to fool companies into being locked in
- thinks everything companies do is to fool the stock market and prop up stocks
- thinks tech ecosystem was at its peak during their time and ever since then it has become overly complicated mess
- thinks that AI is hyped and will just becoming a passing thing in a few months
- simultaneously believes both that no new features are required in their product because it complicates things but also thinks layoffs shouldn’t be done (what would employees do?)
- believes in conspiracy theories like “bullshit jobs” but doesn’t realise the irony
- believes in things like “enshittification” and is generally pessimistic about the state of tech
There are lots of good things about these engineers as well to be fair
- generally smarter in a narrow sense and can spot out unneeded complexity
- they are the people to go to for hard technical issues
- they do, to be fair, care about their code base which I see less in others
- though dogmatic at times with dev principles, they bring a father like pseudo wise vibe to the team that makes it feel like a family
They strongly despise NoSQL and think a single MySQL instance is totally okay for their multi billion dollar company with 100k reads and 1k writes per second and NoSQL was a pushed by Big Cloud TM.