Southwest Airlines Could Just Use Kubernetes, Right?
Southwest Airlines has understandably taken a lot of heat for their 2022 weather-related holiday travel meltdown, with a lot of people pointing fingers at their crew tracking and scheduling system. And if various accounts are to be believed, Southwest should have prioritized an upgrade to this system some time ago. But the narrative that corporate greed is somehow behind this is a bit overblown. Rather,
Re-engineering enterprise legacy systems is really, really hard.
Most engineers in Silicon Valley today respect the complexity of their own systems, sure. But the vast majority of them don’t appreciate how much complexity lurks behind the scenes of your average bank, insurance company, or (yes) airline.
Rule of thumb: If you think you can build somebody else’s system in a weekend, you (specifically) probably can’t.
When I was in graduate school, a lot of classic software engineering literature considered American Airlines’ SABRE reservation system to be one of the most complex systems ever built. And unlike systems at companies that were founded in the 2000’s, many legacy enterprise systems have grown organically, responding to changes in business and technology not over years but rather over decades. SABRE still lives on in some form 60 years after its inception.
Southwest Airlines was founded in 1967 and wasn’t even a particularly large player in the industry until maybe the late ‘80s or early ‘90s. The future sneaks up on you fast, and so does business growth if you’re lucky. It’s not surprising that they got ahead of their skis in certain aspects in IT, and maybe the crew scheduling system was one. Where might Southwest go from here?
Another thing that is hard for Silicon Valley engineers to comprehend is that projects in large traditional enterprises often take years. I assure you this is not because people in charge don’t know what they’re doing. Indeed, what they’re doing is engineering, with the proper amount of careful planning, budgeting and staffing that large enterprises require.
Ironically enough, the staffing part might get easier in the next year or two as many of the most popular career destinations for software engineers start cutting back on hiring. As more and more systems built in the ‘80’s and ‘90’s reach end-of-life, we might be entering a golden age for enterprise software development.