llm/3a862c31-848e-4e32-be93-99402d2b43b6/batch-5-3d5638c0-5870-47d6-a04c-d01b524f4f43-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": "46493992",
"text": "Disagree. There's levels to this. Not all bad pages are better than blank ones. Ones that harms user data or worst is worst than blank pages."
}
,
{
"id": "46494749",
"text": "Sounds a bit like a rephrasing of the old \"it is better to ask forgiveness than to ask permission\"."
}
,
{
"id": "46492858",
"text": "The problem is I've worked at at least 5 companies that professed a strong \"bias for action\" and it nearly always meant working nights and weekends to ship broken things that ultimately hurt the user and then moving on to the next big leadership project to do the same thing again, never looking back. The exception of course would be when leadership finds it's broken in 5 months and complains about poor engineering practices and asking why engineers can never get things right.\n\nI've heard all the truisms listed in that post in my 14+ years at many companies that aren't Google and in all cases there's a major gap between the ideal and the reality.\n\nThis entire list reads to me as \"I got paid 10s of millions of dollars to drink the Kool Aid, and I must say, the Kool Aid tastes great!\""
}
,
{
"id": "46494390",
"text": "I’m a big fan of Amazon’s leadership principles. One of them is bias for action. I worked at AWS for a few years and I’d be in a meeting and someone would say bias for action and we’d all know what we needed to do."
}
,
{
"id": "46491063",
"text": "Same. Mine is: existence is the most important feature."
}
,
{
"id": "46489943",
"text": "It is good only if the whole team believes it.\n\nIf the team mates have a different mindset, they see it as half baked or hacky. And if there is ever some bad feedback, they just use it as a \"I told you so\" and throw you under the bus."
}
,
{
"id": "46490247",
"text": "If your self-esteem is sufficiently resilient, you can exploit the same human tendencies behind Cunningham's Law (the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer). Check your crappy end-to-end proof of concept into the team repository, and your teammates will be so horrified and outraged that they'll fix it faster than any sprint could have planned."
}
,
{
"id": "46491182",
"text": "yeah there are ways, but is it good for your career lol\n\nAlso the one person who has to review it before checking in needs to be resilient too"
}
,
{
"id": "46491220",
"text": "Bad feedback can be more helpful than good and is often the only type of feedback a product gets. And you may not have received that feedback if you didn’t ship. It’s better to get that information early."
}
,
{
"id": "46491686",
"text": "I personally agree with the premise to ship early, with some rough edges, etc. But teammates may not be supportive. You need the whole team to have that mindset/culture."
}
,
{
"id": "46494669",
"text": "The problem with this approach is that once you've started with a \"bad\" draft and enough people have signed on, you're locked in to its trajectory and can't do foundational rewrites even if you were within the feasible window. It'll just end up being a bad product overall.\n\nStarting right is important."
}
,
{
"id": "46489949",
"text": "> At scale, even your bugs have users\n\nAlso known as ossification. It is a term most often heard in the context of network protocols, but it applies more generally to every system where users depend on unspecified behaviors and even bugs.\n\nReading about HTTP/3 and QUIC is interesting in that aspect. I first didn't understand the insistance on encryption. Turns out it is not just security and privacy, but by encrypting everything that is not strictly necessary for proper transport, you make it impossible for any \"middlebox\" to make assumptions they shouldn't make.\n\nI think similar approaches can be used by APIs. Never expose more than what is specified, treat the ability to access internal state as a bug, not because it is secret, but because if users start relying on it, internal changes that shouldn't break anything will."
}
,
{
"id": "46492264",
"text": "Similar to Hyrum 's Law for APIs"
}
,
{
"id": "46492015",
"text": "Read it carefully.\n\nHe's not saying that these are all common values or practices at Google.\n\nHe's saying he learned those lessons while working at Google.\n\nDespite the metaphor of a \"lesson\", a \"lessons learned\" post is almost never about something the author was explicitly told. It was something that you had to learn from experience, or at best from informal advice. Where you had to swim against the flow of your circumstances.\n\nI neither think Osmani means to say that Google is _against_ these lessons. Every organization as big as Google has a lot of accumulated wisdom that will help you. These are just the things which remain hard, and some of which are even harder in a large organization."
}
,
{
"id": "46494000",
"text": "I say that in most of my past experiences I learned how to NOT do something, so when facing a similar scenario, I’d do them differently."
}
,
{
"id": "46495796",
"text": "> Abstractions don’t remove complexity. They move it to the day you’re on call.\n\nAs someone who has been on call a lot, this is only true for bad or incomplete abstractions.\n\nWhen you are on call (or developing) you can't possibly know everything about the system. You need abstractions to make sense of what is going on, how the system as a whole works, and know which parts to hone in on when things go wrong.\n\nAnd it is extremely useful to have standard ways of changing configuration for things like timeouts, buffer sizes, etc. in a central place."
}
,
{
"id": "46496696",
"text": "I don't think it's meant to be a point against abstraction or a point against complexity. I think it's widely understood that abstraction is part of how advancement is made in our practice, as well as in other disciplines. I have taken this saying to be an observation that there is almost always possible failure beneath the façade provided by the abstraction. Therefore, yes, you avoid having to let that complexity enter your brain, but only when the abstraction is holding. Beyond that point, often after pages are sent, you will still have to engage with the underlying complexity. A proactive measure following from this idea would be to provide support in or alongside your abstractions for situations where one must look under the bonnet."
}
,
{
"id": "46497934",
"text": "This resonates a lot. The shift from \"was I right?\" to \"does this actually help people?\" changes everything. I've found that the engineers who got promoted fastest weren't always the smartest problem solvers, they were the ones who genuinely cared about the end outcome.\n\nThe hardest part is that user focus is sometimes at odds with technical cleanliness. You can ship something inelegant but useful, or elegant but slightly off from what people need. Most orgs mess this up by choosing elegance."
}
,
{
"id": "46490497",
"text": "Not looking to dismiss the authors long tenure at a major tech company like Google, but the first point kind of stuck like a sore thumb. If the Google culture was at all obsessed about helping users, I wonder why Google UX always sucked so much and in particularly in the recent years seem to be getting even worse. Every single one of their services is a pain to use, with unnecessary steps, clicks - basically everything you are trying to do needs a click of sorts. Recently I was writing an e-mail and noticed I misspelled the e-mail address of the recipient, which I rarely do. So, I should just be able to click the address and edit it quickly, right? Wrong - now you have a popup menu and inside of it you have to search for \"edit e-mail\" option. Most of the rest of his lessons while valuable in their own right, are not something I would put under the headline of \"after X years at <insert-major-tech-company>\", as they do not quite seem to be that different from lessons you pick up at other"
}
,
{
"id": "46490826",
"text": "> If the Google culture was at all obsessed about helping users, I wonder why Google UX always sucked so much and in particularly in the recent years seem to be getting even worse.\n\nThere was no beancounter takeover and it never was so obsessed. I worked there from 2006-2014 in engineering roles and found this statement was particularly jarring: \"User obsession means spending time in support tickets, talking to users, watching users struggle, asking “why” until you hit bedrock\"\n\nWhen I worked on user facing stuff (Maps, Gmail, Accounts) I regularly read the public user support forums and ticket queues looking for complaints, sometimes I even took part in user threads to get more information. What I learned was:\n\n• Almost nobody else in engineering did this.\n\n• I was considered weird for doing it.\n\n• It was viewed negatively by managers and promo committees.\n\n• An engineer talking directly to users was considered especially weird and problematic.\n\n• The products did always have serious "
}
,
{
"id": "46491293",
"text": "Every previous job I've had has a similar pattern. The engineer is not supposed to engage directly with the customer.\n\nI think there are multiple reasons for this, but they are mostly overlapping with preserving internal power structures.\n\nPM's don't want anecdotal user evidence that their vision of the product is incomplete.\n\nEngineering managers don't want user feedback to undermine perception of quality and derail \"impactful\" work that's already planned.\n\nCustomer relations (or the support team, user study, whatever team actually should listen to the user directly) doesn't want you doing their job better than they can (with your intimate engineering and product knowledge). And they don't want you to undermine the \"themes\" or \"sentiment\" that they present to leadership.\n\nLegal doesn't want you admitting publicly that there could be any flaw in the product.\n\nEdit: I should add that this happens even internally for internal products. You, as a customer, are not allowed to talk to an en"
}
,
{
"id": "46491724",
"text": "Engineers have a perception that most other roles are lesser and if only they were allowed to be in charge things would go better. I certainly used to be this way. When I was an engineer I used to regularly engage directly with customers, and it was great to be able to talk with them one to one, address their specific issues and feel I was making a difference, particularly on a large product with many customers where you do not normally get to hear from customers much. Of course once these customers had my ear, the feature requests started to flow thick and fast, and I ended up spending way too much time on their specific issues. Which is just to say that I've changed my views over time.\n\nIn retrospect, the customers I helped were ones that had the most interesting problems to me, that I knew I could solve, but they were usually not the changes that would have the biggest impact across the whole customer base. By fixing a couple of customers' specific issues, I was making their lives b"
}
,
{
"id": "46492107",
"text": "> Engineers have a perception that most other roles are lesser\n\nDo they? I always felt I was at the bottom of the chain. \"Moving up\" means leaving engineering and going into management.\n\n> and if only they were allowed to be in charge things would go better.\n\nCould this be an oversimplification? Engineers understand how the product is built because they are the ones building it. And sometimes they are exposed to what other people (e.g. product people) have decided, and they know a better way.\n\nAs an engineer, I am always fine if a product person listens to my saying that \"doing it this way would be superior from my point of view\", somehow manage to prove to me that they understood my points, but tell me that they will still go a different direction because there are other constraints.\n\nNow I have had many product people in my career who I found condescending: they would just dismiss my opinion by saying \"you don't know because you don't have all the information I have, and I don't have"
}
,
{
"id": "46491756",
"text": "It’s oblique but this puts me in mind of an old adage I recently heard about war: Of 100 men, one should be a warrior, nine should be soldiers, and 90 shouldn't be there at all.\n\nI think this is true of software developers too: only in companies, the 90% don’t really know they shouldn’t be there and they build a whole world of systems and projects that is parallel to what the company actually needs."
}
,
{
"id": "46491929",
"text": "this\n\nand I speak as one of the 90%"
}
,
{
"id": "46491968",
"text": "This reads like it was written by a PM. You lacked higher level context and prioritization skills early in your career so the take away is it's best to divest agency to others?\n\nThere is a whole modern line of thinking that leaders should be providing the context and skills to give high performing teams MORE agency over their work streams."
}
,
{
"id": "46492562",
"text": "I think he has a point. These power structures exist for some good reasons as well.\n\nThe opposite thing (engineers engaging directly with customers) can eventually lead to customer capture of your engineering org. You shouldn't have a small group of existing, noisy customers directly driving your engineering to the detriment of other existing or future customers.\n\nMicrosoft had customer capture institutionally: the existing big corporate customers were all that mattered. It lead to rebooting Windows CE into Windows Mobile way too late to make a difference, for example. But it also meant that backwards compatibility and the desire to ship Windows XP forever were sacred cows.\n\nThere are also nasty games that can be played by soliciting negative feedback for political advantage.\n\nDysfunction can exist with any structure. It's probably best that there's some small amount of direct user feedback as well as the big formalized feedback systems, at least so that one is a check for the performa"
}
,
{
"id": "46492038",
"text": "There's not enough hours in the day for everyone to do everything.\n\n> There is a whole modern line of thinking that leaders should be providing the context and skills to give high performing teams MORE agency over their work streams.\n\nYes, this is great for agency over implementation, because leaders do not have context to decide and dictate the What/How of implementing every single change or solution to a problem. And the implementers need to know the context to ensure they make decisions consistent with that context.\n\nBut \"leaders providing the context\" is very different from \"everyone researching the context on their own.\" So where are leaders getting this context from? A not-very-differentiated pile of 1000 generalist engineers-who-also-talk-to-customers-frequently-and-manage-their-own-work-streams? Or do they build a team with specialists to avoid needing the majority of people to constantly context-switch in a quest to be all of context-gatherers, work-prioritizers, market-resear"
}
,
{
"id": "46493133",
"text": "Poor leaders gonna lead poorly."
}
,
{
"id": "46492218",
"text": "There are many leaders that use information as a tool that serves their own needs.\n\nThey may have the context, but they are either too focused on their own job to share it, or actively manage dissemination so they can manipulate the organization.\n\nIn my experience, this is the typical operating mode, though I do not think it is sinister or malicious - just natural."
}
,
{
"id": "46496619",
"text": "Agree that this can be an issue but to clarify, I was finding bugs or missed outages, not gathering feature requests or trying to do product dev. Think \"I clicked the button and got a 500 Server Error\". I don't think random devs should try and decide what features to work on by reading user forums - having PMs decide that does make sense as long as the PM is good. However, big tech PMs too often abstract the user base behind metrics and data, and can miss obvious/embarrassing bugs that don't show up in those feeds. The ground truth is still whether users are complaining. Eng can skip complaints about missing features/UI redesigns or whatever, but complaints about broken stuff in prod needs their attention."
}
,
{
"id": "46492689",
"text": "An org can always go too far in the opposite direction, but this is not an excuse to never talk to the customer. The latter is much more likely, so the warning to not get “into bed” with the customer falls flat.\n\nThis is a common pattern here. Alice says 0 degrees is too cold, I prefer 20C, Bob chimes in “100C is too hot, it’ll kill us.” Ok, well no one said or implied to crank it to one hundred."
}
,
{
"id": "46491820",
"text": "every customer complaint is N customers lost who don't say anything\n\n\"the biggest impact\" isn't knowable so a bird in hand is worth more than whatever might be in the bush"
}
,
{
"id": "46491962",
"text": "If you have M customer complaints, and each one risks a differently-sized N customers... you better try to triage that vs just playing whack-a-mole with whatever comes to a random engineer first. I've never seen engineers plow through a bunch of 0-or-1-customers-would-actually-churn-over-this papercuts because it was easy and it feels good - the customer mentioned it! i fixed it! - while ignoring larger showstoppers that are major customer acquisition and retention barriers.\n\nNothing is knowable in only the same way that plans are useless but planning is essential."
}
,
{
"id": "46493166",
"text": "> Every previous job I've had has a similar pattern. The engineer is not supposed to engage directly with the customer.\n\nChiming in to say I’ve experienced the same.\n\nA coworker who became a good friend ended up on a PIP and subsequently fired for “not performing” soon after he helped build a non technical team a small tool that really helped them do their job quicker. He wasn’t doing exactly as he was told and I guess that’s considered not performing.\n\nCoincidentally the person who pushed for him to be fired was an ex-Google middle manager.\n\nI’ve also seen so commonly this weird stigma around engineers as if we’re considered a bit unintelligent when it comes to what users want.\n\nMaybe there is something to higher ups having some more knowledge of the business processes and the bigger picture, but I’m not convinced that it isn’t also largely because of insecurity and power issues.\n\nIf you do something successful that your manager didn’t think of and your manager is insecure about their"
}
,
{
"id": "46491942",
"text": "> The engineer is not supposed to engage directly with the customer.\n\nI don't know if companies have finally stopped pretending to be \"agile\"; but if not, this is such a clear demonstration of how they are anything but."
}
,
{
"id": "46493600",
"text": "Where I work we regularly bring in engineers to talk to clients directly. Clears up a lot of confusion when there’s something technical a PM wouldn’t understand. We still like to have a filter so a client isn’t trying to get the engineer to do free work. Having engineering isolated is pretty bad IMO."
}
,
{
"id": "46491966",
"text": "The sad thing is it doesn't have to be this way.\n\nI worked on an internal tools team for a few years and we empowered engineers to fix user issues and do user support on internal support groups directly.\n\nWe also had PMs who helped drive long term vision and strategy who were also actively engaging directly with users.\n\nWe had a \"User Research\" team whose job it was to compile surveys and get broader trends, do user studies that went deep into specific areas (engineers were always invited to attend live and ask users more questions or watch raw recordings, or they could just consume the end reports).\n\nEveryone was a team working together towards the same goal of making these tools the best for our internal audience.\n\nIt wasn't perfect and it always broke down when people wanted to become gatekeepers or this or that, or were vying for control or power over our teams or product. Thankfully our leadership over the long term tended to weed those folks out and get rid of them one way or ano"
}
,
{
"id": "46491924",
"text": "There are very good less-cynical reasons. I've also seen companies with the opposite problem, where the engineers constantly shoot down real, important feedback brought by customer support in order to preserve the superiority of engineering over support.\n\nIf you have ten engineers and even just 100 customers, you have a very high number of conversational edges. Good luck keeping things consistent and doing any sort of long-term planning if engineers are turning the output of those conversations directly into features. \"Engineers talking to customers but not making any changes\" would be more stable, but is still a very expensive/chaotic way to gather customer feedback.\n\nAdditionally, very few of those single engineers have a full knowledge of the roadmap and/or the ability to unilaterally decide direction based on some of the customer feedback or questions. \"Will this get fixed in the next two weeks?\" \"Will you build X?\" etc. You don't want your customers getting a bunch of inconsistent"
}
,
{
"id": "46492249",
"text": "On the contrary, the best products are typically built by the users of the products. If you are building a product you don't use, it will be worse than if you used it.\n\nUsers should be everywhere, in and out of engineering."
}
,
{
"id": "46493211",
"text": "Theres another thread on HN at the moment about legislation being written by industry and rubber stamped by law makers. What hit me about this discussion and that one is that there's a lot of self interest out there with very little scrutiny or auditing. It boils down to that basically. If we want to fix problems at the top there needs to be independent auditing, reporting and consequence for people that do the wrong thing. But we all know thats not going to happen so buckle up and learn to live with broken laws and broken software."
}
,
{
"id": "46492139",
"text": "\"10. In a large company, countless variables are outside your control - organizational changes, management decisions, market shifts, product pivots. Dwelling on these creates anxiety without agency.\n\nThe engineers who stay sane and effective zero in on their sphere of influence. You can’t control whether a reorg happens. You can control the quality of your work, how you respond, and what you learn. When faced with uncertainty, break problems into pieces and identify the specific actions available to you.\n\nThis isn’t passive acceptance but it is strategic focus. Energy spent on what you can’t change is energy stolen from what you can.\"\n\n------------------------\n\nPoint 10 makes it sound like the culture at Google is to stay within your own bailiwick and not step on other people's toes. If management sets a course that is hostile to users and their interests, the \"sane and effective\" engineers stay in their own lane. In terms of a company providing services to users, is that really being "
}
,
{
"id": "46491799",
"text": "It is an almost universal fact that dealing with retail customers is something that is left to the lowest paid, lowest status workers and often outsourced and now increasingly left to LLM chatbots.\n\nWhile you obviously can't have highly paid engineers tied up dealing with user support tickets, there is a lot to be said for at least some exposure to the coal face."
}
,
{
"id": "46495457",
"text": "> While you obviously can't have highly paid engineers tied up dealing with user support tickets,\n\nYou obviously can, that's one of the more visceral way to make them aware of the pain they cause to real people with their work, which sticks better, or simply serves as a reminder there are humans on the other side. There are even examples of higher paid CEOs engaging, we can see some of that on social media"
}
,
{
"id": "46491555",
"text": "I love reading this insights in a corp structure. Especially the sociological aspect of it (like \"• It was viewed negatively by managers and promo committees.\"). Thanks a lot."
}
,
{
"id": "46491145",
"text": "> only one engineer was bothering to read spammer forums where they talked to each other, and he was also brand new to the team\n\nThis revelation is utterly shocking to me. That's like anti-abuse 101. You infiltrate their networks and then track their behavior using your own monitoring to find the holes in your observability. Even in 2010 that was anti-abuse 101. Or at least I think it was, maybe my team at eBay/PayPal was just way ahead of the curve."
}
,
{
"id": "46491240",
"text": "Well, the 101 idiom comes from US education, it's a reference to the introductory course. Part of the problem with anti-abuse work is that there's no course you can take and precious little inter-firm job hopping. Anti-abuse is a cost of business so you don't see companies competing over employees with experience like you do in some other areas like AI research. So it's all learning-by-doing and when people leave, the experience usually leaves with them.\n\nAfter leaving Google the anti-abuse teams at a few other tech companies did reach out. There was absolutely no consistency at all. Companies varied hugely in how much effort and skill they applied to the problem, even within the same markets. For payment fraud there is a lot of money at stake so I'd expect eBay would have had a good team, but most products at Google didn't lose money directly if there was abuse. It just led to a general worsening of the UX in ways that were hard to summarize in metrics."
}
,
{
"id": "46491655",
"text": "I seem to recall sitting in weekly abuse team meetings where one of the metrics was the price of a google account on the black market. So at least some of these things were tracked and not just by one individual."
}
,
{
"id": "46496628",
"text": "Yes, I think me and the other guy I referred to started that practice ;)"
}
,
{
"id": "46491168",
"text": "Hey Mike! Alex from GR here. Good to see you around :)"
}
]
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