I get what you mean about the conflict of interest for consumer software, but I don’t think a product mindset is inherently toxic. It’s more a function of where you are in the enshittification cycle.
HN user
dasil003
Previously: Co-Founder and CTO MUBI
Now: HotelTonight / Airbnb
Web generalist with a product focus and wearer of many hats.
https://mubi.com/users/2
https://github.com/gtd
http://websaviour.com/
https://twitter.com/dasil003
[ my public key: https://keybase.io/gtd; my proof: https://keybase.io/gtd/sigs/LLH-bIciQfUgvlVI7-Xe0LaEIEZxOSA0zHYbjhCYiXU ]
The majority of people who use LLMs today never even heard of ML though a non-trivial percentage have heard that modern AI is powered by LLM. You can’t forget what you never knew. Such is the evolution of language when a formerly niche technical concept crosses the chasm to mass awareness.
Is this a rant from an abused 19-year old? The lack of anything resembling nuance or recognition that the world is complicated renders any of the accurate observations sterile and unactionable.
For example, any who says something like this can not expect to be taken seriously:
In my entire life, I have never known a parent that actually cared about his kids. Everyone had sent them to the torture chamber known as school, which to me, alone eliminates them
Some good points, but I think it still treats “tech” as too monolithic. It’s not simply that tech leaders made bad choices or that products are inevitably enshittified. If I had to summarize the root cause I’d say it’s that the scaling properties of tech have enabled capitalist and political excesses with a velocity and power never before seen, and it happened so quickly that we really haven’t had time to even understand what’s happening systematically, let alone update societal norms and governance to address the problems.
How can you separate those things? The changes happened because there were more people, and those people were valuable to market too. Hosting and moderation became more expensive, so that created a form of pressure as well. It's convenient to blame the producers (I hate Facebook as much as anyone), but I don't think it's terribly useful to try to hold them accountable.
I believe the economic forces were more or less irresistible. In other words, if the current powers that be had behaved more ethically according to early internet norms, the only thing that would be different is they would have lost in the market and been supplanted by equivalent mass consumer oriented companies pursuing the same enshittification cycle we dislike.
I don't think this can change unless there is a cultural shift away from worshipping at the altar of raw capitalism and GDP at the expense of everything else. The way our political discourse and regulatory capture have evolved recently I am not super optimistic, though I do think the mass hatred of AI across political lines does offer a glimmer of hope.
I'd wager that if a manager says that they want you to take it more like a real marathon and less like long hike.
Just realized zombo.com recently got a major update
You make it sound like a conspiracy but the article clearly argues that this is what the people want. If there really was that much centralized control then crypto would have been much bigger.
This smells more like the fluidity of what people mean by “junior” more than anything else. Journeymen engineers in their over-engineering phase, or even very “senior” expert programmers can suffer over fitting the product to their own mental model. The most senior judgment is to understand when an abstraction makes sense at a customer level, because that defines the durability of a business-logic abstraction.
Agreed, that's why I said used the phrasing "tend to". There's no silver bullet.
Huh? Hiring being broken has nothing to do with cost, it's a filtering problem. Even when there's no HR or bean counter in sight it's still hard. There's fundamentally limited signal you can extract from interviews, so there's very loose correlation to on-the-job performance. Saying it's a cost-cutting problem would just encourage more and longer interviews, which could actually work against you because high performers tend to have more options and will not jump through infinite hoops.
The call for CSS specialization strikes me as seriously misguided (even before agentic coding became a thing). Yes, web development is complex and you can’t know everything, but it is possible to learn what you need as you go and generally build up a strong high-level sense of what is possible and what approaches are reasonable for quality. But web development is not rocket science. Someone with CSS skills but not JS or probably some backend sensibilities as well is just not very useful. Being a software engineer inherently means comfort with change, it’s definitely a field that comes with a lot of challenge and potential for burnout if you don’t take care of yourself, but atomization of roles is definitely not the answer.
I think it was a joke
I don't really understand what you're nitpicking, the rule is "don't feign surprise". It seems perfectly well-stated to capture the spirit of the intent, and it explicitly allows for genuine surprise as you suggest.
Now, human interaction is squishy, so yeah, they are also trying to cover the all-too-common-in-tech case where someone is just being an asshole. Let's call it the Comic Book Guy case. In this case, it actually doesn't matter whether surprise is feigned or not, because what's actually happening is this person is listening and waiting for someone to express a blind spot so they can prove their intelligence by correcting them. You can't really write down an explicit deterministic rule for this, because it's all cognitive behavior social stuff that people are generally unaware of moment to moment. However the recurse center rules plus live feedback when it happens is as good of a solution as I can imagine.
I agree with you there's a lot of gatekeeping around "passion" for tech. I don't like that framing, but having seen the effect of success and the type of people it has brought into the industry that would never have even considered a few decades ago, I see why people look for supplemental signals, even if the ones they pick are wrong and effectively just shallow tribalism.
However I think this really misses the mark:
Probably one of the most ego-crushing realizations (if you're a nerd) is to discover that there are people out there MUCH more talented and higher performing than what you'll ever be, but with none of the obsession or pride. In other profession that's not really a topic. You can be a top performer in other professions, without a deep interest, clock out 4 daily, and never think about work outside work.
This is a strawman based around immature, fragile-ego individuals. There are plenty of nerds who realize intelligence, talent, and resourcefulness are completely orthogonal traits from interest in tech. The former is over-represented in online discourse, and the latter is more common in engineering leadership in top companies. You can't really be a top-performer in any large-scale effort without realizing that there are top performers in all domains, and they have insights you don't have. You can't do great things if you don't leave space to learn about your own blind spots, and have a productive dialogue with people who have a completely different mental framework than you.
Who cares if it might be illegal or the spirit of the law frowns on what we do?
Surely these things are on a moral and ethical continuum and we need to look at them individually? Pretty much every person has broken some law at least once in their lives. I don’t disagree that moral ambivalence is often necessary to make billions, but I also don’t consider all laws sacrosanct, or that breaking the law is the primary measure of a company’s moral standing.
There is no conservative party in America because Trump has taken control of the Republican Party. He has no values except what is expedient for himself, any principled conservatives who speak up commit political suicide. Such is the world we live in when trust of institutions and expertise as eroded to the point that any acknowledgment of tradeoffs or nuance is met with knee jerk suspicion from the populace.
I think this is true when models were going from bad to pretty good like happened last year. But when they start to get good, and can work deeper and with more nuance, how you prompt also can change the results quite a bit. Note this is also true of asking smart humans to do things; personality and approaches vary, they don’t exist on a single axis continuum of quality
I agree we have more software than most people want, but I don't think bespoke software is the answer. Sure, that is an interesting new area that AI makes possible, but I don't think it's more than a niche because people don't fundamentally want software, they want certain problems to be solved, and if AI creates a custom solution and it doesn't work, they won't be able to get help from anyone. More fundamentally, there is value in standardization and polish on well-worn paths. Even if you're right and people do end up with personal AI driving everything, I still think the lower layers need to be standardized because of the nature of distributed data. For example, you still need to talk to your bank to get your financial state and automate any payments, and that stuff has to be rigorous, with strong consistency and accounting guarantees.
For these reasons, I think people are overestimating the end-state impact of AI. Right now the hype cycle is fierce, and it definitely changes the economics of producing software (with a lot of negative effects forcing adjustments in open source ways of working), but I don't think in the end state the core landscape of software changes all that much. Well worn and hardened infrastructure like the Linux kernel is infinitely more valuable than CRUD apps used with small user populations on the edge. User space libraries and frameworks fall somewhere in between. AI increases the volume of new software, yes, but I see it as mostly fractal bits filling in the margins.
There's no point debating people who are in a blind mania. Sometimes it's better to just keep your head down and focus on what you can control while "mistakes are made". You will be infinitely more appreciated once they acknowledge that help is needed.
It's odd to me how quickly the author devalues their own experience just because AI can do certain things well. There's a huge chasm between what AI can do when prompted by an expert software engineer vs a non-technical person. Sure the models and the tooling will get better, but it still needs to be driven by someone with an intuition for how software works and able to dig in when necessary to unpack and correct the hallucinations, misplaced assumptions, or straight up borked code that will come from the gap between what a human wants and what they can express in words.
I have no idea how things will play out, but so far I am not worried because the amount of software continues to increase, and AI only accelerates that trend. This will require the same mental modeling, first principles thinking, and relentless curiosity that already formed the foundation of the software engineer skillset.
I think this is right, but it can be stated more simply as companies hire to invest in growth, and they conduct layoffs when growth slows (not because of AI or "improved productivity"). Everything else is storytelling and emergent phenomena.
Incentives in companies are such that there is never a shortage of people pitching projects that require more headcount. Growth justifies the decision to hire more headcount, but the connection from increased headcount to growth is tenuous and usually difficult to impossible to demonstrate with any real confidence. It wasn't so difficult pre-industrialization, but mechanization, automation, computerization and now AI have progressively made it harder and harder to really understand the economics of labor. You do need to hire people to pursue new areas, but also every incremental person adds to communication overhead. The effects of this depend on the org structure and the operating environment over time, so what may have been a good idea at the time can flip to net negative due to outside forces beyond the control or foresight of any decision maker. This explains why companies do layoffs while still hiring at the same time.
You're misunderstanding the point, a CEO's control of the company is contingent on the boards approval. Yes, of course you can hold the standard for yourself, but you serve at the pleasure of the board and investors. The system selects for amorality because the incentive is profit. I agree with your statement in general, but even if 95% of people live by that rule, there still is systematic pressure to select CEOs out of the other 5%, because then 401k go up (including yours and mine).
As someone who has been CTO at a small company, senior leadership at a scaleup, and now middle management at a large co, I can tell you that what you are imagining is not structurally possible in our current system.
That's not say leaders here and there aren't thinking about what they're building and the macro effects, but you have to understand that unless you're bootstrapped and self-funded, even the most morally minded CEO is still beholden to investors who primarily care about money. You can only be as ethical as your board allows, and that primarily comes from profitability and financial success. In the good times its easy to talk a big game (eg. Google's "Don't be Evil"), but eventually competition comes for us all, and if your morality is hurting the bottom line you will be replaced. The backstop would be customer sentiment, but most buyers (whether B2B or B2C) are also not morally motivated. That's why free + ads is the dominant model, why micro payments failed despite years of techie hand-wringing, and paid consumer apps outside of streaming are vanishingly rare.
It's not all hopeless though. If things reach a high enough threshold of public sentiment then we can put legal and cultural pressure that will actually change things top-down. I think this is where AI is probably going as it's the most universally feared and hated impact across party lines that I have seen during my life, and the leaders in charge seem incredibly tone deaf about how it's being perceived, so I do expect regulation and softer forms of social enforcement to affect that trajectory. But if you're hoping for individual CEOs and leaders to fix our systemic problems, don't hold you're breath, they are just as replaceable as the workers under them.
In practice, Ruby is much more opinionated than Perl, mostly because of Rails being the catalyst to drive mass adoption of Ruby. So you basically have Rails, and then the RubyGems/Bundler package management was pretty linear. There's no equivalent of python2->python3 schism and the package management churn, and more stylistic continuity since ruby adoption is lower and more concentrated in the 2005-2015 time frame compared to python which had greater diversity of adoption and use cases both before and after the Web 2.0 era. I do feel pythons explicit imports and cultural aversion to meta programming win it some points. Overall though it kind of feels like a wash and I still choose the language based on the some criteria I would have used before agentic coding--claude does fine with either.
I'm all for fewer (and smaller) meetings, but there is a time and place for synchronous communication. Especially quick informal communication can be incredibly high leverage. Optimizing for heads down time is great if everyone knows exactly what they should be heads down on and thinks the same way, but that is not always the case.
If you call yourself a manager--which is a questionable role at startups--then you need to be optimizing for the entire output of the team. Rigidly declaring everything must be async text is no better than scrum by numbers.
Yeah this article is in a real uncanny valley for me where it has some insight, but it also throws out some wild ideas that don't pass the sniff test for me.
To me what AI is doing is changing the economics of human thought, but the change is happening way faster than individuals, let along organizations can absorb the implications. What I've seen is that AI magnifies the judgment of individuals who know how to use it, and so far it's mostly software engineers who have learned to use it most effectively because they are the ones able to develop an intuition about its limitations.
The idea of removing the human from the loop is nonsense. The question is more what loops matter, and how can AI speed them up. For instance, building more prototypes and one-off hacky tools is a great use of vibe coding, changing the core architecture of your critical business apps is not. AI has simultaneously increased my ability to call bullshit, while amplifying the amount of bullshit I have to sift through.
When the dust settles I don't really see that the value or importance of reading code has changed much. The whole reason agentic coding is successful is because code provides a precise specification that is both human and machine readable. The idea that we'll move from code to some new magical form of specification is just recycling the promise of COBOL, visual programming, Microsoft Access, ColdFusion, no-code tools, etc, to simplify programming. But actually the innovations that have moved the state of the art of professional programming forward, are the same ones that make agentic coding successful.
Man, as a young programmer coming up I really looked up to Paul Graham, but now as a seasoned vet in the industry, it's remarkable (and disappointing) to see him publish an article based on such a false equivalency. I mean this level of missing the forest-for-the-trees is the type of thing that routinely prevents senior engineers from getting promoted to staff because they're pedantically fixated on the wrong details. And that's on top of failing to read the room as to why people are even calling for a wealth tax in the first place.
The more obvious reason to not tax wealth is because it's hard to measure, and if you try to do it you will incentivize hiding it. Meanwhile, there are obvious obvious loopholes that the ultra-wealthy enjoy which could be reasonably closed. Namely, close the buy-borrow-die loophole, don't allow step-up basis for inherited wealth, and tax capital gains at least as much as income. Now people with a lot of money can afford to fund a lot of premium think tanks to come up with fancy economic reasoning why those ideas are Really Bad™, but at this point it's clear that's bullshit propaganda and the unintended consequences are exceedingly unlikely to be worse than the current unchecked consolidation of wealth and power enabled by the current loopholes.
I think this depends a lot on the task, the existing codebase, and the taste of the operator.
In general I tend to agree with you if you're talking a codebase you are deeply familiar with, the value-add from have agents write the code probably ranges from very small to negative in most cases.
On the other hand if you're trying to make changes in systems you are not familiar with, LLMs are a huge speed boost to folks with enough experience to sniff out what would be a bad path essentially via socratic method to the agent.
Obviously there are no silver bullets and no substitute for judgment. I will say though, I'll tradeoff ugly local code for good data models and interfaces any day of the week, and there is definitely an archetype of engineer that is very precious about code without good judgment on where it matters and where it doesn't.
In the age of AI you can't "undo the claims" for randos on the internet. I mean it was hard enough before, but at this point it's now a direct money -> speech pipeline. Reputation will matter more than ever before.