Summarizer

LLM Input

llm/3a862c31-848e-4e32-be93-99402d2b43b6/batch-2-07272d1f-3ff9-4676-9a31-489ad41a6017-input.json

prompt

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": "46497502",
  "text": "They should have a general idea of what they are building and why, in exactly the same way as a construction worker.\n\nThat doesn't mean they spend all day asking stakeholders what they want. It means that when there is a choice and the stakeholder has to make a decision, the developer should be able to understand some of what the stakeholder is looking for so that they can recommend a direction.\n\nSure, a carpenter is just putting up a wall, but if they're experienced and they see that there's going to be a joist that is going to block some feature, they should be able to point that out to the architect or builder or client."
}
,
  
{
  "id": "46498179",
  "text": "Absolutely agree, but in practice this means devs are expected to sit in meetings with clients multiple times a week just to make sure everyone is on the same page. This also means that either all the devs on the team are required to be present, wasting time, OR that devs meet with stakeholders individually and knowledge ends up decentralized.\n\nAnd secondly, I think that devs are expected to know WHY \"all frobs are percurators\" instead of just knowing that they are. Besides keeping up to date with all the tech stack, you are now expected to keep up with all the business details of your client (client which might change in a year or two)."
}
,
  
{
  "id": "46497523",
  "text": "The other argument about this is whether or not an SWE is a fungible resource.\n\nWhen you're doing a construction schedule, you might have a pool of carpenters, pool of electricians etc. They can be assigned to the different jobs as a fungible resource, a different carpenter can take over a task just like one power drill can take over another.\n\nWe all know that no matter how much ceremony and process, SWEs are not equal, so you can't just move them around randomly."
}
,
  
{
  "id": "46497622",
  "text": "If upvoting doesn’t require justification neither should downvoting.\n\nBut let me try to express why people disagree.\nChange is software compared to physical systems is comparatively incredibly cheap. Unlike in building something known, design at the start of a software project is unlikely to be the one the client actually wanted nor would be the one that is one going to be build. Or at least it shouldn’t be.\n\nThe “brick-laying” part of software isn’t the hard part. Depending on want to analogise as “brick-laying” in software, that part could automated. Push to main and the deployment pipeline runs tests, makes sure things are working and voila! You have a new “house”. If its ugly or falls apart in software, easy , just revert to the previous version and its like nothing happened. Client wants a try different layout, it can be done affordably.\n\nMost of the time in software engineering you don’t know exactly how to do something, there is always a degree of discovery, experimentation and "
}
,
  
{
  "id": "46498125",
  "text": "I appreciate the reply.\n\n> If upvoting doesn’t require justification neither should downvoting.\n\nI disagree, since downvoting is not equal to upvoting. First off, not everyone has the ability downvote (at least on hackernews). Second, upvoting usually means you agree with something, while not agreeing should be reserved to the action of NOT upvoting. This is how most social media works. Downvoting should be reserved for something that should not belong on the thread.\n\nRegarding the topic of the discussion, I agree that \"builders\" should be proactive and knowledgeable about the system that they are building, but the \"chief architect\"/project manager should be the intermediary between them and the clients, if for nothing other than being a single source of truth."
}
,
  
{
  "id": "46496022",
  "text": "> The negative responses from clients were instant.\n\nBack when I was designing TTL circuits, the TTL specifications gave a min and max time for the delay between the inputs and the outputs. I was instructed to never rely on the min delay, as the chips kept getting faster and the older, slower replacement parts will not be available anymore.\n\nThe IBM PC was frustrating to many hardware engineers, as too much software relied on timing loops and delays in the original design, which made it difficult to make the hardware go faster."
}
,
  
{
  "id": "46496047",
  "text": "On older cars, like my '72 Dodge, the system voltage varied between 12 and 18 volts. But the dash instruments needed 5 volts. This was achieved with a clever \"buzzer\" circuit using an electromagnet and contacts. The circuit would open when it was above 5 volts and close when it was below. This created 5V, but was a noisy 5V.\n\nMany people decided to improve this with a semiconductor voltage regulator, which would nail the output at 5V. But the instruments wouldn't work! The problem turned out to be the instruments relied on the noisy 5V to \"unstick\" the needles on the instruments.\n\nSo the electronics guys had to add a \"noise\" circuit to the voltage regulator circuit.\n\nP.S. Watch an old aviation movie, where the pilot getting ready to fly would tap the instruments to unstick them."
}
,
  
