llm/3a862c31-848e-4e32-be93-99402d2b43b6/batch-9-c317f5dc-e28d-48a1-8a1d-301825e301a7-input.json
You are a comment classifier. Given a list of topics and a batch of comments, assign each comment to up to 3 of the most relevant topics.
TOPICS (use these 1-based indices):
1. Bugs Having Users at Scale
2. Automation Impact on Workers
3. Workplace Politics vs Technical Skills
4. Google's UX Quality Criticism
5. LLM-Assisted Writing Detection
6. Career Advancement and Networking
7. Clarity vs Cleverness in Code
8. User-Focused Engineering Culture
9. Innovation Tokens and Boring Technology
10. Abstraction and Complexity Management
11. Silent Resistance in Debates
12. Glue Work Recognition
13. Performance Optimization Strategies
14. Engineer-Customer Communication Barriers
15. Time vs Money Tradeoffs
16. Psychological Safety in Teams
17. Process and Bureaucracy Critique
18. Code Plagiarism Ethics
19. Big Tech Organizational Dysfunction
20. Goodhart's Law and Metrics Gaming
COMMENTS TO CLASSIFY:
[
{
"id": "46497279",
"text": "Your post is absolutely golden and it doesn't apply only at Google.\nI can't remember seeing so many deeply true statements together in one post.\nI'm sure many here will start to contest some of them but with enough experience they will also realize that the points were true."
}
,
{
"id": "46497190",
"text": "These lessons should be learned by every junior engineer and shared with every other engineer. I agree with the point, “Your network outlasts every job you’ll ever have,” that you mentioned. I literally know developers who aren’t actually good at what they do, but they always manage to find another job."
}
,
{
"id": "46490588",
"text": "> Bias towards action. Ship. …The quest for perfection is paralyzing.\n\nUnfortunately for users this is more often used as an excuse to ship buggy / badly done software."
}
,
{
"id": "46490001",
"text": "Usually there are nuggets of wisdom in lists shared like this but I feel like every lesson shared here has immense value.\n\n> \"remain skeptical of your own certainty\"\n> \"Model curiosity, and you get a team that actually learns.\"\n\nThese are two lessons that typically require battle scars to learn. For such big ideas to be summed into two sentences is pretty remarkable and puts to words lessons I wish I knew how to share. Amazing article, thanks for sharing!"
}
,
{
"id": "46490089",
"text": "I was going to skip the article until I read your comment, and wow! You’re totally right - my hard won understanding is there, including things I sort of knew but couldn’t put into words before. Going to share this with my adult kids."
}
,
{
"id": "46491920",
"text": "same usually, i read this and see this some flawed or hackneyed tripe.\nBut these ones are actually true and anyone who has had a long career and led people and product will resonate with many of them."
}
,
{
"id": "46497273",
"text": "#3 hit hard. You can edit a bad page, but you can't edit a blank one.\nI've wasted weeks overthinking architecture for things I'd never built. Shipping something ugly and learning from real feedback taught me more than any amount of planning.\nAlso #6 is underrated. Early on I thought good work speaks for itself. It doesn't. Took me years to realize decisions happen in rooms I'm not in. If no one can explain your impact when you're gone, it doesn't exist.\n\nThanks for sharing this."
}
,
{
"id": "46490471",
"text": "> Addy Osmani is a Software Engineer at Google working on Chrome and AI\n\nThanks for all the spyware in Chrome ig? And for many inane design decisions that favor usability over privacy and security?"
}
,
{
"id": "46496971",
"text": "> 1. The best engineers are obsessed with solving user problems."
}
,
{
"id": "46491451",
"text": ">Your job isn’t forever, but your network is.\n\nI'm very suspicious of this working in the modern technological age. Even in university I'm feeling this: it is hard to create a bond with real friends, but extremely easy to regress to anonymity and become a loner."
}
,
{
"id": "46496382",
"text": "Lesson 11 (Abstractions move complexity) and Lesson 20 (Time > Money) are two sides of the same coin.\nIn engineering, we talk about \"leaky abstractions\" in our code. But the biggest leaky abstraction is often our own health. We treat our bodies as a \"boring dependency\" that will always work, but burnout and RSI (Repetitive Strain Injury) are essentially the ultimate system outages.\nJust as \"Novelty is a loan\" (Lesson 5), neglecting your physical \"hardware\" early in your career is a high-interest loan that you end up repaying in your 40s. Real seniority isn't just about navigating people and politics—it's about managing your personal energy so you actually have the health to enjoy the \"compounding\" (Lesson 21) that comes at the end."
}
,
{
"id": "46497675",
"text": "Funny that there’s nothing to learn from working for an evil company, other than: keep your head down and don’t ask hard questions :/"
}
,
{
"id": "46489846",
"text": "14 years? Wild. I remember when Addy came into the scene hot with a new jQuery tutorial (what seemed like) every few days. To be clear, that's not a knock despite how it may read in 2026."
}
,
{
"id": "46494110",
"text": "This and the other top story on HN right now ( I charged $18k for a Static HTML Page) [0] make it clear the the most important thing as a software developer is jumping through hoops and being agreeable. It does not matter if it makes sense to you. I’ve come to accept that I can’t always predict what is actually valuable for the business and should just go with the flow and take their money. The leetcode-style interview selects for this by presenting as an arbitrary hoop you have to jump through.\n\n[0]: https://news.ycombinator.com/item?id=46469877"
}
,
{
"id": "46492665",
"text": "Aren't #2 and #14 mostly the same point? And they seem to indicate a rather unhealthy cultural dynamic. Amazon's \"Disagree and commit\" is a much healthier dynamic than \"Pretend to agree and then silently sabotage.\"\n\nI think there's a valid middle ground in finding a path that works well for everybody, but this does not seem to be the right way.\n\nI wonder if this is a common thing at Google because I recall another interview (can't find now, I think in the context of WebRTC??) from many years ago where an engineer proudly described how he conspired against a major technical decision because it didn't align with his personal preferences. I was a bit shocked to see someone admit something like that so publicly."
}
,
{
"id": "46491447",
"text": "Number 14 really speaks towards the subtle difference between being domineering in conversation and genuinely a sme in an area with little overlap in other people's domain knowledge. I feel like being extremely transparent in explaining the rationale and to a degree teaching really reinforces that boundary.\n\nIf you get to a point of silent resentment 'debt' in spite of efforts to empathise, consider perspective, and provide clarity, then you have a collaboration problem on the other end. How you choose to address that is dependent on your political capital, and sometimes you need to accept it.\n\nYoung me naively believed people were like rational automatons who would speak up when appropriate, not take thinga personal, and aspire to the true north that I aspired to as a colleague, and that is no baseline for a healthy collaboration."
}
,
{
"id": "46495825",
"text": "I agree to both 3) and 8) but I find it a dilemma that if you don't get it perfect the first time, you will waste thousands of man-hours for everyone to upgrade even though it only took you 10 minutes to release the new version."
}
,
{
"id": "46497205",
"text": "This is why AI won’t suddenly fully replace a software engineer."
}
,
{
"id": "46490285",
"text": "I think part of the importance of being a senior engineer is not spreading hype through the industry. This appears to be the guy who just posted all over social media that they just got Claude and redid a year long project in a week, followed by tweets from his eng team clarifying its just “demo” grade."
}
,
{
"id": "46490870",
"text": "> This appears to be the guy who just posted all over social media that they just got Claude and redid a year long project in a week\n\nIt would take less time than it did to write this comment to look it up and see that these are two different people.\n\nGoogle engineer [Jaana Dogan] says Claude Code built in one hour what her team spent a year on https://news.ycombinator.com/item?id=46477966"
}
,
{
"id": "46493149",
"text": "This is good. I worked at google and lasted less than 2 years. Many other things happening in that time - came in via acquisition, worked on backend for that, dad died, transitioned teams, etc. But I was 27-28 and couldn't really navigate that world after my first job at a startup. In some ways, I wish I'd found a way, but in other ways, I know it wasn't meant to be. It's a good list, if you want to do 10 years at Google or elsewhere, internalise that list and it's lessons."
}
,
{
"id": "46498190",
"text": "> 17. Your network outlasts every job you’ll ever have.\n\ni mean, addy has literally been at google 14 years, i think internal network has outweighed the external one here"
}
,
{
"id": "46490982",
"text": "There are many big bosses under the Google CEO that lead hordes of developers to specific targets-to-meet. Eventually they prioritise their bonuses and the individual goals deviate with every iteration. So the quality will diminish continuously."
}
,
{
"id": "46495684",
"text": "I am 70% sure this is partially ai generated.\n\nIt is furthermore hard to believe that the engineers are working for the users, given that google’s primary activities today are broad enshittification of their products.\n\nBecause of these two things I did not make it past point 4."
}
,
{
"id": "46496984",
"text": "It just reads like a very expensive AI which is very well prompted. I would love to interview him without his phone to see if he can reproduce even 5 of these points.\n\nI'm sure he's a super capable, experienced, and extremely well spoken person. There is no excuse of AI writing outside of writing that pays your bills."
}
,
{
"id": "46495100",
"text": "> Novelty is a loan you repay in outages\n\nIf you personally build all (or most) of the stuff, you are in an extreme vertical integration benefit situation. You can make huge system wide changes in ways that would not be possible without having done so much novel work."
}
,
{
"id": "46489640",
"text": "I like this one\n\n> At scale, even your bugs have users.\n\nSomething I discovered the hard way over many years of maintaining rclone. Fixing a bug has consequences and there are sometimes users depending on that bug!\n\nxkcd: https://xkcd.com/1172/"
}
,
{
"id": "46489689",
"text": "I know this as Hyrum's Law (which also comes from a Googler):\n\n\"With a sufficient number of users of an API,\nit does not matter what you promise in the contract:\nall observable behaviors of your system\nwill be depended on by somebody.\"\n\nhttps://www.hyrumslaw.com/"
}
,
{
"id": "46489699",
"text": "It's a good one: but it's also good to see that most of these are applicable to all kinds of organizations, not just \"Google Scale\" places."
}
,
{
"id": "46489673",
"text": "Thank you for your work on maintaining rclone! It is a wonderful and very underappreciated piece of software."
}
,
{
"id": "46491295",
"text": "It's frustrating to read this advice, which to me can be summarized as \"don't think too hard, dumb it down, keep it simple, be a people-person\" and then look at their hiring process full of advanced data structures and algorithms. Why hire top tech talent if you just need to keep a simple vibe and not over-think clever solutions?"
}
,
{
"id": "46490632",
"text": "I'm going to pick out 3 points:\n\n> 2. Being right is cheap. Getting to right together is the real work\n\n> 6. Your code doesn’t advocate for you. People do\n\n> 14. If you win every debate, you’re probably accumulating silent resistance\n\nThe common thread here is that in large organizations, your impact is largely measured by how much you're liked. It's completely vibes-based. Stack ranking (which Google used to have; not sure if it still does) just codifies popularity.\n\nWhat's the issue with that? People who are autistic tend to do really badly through no fault of their own. These systems are basically a selection filter for allistic people.\n\nThis comes up in PSC (\"perf\" at Meta, \"calibration\" elsewhere) where the exact same set of facts can be constructed as a win or a loss and the only difference is vibes. I've seen this time and time again.\n\nIn one case I saw a team of 6 go away and do nothing for 6 months then come back and shut down. If they're liked, \"we learned a lot\". If they're "
}
,
{
"id": "46493735",
"text": "> Abstractions don’t remove complexity. They move it to the day you’re on call.\n\nGold."
}
,
{
"id": "46495490",
"text": "Holy molly! This was a treat to read and should be mandatory to every senior and even management."
}
,
{
"id": "46491119",
"text": "Best part of the article?\n\n> but coordination costs grow geometrically\n\nUsing geometrically instead of exponentially! Thank you!!! :-D"
}
,
{
"id": "46491468",
"text": "Yes this is an exponentially better word choice!"
}
,
{
"id": "46493757",
"text": "This article can be summarized as: description of doing software development in a sizeable enterprise not a startup.\n\nFrom where I know: living and breathing like it for the last 19 years"
}
,
{
"id": "46492699",
"text": "> 3. Bias towards action. Ship. You can edit a bad page, but you can’t edit a blank one.\n\n> First do it, then do it right, then do it better. Get the ugly prototype in front of users. Write the messy first draft of the design doc. Ship the MVP that embarrasses you slightly. You’ll learn more from one week of real feedback than a month of theoretical debate.\n\n> Momentum creates clarity. Analysis paralysis creates nothing.\n\nI've met Addy and I'll be generous, but strong disagree here, and this really shows a huge blind spot in how software is being developed today that hurts everyone.\n\nThere aren't two extremes between \"theoretical debate\" and just shipping the first crap you can slap together. Software engineering will never become a real discipline when industry keeps ignoring the lessons of every other field of engineering: gather some requirements first.\n\nWant to know what users want? How about asking them? What about doing some research on what tools they are using now (or not) and "
}
,
{
"id": "46494660",
"text": "I hate that he is right. It speaks deeply about how broken the incentives are for humanity and labour and why AI will ultimately destroy jobs, because AI won't need to deal with all the sacred rituals around politics and control and human management. For each stupidity that we worship just to \"preserve company culture\", we step into the inevitable doom like having a Google principal engineer worship Opus on X like it's the first time they went to prom and saw someone hot.\n\nIt is sickening and it is something we have internalized and we will have destroyed ourselves before we settle on the new culture of requesting excellence and clarity beyond the engineers who have to deal with this mess."
}
,
{
"id": "46490075",
"text": "The skill isn’t being right. It’s entering discussions to align on the problem.\nClarity isn’t a style preference - it’s operational risk reduction.\nThe punchline isn’t “never innovate.” It’s “innovate only where you’re uniquely paid to innovate.”\nThis isn’t strictly about self-promotion. It’s about making the value chain legible to everyone.\nThe problem isn’t that engineers can’t write code or use AI to do so. It’s that we’re so good at writing it that we forget to ask whether we should.\nThis isn’t passive acceptance but it is strategic focus.\nThis isn’t just about being generous with knowledge. It’s a selfish learning hack.\nInsist on interpreting trends, not worshiping thresholds. The goal is insight, not surveillance.\nSenior engineers who say “I don’t know” aren’t showing weakness - they’re creating permission.\n\n\nI'm so tired bros"
}
,
{
"id": "46490136",
"text": "So glad I’m not the only one that noticed that.\n\nThere’s some really solid insights here, but the editing with AI to try to make up for an imperfect essay just makes the points they’re trying to convey less effective.\n\nThe lines between what is the author’s ideas and what is AI trying to finish a half or even mostly baked idea just removes so much of the credibility.\n\nAnd it’s completely counter to the “clarity vs cleverness” idea and the just get something out there instead of trying to get it perfect."
}
,
{
"id": "46490214",
"text": "It's just so disrespectful. I put my time in reading this. You (author) couldn't put some time into reading this once over before publishing?\n\nThe points are generally good too, which is why the AI slop tone bothers me even more."
}
,
{
"id": "46490457",
"text": "We should not bother to read things that the author didn't bother to write."
}
,
{
"id": "46490113",
"text": "Thank you for doing this. It allowed me to skip reading the article altogether immediately knowing it is AI generated slop. Usually I'm a little ways into it before my LLM detector starts going off, but these \"This isn't X. It's Y.\" phrases are such a dead giveaway."
}
,
{
"id": "46489773",
"text": "The biggest one that resonates with me is that cleverness is overhead.\n\nMy #1 issue with mid level engineers is that they like complexity and find complexity fun and interesting.\n\nAn experienced engineer knows that complexity is irritating and frustrating and that a simple solution is harder and superior.\n\nA solution that simultaneously solves the problem and reduces complexity is almost the definition of genius. If you are good you will do this a few times in your whole career."
}
,
{
"id": "46489855",
"text": "> A solution that simultaneously solves the problem and reduces complexity is almost the definition of genius.\n\nWell put. Chasing \"How simple can we make this?\" is a large part of what makes this job enjoyable to me. But it's perhaps not a good career advice."
}
,
{
"id": "46489967",
"text": "Yeah, \"resume driven development\" is a second major force pushing complexity that I didn't mention. People want to be able to get experience with as many buzzwords and technologies and stacks as they can for obvious personal self interest reasons.\n\nThe incentive is real. A great programmer who does a great job simplifying and building elegant maintainable systems might not get hired because they can't say they have X years experience with a laundry list of things. After all, part of their excellence was in making those things unnecessary.\n\nIt's a great example of a perverse incentive that's incredibly hard to eliminate. The net effect across the industry is to cost everyone money and time and frustration, not to mention the opportunity cost of what might have been had the cognitive cycles spent wrangling complexity been spent on polish, UI/UX, or innovation.\n\nThere's also a business and VC level version of this. Every bit of complexity represents a potential niche for a product, servic"
}
,
{
"id": "46493454",
"text": "Again, very well put. It often becomes a chain-reaction as well."
}
,
{
"id": "46494585",
"text": "That's a solid set of lessons. My favorite is that Software doesn't advocate for you, people do."
}
,
{
"id": "46492305",
"text": "Reading this makes me so happy I'm not at google anymore"
}
]
Return ONLY a JSON array with this exact structure (no other text):
[
{
"id": "comment_id_1",
"topics": [
1,
3,
5
]
}
,
{
"id": "comment_id_2",
"topics": [
2
]
}
,
...
]
Rules:
- Each comment can have 0 to 3 topics
- Use 1-based topic indices
- Only assign topics that are genuinely relevant to the comment
- If no topics match, use an empty array:
{
"id": "...",
"topics": []
}
50