axguscbklp
Joined 6 years ago
Joined 6 years ago
Companies fundamentally want* to be able to treat software developers as completely fungible assembly line workers. The company's dream is to be able to fire and replace all of the software developers at any moment and lose little by doing so. This partly explains the heavy emphasis that tech companies place on process, project management, and so on even if the developers dislike all of those things. The company must pay for recruitment - there is no other choice because the company must get employees in. However, to pay for retention would contradict the fundamental company dream of making all of the software developers completely replaceable. Basically, retaining the employees is not one of the more significant company goals. Companies' actual goal usually is to make it so that the developers are as fungible and replaceable as possible. Companies want to be able to treat the engineering team kind of like an abstract arbitrarily scalable asset in a video game. Want to replace all of the engineers? Sure, push a button and it happens - you might lose 10% of this quarter's numbers but that's acceptable. Want to scale your team up and go from having 15 developers to 30 developers? Push a button! Want to go up to 60! Boom, do it - the point is that the company has the process that makes the developers fungible - to focus on retention would be silly, the company's goal is to focus on recruiting and then turning the new recruits into replaceable and fungible assembly line workers who are part of an arbitrarily and abstractly scaleable team. Companies don't dream so much about hiring amazing developers - they dream more about setting up a process that will let them hire developers at scale and plug them into a money-making machine that keeps going no matter how retention is going. As a developer working for a company, the end-users are not your real customers. The management and all of their politics are your real customers. What they want is to not think about you. If I go to a restaurant and order some food, generally I do not want to think about how many people are working there or what exactly they are doing - I just want my food. Same with companies and developers - what they want is to just be able to turn the development team into an abstract source of software development. Focusing too much on retainment would tie them too much to a given set of developers. They do not want that. What they want is to set up a process that lets them treat the engineering team as an abstract and arbitrarily scaleable machine that creates software.
*When I say that companies want something this is of course anthropomorphizing a process but what I mean is that the overall totality of the people in the company operating according to various incentives lead to things happening that might in short be described as the company wanting certain things.
70 years ago: "atheists and communists are hurting our children"
35 years ago: "drugs are hurting our children"
25 years ago: "violent video games are hurting our children"
Now: "social media is hurting our children"
All were/are probably true to some extent in some cases, but that does not mean that it necessarily made/makes sense to try to turn society against the risky or dangerous thing. Skateboarding hurts some children. Does that mean that we should ban TV shows that celebrate skateboarding? "It is for the sake of the children" is a time-tested way to get people to support authoritarian policies.
I have no love for Facebook, but my problem with it is not that I think they police content too little, it is that I think they police content too much. No, I do not want to police content on Facebook to save children. Similarly, I do not want to ban controversial books, I do not want to ban extreme sports, I do not want to ban fast food, and I do not want to ban many other things that sometimes hurt people. If I have to choose between, on the one hand, Facebook with all of its shadiness and, on the other, puritanical moral busybodies who want to control what people see "for their own good" - well, I choose Facebook.
Why, what exactly are they doing that is ethically dubious? So far based on what I have read of this whistleblower's revelations, I do not have a problem with Facebook doing any of it.
As for structure, I think that forums and image boards that are basically just chronologically ordered items of text where each item of text can have either implicit or explicit links to previous items of text are in a sense superior to tree-based forums like Reddit anyway because directed acyclic graphs are a superset of trees.
As for upvote/downvote mechanisms, I have never seen a forum that was improved by them. Such mechanisms are probably good for driving engagement but from the point of view of stimulating thought, I think that as opposed to having an outside algorithm preference certain comments over others, it is better when users have to either manually go through a flat chronologically ordered list of comments or implement their own search functionality on top of that list in order to find comments that they want to engage with. If a forum provides advanced tools to search and sort comments, that is good, but I would prefer that a forum not build any given sorting other than chronological into its default UI.
Reddit, at least, still allows users to sort in ways other than by "best". In my experience and according to my taste, large subreddits usually are often pretty useless unless I sort by "new" or "controversial". Sorting by "best" all too often - not always, but all too often - just brings the least common denominator up to the top. Another good method for using Reddit is to make note of any individual users whose writings you find interesting and to then just read through their Reddit histories - this can also be a good way to find interesting subreddits that you might not have come upon otherwise.