{
  "id": "46496738",
  "text": "Ah, the Turbo Button!\n\nI think by the time I got my first IBM PC the button no longer did anything, but it was still there on the case for some reason. I remember pushing it repeatedly, puzzled that nothing went faster."
}
,
  
{
  "id": "46497706",
  "text": "This list really stands out because it treats engineering as more than just producing correct code. It focuses on producing clarity that others can build on. The idea that clarity matters more than cleverness isn’t about style. It’s about reducing risk when someone else has to fix or extend the code at an odd hour. That’s often the difference between technical efficiency and the contribution a team can reliably depend on."
}
,
  
{
  "id": "46491450",
  "text": "Absolutely - one of my favorite bug with users was an application we had made in which the loading of a filtered view was so slow, that results would come in one-at-a-time, such that clicking 'select all' would only select those ones. When this was removed, users complained until we added shift-clicking to select groups of items"
}
,
  
{
  "id": "46496035",
  "text": "Rightly said.\n\nI spent good amount of time cleaning up 15 year old codebase and removed almost 10MB of source code files which was being part of production build and it was never used. This helped reduce the build time.\n\nI thought I'd get appreciated from everyone in the team, but it was never acknowledged. In fact my PM was warried and raised an alarm for regression. Even though I was 100% confident that there would not be any regression, the QA and PM got annoyed that I touched a working software and they had to do extra work.\n\nI then posted on LinkedIn about this achievement to get my share of appreciation. :)"
}
,
  
{
  "id": "46496134",
  "text": "LoL managers."
}
,
  
{
  "id": "46496140",
  "text": ">Your job isn’t to complete tickets that fulfill a list of asks from your product manager. Your job is to build software that solves users problems.\n\nWhile I agree in spirit, when you reach a certain amount of people working on a project it's impossible. The product manager's job is to understand real user problems and communicate them efficiently to the engineering team so the engineering team can focus on engineering."
}
,
  
{
  "id": "46496332",
  "text": "No. The product manager has to understand the big picture, but when you're working on a team that big, it follows that you're going to be working on a product big enough that no one person is going to be able to keep every single small detail in their mind at once either.\n\nYou wouldn't expect the engineering manager to micromanage every single code decision—their job is to delegate effectively so that the right people are working on the right problems, and set up the right feedback loops so that engineers can feel the consequences of their decisions, good or bad. In the same way, you can't expect the product manager to be micromanaging every single aspect of the product experience—their job is to delegate effectively so that the right people are working on the most important problems, but there are going to be a million and one small product decisions that engineers are going to have to have the right tools to be able to make autonomously. Plus, you're never going to arrive at a good e"
}
,
  
{
  "id": "46497688",
  "text": "If it’s impossible to understand users problems then something has gone horribly wrong."
}
,
  
{
  "id": "46490794",
  "text": "> Your job isn’t to complete tickets that fulfill a list of asks from your product manager. Your job is to build software that solves users problems.\n\nThe main benefit of understanding the purpose and real world usage of your software is that you can ask the right questions while planning and implementing the software/feature/bug-fix and that you don't make any wrong assumptions.\n\nIn a situation where you have conflicting requirements or concerns regarding the change, you'll eventually be hit with \"PM knows the product & customer better\" or the explicit \"your job is to deliver what is asked\"."
}
,
  
{
  "id": "46495764",
  "text": "I was told at university that every software system is a socio-technical system. Keeping a mental note of that fact has helped me throughout my career."
}
,
  
{
  "id": "46490012",
  "text": "So what is the correct solution to that specific problem then, adjust loading time per customer?"
}
,
  
{
  "id": "46490039",
  "text": "Probably just let them vent until they adjust their habits and just chat with their co-workers, without the need to use this as an excuse. Then, they can enjoy the fast loading times :)"
}
,
  
{
  "id": "46494369",
  "text": "Why would the boss accept that? They automated the work to eliminate employee downtime. If the employees were upset to lose their chatting time then presumably they lack the agency to choose chatting over work duties when they’re unblocked. The only way to help them in that situation is to organize them"
}
,
  
