If a social media platform is running smoothly, but the engineers leave, why can’t a platform continue to run on autopilot?

697 views

I guess this is applicable to any social media platform or other similar systems. Is it because there are always bugs to address, so it’s never really running smoothly, or other reasons?

In: 153

38 Answers

Anonymous 0 Comments

I think the question is even simpler than what the responses are being given.

Basically (though I’m not an expert), there’s two problems. But the misconception stems from thinking of Twitter as just a version of Microsoft Word sitting static on your PC…if you didn’t get updates on a MS Word, it would continue to work for years….maybe indefinitely.

But the amount of code and data required to keep a website like Twitter up and running is staggering…..and it’s constantly changing…which means the data is being copied. And there’s an error rate in transcribing all of those 0’s and 1’s as they move from storage device to storage device. And when there are transcription errors the fault handlers don’t always work and weird things happen with the code that makes its way back to the users. Someone has to figure out what went wrong with which part oft he code and fix it.

And secondly, there’s an error rate with the physical infrastructure itself. It could be equipment failing (or being replaced before it fails), or outside cabling being damaged, etc. eventually that makes its way back to the end user and someone upstream has to figure out what went wrong.

And don’t forget hackers. They’re like terrorists who are constantly trying to burn the whole thing down and someone inside Twitter has to fight them off.

Anonymous 0 Comments

This is a bit like asking why we bother to vaccinate against certain diseases if nobody ever gets them. It’s *because* of the vaccines that people don’t get them.

Websites, platforms, services, etc., are always going to have bugs in them. Some of them might lay dormant for a while until a browser gets updated, or a user does a particular and unusual sequence of things. But the bugs are always there. When they crop up, somebody fixes them. This might be doing something to prevent that big from happening again, or might just be dealing with particular cases until an update can be rolled out. Sometimes (likely most times) these fixes can introduce other dormant bugs.

If you don’t notice these problems happening with the service, that’s because there is a team working away in the background to fix them. Remove the team, and you end up with a bunch of errors that aren’t getting resolved. Eventually, this could cause other problems which cascade out of control until the whole service just falls apart, like mini events causing a city to gridlock.

Anonymous 0 Comments

Think about a transit system. These days, there are apps telling you when to go down so you’re not waiting for long. You get on and go where you’re going. It’s running smoothly, and if something goes wrong, there are backups in place to handle the traffic. You don’t concern yourself with the VIN of the bus or train you’re on- you just go by routes. But maybe the bus you were on yesterday is in the shop today getting an oil change. Maybe the train is out of service and a different car is in its place. A driver is hungover and calls in sick, but there is a casual employee who comes every day to run routes of ill people. A bus breaks down mid day, and a new one goes out and takes its place. Problems occur, but solutions are found.
For a website, there are many many services that an individual can use to run a site by themselves. But if you get tens of thousands of users, the demand for work will eventually necessitate that you run some of this yourself instead of contract to a website builder. Every server may not need an operator, but every room of them certainly does. And for Twitter that’s likely 24/7. Eventually between software developers and hardware architects, you’re running a company, and you need office space, HR, managers, everything else. People leave, positions are filled, hardware comes and goes, software is deployed. But if none of the drivers show up to a transit company, people will be left waiting. Eventually they’ll get mad, and the mayor is going to hear vout it. For Twitter, we’ll just be stuck with them here at reddit

Anonymous 0 Comments

Because it isn’t a closed system. It’s hooked up to any number of external systems, networks, other software, and those AREN’T on autopilot. When those make changes they could screw up how their connected or interfaced with Twitter (I assume that’s what we’re really talking about) and how Twitter works internally, and you need people to monitor/triage/update that kinda stuff.

Anonymous 0 Comments

How about a TLDR. If your car is running fine, why should it stop running fine forever? Things break down, need routing maint, etc. If your car can’t run forever without maintenance, why would a far more complex system like a social media site?

Anonymous 0 Comments

if you ever watch a giant ship sit in the harbor, it is constantly pumping out water that is seeping in. The work it takes to keep thousands of lines of code, thousands of servers around the world running is like that. It’s far from perfect and needs daily maintenance.

