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.
Now it's like a red flag in your resume if you worked for reddit
Then they made a whole mess on the homepage. This is what happens when you hire mediocre engineers. Its like junior engineers who cant write code. Reddit mobile is not bad, but stop trying to make me install it. There are people who only wants to use web. But your web engineers are garbage
their ads is incredibly bad.
there are dark patterns everywhere. Now they're even trying to mess up the old.redit.com
The site always crashes.
It's like the early founders did a really good job, and the vultures who could barely pass as a PM or as an engineer took over.
I mean if they wanted to save this site, they would prob have to lay off all the fat and start rehiring.
I was excited for reddit back in the day, i thought they had a shot of saving the internet. now they're trying to get into everything, and can barely execute
So the trillion dollar question is, what's next to replace reddit
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.