{
  "id": "46495889",
  "text": "Because the 10 minutes of chatting has value too. Which is why corporations make you spend so much time on team building exercises and axe throwing."
}
,
  
{
  "id": "46497547",
  "text": "No, that's HR justifying its existence.\n\nPlus that's for higher stature service based roles, not warehouse logistics.\n\nIt's also mostly bullshit.\n\nTeams work because they have the right combination of skills, both personal and technical, high EQ and IQ, leadership and ownership.\n\nWhether or not you fall backwards into a team's arms or have to participate in childish games is not relevant."
}
,
  
{
  "id": "46490078",
  "text": "Ignoring the users is the correct solution. Defining company culture through software loading is ridiculous."
}
,
  
{
  "id": "46490320",
  "text": "What about the second order effects?\n\nIgnoring the customers becomes a habit, which doesn’t lead to success.\n\nBut then, caving to each customer demand will make solution overfit.\n\nSomewhere in there one has to exercise judgement.\n\nBut how does one make judgment a repeatable process? Feedback is rarely immediate in such tradeoffs, so promotions go to people who are capable of showing some metric going up, even if the metrics is shortsighted. The repeatable outcome of this process is mediocracy. Which, surprisingly enough, works out on average."
}
,
  
{
  "id": "46493660",
  "text": "Steve Jobs has a bunch of videos on creating products- https://youtu.be/Q3SQYGSFrJY\n\nSome person or small team needs to have a vision of what they are crafting and have the skill to execute on it even if users initially complain, because they always do. And the product that is crafted is either one customers want or don’t. But without a vision you’re just a/b testing your way to someone else replacing you in the market with something visionary."
}
,
  
{
  "id": "46493976",
  "text": "First define who the real customer is.\n\nSecond define what the real problem is.\n\nThird define a solution that solves 80 percent of their problem.\n\nNone of this is intuitive or obvious. It may not even be technically feasible or profitable."
}
,
  
{
  "id": "46494088",
  "text": "Everyone's brain builds a model of the world.\n\nOne of those higher levels of maturity that some people never reach is to realize that when your model becomes incorrect, that doesn't necessarily mean the world is broken, or that somebody is out to get you, or perhaps most generally, that it is the world's responsibility to get back in line with your internal model. It isn't.\n\nThis is just people complaining about the world not conforming to their internal model. It may sound like they have a reason, but the given reason is clearly a post hoc rationalization for what is basically just that their world model doesn't fit. You can learn to recognize these after a while. People are terrible at explaining to each other or even themselves why they feel the way they feel.\n\nThe solution is to be sympathetic, to consider their input for whether or not there is some deeper principle or insight to be found... but also to just wait a month or three to see if the objection just dissolves without a tr"
}
,
  
{
  "id": "46491193",
  "text": "> But how does one make judgment a repeatable process?\n\nPrinciples can help scale decision-making."
}
,
  
{
  "id": "46490168",
  "text": "Their bosses are likely happier for the lower downtime required to run the software anyway."
}
,
  
{
  "id": "46494629",
  "text": "The solution is to accept that this isn’t a software development problem, and to remove yourself from the situation as painlessly as possible.\n\nIf a manager wants to structure a morning break into their employees’ day, they can do that. It doesn’t require a software fix."
}
,
  
{
  "id": "46496901",
  "text": "Completely insane, who doesn't get to have coffee breaks without manager permission? Surely any org that treats its employees as adults would not have this problem."
}
,
  
{
  "id": "46493984",
  "text": "Organizing workers\n\nWhat’s the alternative? Ask the boss for favors? That’s what organizing is for"
}
,
  
{
  "id": "46490327",
  "text": "Craziest I got was users complaining their laptops were getting too hot / too noisey because I correctly parallelized a task and it became too efficient . They liked the speed but hated the fans going on at full speed and the CPU (and hence the whole laptop) getting really warn (talking circa 2010). So I had to artificially slow down processing a bit as to not make the fans go brrrrr and CPU go too hot."
}
,
  
{
  "id": "46494672",
  "text": "If the fan was turning on where it wasn't before, it seems like cooling was once happening through natural dissipation, but after your fix it needed fans to cool faster. So the fix saved time but burnt extra electricity (and the peacefulness of a quiet room.)\n\nThis is pretty easy to understand IMO. About 70% of the time I hear machine's fans speed up I silently wish the processing would have just been slower. This is especially true for very short bursts of activity."
}
,
  