Anonymous 0 Comments

Let’s say you run a messenger pigeon business (because bird lol)

You’ve trained your pigeons to do their routes, to get their food from specific spots, and where to get their messages. Everything is going well.

But you stretch that to the entire world, so now you have hired some other pigeon coops that have to obey different laws and speak different languages, not to mention they train pigeons differently for every language, so you have to manage translating it.

If you were to leave, the pigeons wouldn’t have food, they’d get hurt in bad weather with time, no one would fix the messages, etc.

Twitter in itself deals with hundreds of technologies and hundreds of different devices. If you change a small detail in one of the programs, it’d be like a pigeon relay being relocated. An entire corner of the world gets off the grid.

Many of those technologies are not twitter’s. Even your android version matters for some features. So that’s what they are constantly doing.

“Fixing stuff that breaks when someone else fixes something else that was or wasn’t broken.” – Programming 101

Anonymous 0 Comments

Imagine you left your house and went on vacation but you never came back (for the sake of positivity let’s imagine you won the lottery while on vacation and decided to spend the rest of your life on a yacht, and just forgot entirely about your little old house in Peoria).

What would happen?

For a while, nothing much. The furnace would continue to work, the pipes would not leak, etc.

Over time, things would start to break down. A furnace issue might cause the pipes to freeze and burst, flooding the basement. Mice might take up residence and chew on the wiring, starting an electrical fire. Burglars might notice the house is unoccupied and break in and steal things. A tree is knocked over by winds, breaks part of the roof, the roof allows rain in and the entire structure will rot and cave in.

A piece of software is like a house. It may look like a solid thing that doesn’t need human tending on the outside, but it needs regular maintenance and emergency repairs to remain functional and secure. A web platform like Twitter is like a whole neighborhood of houses all connected together that requires many of these houses (and the roads, sewers, electrical, etc. connecting them) to be in good working order, yet has thousands of nefarious people and governments constantly trying to break in (hackers) or simply torch them (DDOSers). And unlike a house, many of these pieces go out of date constantly and need to be updated in order to keep them from being wide open to anyone to hack. Without constant maintenance it will fall apart, but on a faster timeframe than a house would.

Anonymous 0 Comments

Because nothing ever stays the same and big pieces of software like Twitter are more like an ecosystem than a script. You’ve got your code and then you’ve got all the servers and other software that other people made that you depend on. It gets very complicated very quickly when you’re at massive scale.

Consistently over time things will change. The operating system will be updated, software you depend on will be updated, and yes you will find bugs in vulnerabilities in your own code. And you can’t just keep running the same version of Linux, for example, because there will be known vulnerabilities that you have to patch and then make sure your software can deal with that. If you don’t you’re going to get hacked. Combine that with being constantly under attack and you can be pretty sure that the software can’t just run forever how it is.

Incidentally this is why companies like Red hat are so fucking valuable. If you buy their product, you can keep running that same old version of Linux and all your other software for as long as you want and they’ll keep it patched. It’s going to cost you a ton of money though.

Anonymous 0 Comments

There are some fantastic answers already, especially of the form “The outside world changes” and “It only seems to work.” The former would be things like legal changes or technical changes to how things like “Sign in with Apple” are written. The latter would be things like undiscovered security holes or code not handling a full hard drive. Both of those are definitely true. Just as significant, though, is that staying still isn’t the goal.

Mr. Musk claims to have ambitions for Twitter. He didn’t buy it because it was already steadily making money, which it wasn’t. For example, he says that it has problem like too many spam bots. So he’ll need to add bot fighting. That may touch every part of the system. It may touch performance, because it’s another computationally intensive check. It may touch ad billing, because bot engagement doesn’t count. It will touch support, as human customers and legitimate bots get caught up in the next. Each of these will need to be addressed by someone who is already familiar enough with the relevant sub-system to understand how it should interact with the bot detector. That is just one example, and there are many more: staying up-to-date is important for keeping users and customers. Musk is already smarting somewhat to have paid $44bn for Twitter. If he just lets it carry on quietly, he may as well have paid $44bn for MySpace!