{
  "id": "46495293",
  "text": "Obviously the proper solution is to adjust your system thermal management / power targets, but you can force programs to slow down yourself by changing the scheduling policy:\n\nchrt -i 0 <cmd>"
}
,
  
{
  "id": "46497715",
  "text": "> Obviously the proper solution is to adjust your system thermal management / power targets,\n\nMy point is that I understand the users' complaint and request for a revert, not that I can't address this for my own machines. The proper solution for non-technical people is to ask the expert to fix it, which may include undoing the change if they were never interested in the process finishing faster anyway.\n\nI did solve this problem once upon a time by running the process in a cgroup with limited CPU, though I later rewrote my dwm config and lost the command, without caring enough to maintain the fix."
}
,
  
{
  "id": "46494922",
  "text": "You probably wanted a low thread priority/QoS setting. The OS knows how to run threads such that they don't heat up the CPU. Well, on modern hardware it does anyway."
}
,
  
{
  "id": "46497606",
  "text": "The OP did say this was circa 2010. So we're talking 15 years ago."
}
,
  
{
  "id": "46495849",
  "text": "I’d expect any os worth it’s name to run threads in a way that minimizes total energy not fan noise."
}
,
  
{
  "id": "46496314",
  "text": "People with desktop computers don't care about total energy, but they do care about fan noise for overnight maintenance tasks."
}
,
  
{
  "id": "46493780",
  "text": "I optimised out some redundant processes on a unix system and sped up boot time.\n\nBut I had to release dummy processes which just printed out the same logs, as management didn't want to retrain operators or reprint the documentation.\n\nMid 90s. All training and operations manuals were hard copy."
}
,
  
{
  "id": "46490048",
  "text": "https://xkcd.com/1172/"
}
,
  
{
  "id": "46490217",
  "text": "Hyrum's Law: https://www.hyrumslaw.com/"
}
,
  
{
  "id": "46490332",
  "text": "That is https://xkcd.com/1172/"
}
,
  
{
  "id": "46494347",
  "text": "Please stop abusing co-opting and denigrating the title of engineer."
}
,
  
{
  "id": "46489683",
  "text": "I first learned about the \"innovation tokens\" idea in \"Novelty is a loan you repay in outages, hiring, and cognitive overhead\" from this, still one of my favorite essays on software architecture: https://boringtechnology.club/\n\nLikewise, \"Abstractions don’t remove complexity. They move it to the day you’re on call.\" made me think of this 23 year old classic from Joel Spolsky, the Law of Leaky Abstractions: https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a..."
}
,
  
{
  "id": "46494737",
  "text": "Nothing can remove complexity other than simplifying requirements. It can only be shuffled around and distributed to other areas of the system (or library, or vendor functionality etc)"
}
,
  
{
  "id": "46495195",
  "text": "I think this is true for essential complexity. And indeed it's one of the best reasons to release early and often, because usage helps clarify which parts of the requirements are truly required.\n\nBut plenty of projects add quite a lot of incidental complexity, especially with technology choices. E.g., Resume Driven Development encourages picking impressive or novel tools, when something much simpler would do.\n\nAnother big source of unneeded complexity is code for possibilities that never come to fruition, or that are essentially historical. Sometimes that about requirements, but often it's about addressing engineer anxiety."
}
,
  
{
  "id": "46495545",
  "text": "You absolutely can remove unnecessary complexity. If your app makes an http request for every result row in a search, you'll simplify by getting them all in one shot.\n\nLearn what's happening a level or two lower, look carefully, and you'll find VAST unnecessary complexity in most modern software."
}
,
  
{
  "id": "46497430",
  "text": "If - to take a convenient example - I use a library sorting function instead of writing my own sorting code, it's true that I haven't removed the complexity of the work my program is doing: It sorts. But I have arguably reduced the complexity of my code.\n\nSimilarly, if I factor out some well-named function instead of repeating the same sequence actions in multiple places - the work to be done is just as complex, and I haven't even removed the complexity from my code, but - I have traded the complexity of N different pieces of code for 1 such piece plus N function calls. Granted, that tradeoff isn't always the right thing to do, but one could still claim that, often, that _does_ reduce the complexity of the code."
}

]

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": []
}

commentCount

50

← Back to job