The Code That Runs Your Life

Listen to this episode

S1: Good afternoon, everybody. Just to remind folks what our plan is for the next couple

S2: of early on in the pandemic, New Jersey Gov. Phil Murphy held these regular press conferences. This one was in April of 2020. Unemployment was skyrocketing. Almost 17 million claims have been filed around the country in the previous three weeks. President Trump had just signed the CARES Act, which gave unemployed workers another 600 bucks on top of state benefits, and New Jersey’s unemployment website kept crashing as people tried to sign up. So Murphy came to this press conference with a request.

Advertisement

S1: And secondly, in our list of volunteers, Judy, not only do we need health care workers, but given the legacy systems, we should add a page for cobalt computer skills.

S2: He actually meant COBOL, which stands for common, business oriented language. Murphy said he needed COBOL programmers to help get things running again.

S1: But literally we have systems that are 40 plus years old and there’ll be there’ll be lots of postmortems on one of them. On our list will be how the heck did we get here? We literally needed COBOL programmers.

S2: COBOL has been around since the 60s and like a lot of us, a concrete that was poured in that decade. We’ve done a lot of building on top of it. One thing we built on top was basic government services. In April 2020, the predicament Murphy faced became international news. There were stories that people couldn’t get their money because their systems were running on what is basically an ancient language.

Advertisement
Advertisement
Advertisement
Advertisement
Advertisement

S3: He was blaming these old COBOL systems.

S2: That’s journalist Clive Thompson, who’s written extensively about COBOL. He started looking into what happened. Cobol was still on New Jersey’s computer systems, but it wasn’t the problem. Murphy was wrong

S3: when they actually went in and looked at what was going wrong. It was like this web application, like, like a completely new thing that was like, you know, maybe 10 or 15 years old. That was what fell apart, right? It was not the venerable old COBOL that was running like a Ferrari.

S2: To be fair, an antique Ferrari and one that powers much, much more than you probably realize today. On the show, a computer language from the 1960s is still running all across America. Does it matter if it outlived its programmers? I’m Lizzie O’Leary and you’re listening to what next? TBD a show about technology, power and how the future will be determined. Stick around. A lot of stories about COBOL focus on how old it is, and it’s true. It is old. But what I think is even more interesting and in some ways harder to get your head around is just how omnipresent it is every time you have some mundane interaction with a big company. There’s a very good chance that COBOL is a part of it.

Advertisement

S3: About 80 percent of every time you do an in-person transaction at a bank, it’s using COBOL, right? And like ninety five percent of the time that you swipe a bank card, you’re using COBOL. The Bank of New York Mellon did a study and realized they had over 100000 individual COBOL programs, running about three hundred and fifty million lines of COBOL. That’s just one bank. Wow. And you can multiply that by every single bank you see. Every single airline is running COBOL, every single major retailer like Home Depot, if they’re 10 or 15 or 20 years old, they’re already in COBOL. If you ever make a claim with your health insurance company, they run these huge engines that are all run on COBOL to figure out whether or not they’re going to pay you anything. So it is all over the place anywhere. There’s a great big company that has trillions of dollars. Odds are solid. They’ve got COBOL running.

Advertisement
Advertisement
Advertisement
Advertisement
Advertisement

S2: What I notice it in my daily life,

S3: the only time you might glimpse it is if you go to like, like a Home Depot, where for some reason they’re still using like crazy old green screen computers. And if you see like you see them typing text into a green screen computer, you might be looking at someone directly manipulating COBOL. But that’s increasingly rare these days, so you won’t see it in your everyday life.

S2: Tell me a little bit about how COBOL began.

S3: Well, in the 1950s, you had these languages that were very hard to use. They were called assembler and they had really cryptic commands and also the languages weren’t consistent from machine to machine, so you couldn’t take it software from one machine to use it with another one. And so a bunch of leading programmers, including Grace Hopper, who is like, kind of a bigwig, said, This is nuts. We need a language that’s easy to use and one that can go from from any computer to any other computer. It took them 10 years to figure out how to make it in a way that made sense to them and to get everyone to agree on it because all these different companies were making machines and they would have to make them so they could run COBOL. So they all had to agree how to make the hardware that could run COBOL. It was this wild act of cooperation amongst multiple corporations and the government.

Advertisement

S2: You know, it stands for common, business oriented language. It just seems like almost a little symbol of an inflection point when companies realize that computers were going to be a part of their daily lives.

Advertisement
Advertisement
Advertisement
Advertisement

S3: Yeah, absolutely. It was really big business to do something even even as simple as, say, our payroll is going to be run by a computer like that sounds kind of mundane, but that represented just, you know, the savings of millions of hours and millions of dollars for any individual company.

S2: You’re making me think about that moment in Mad Men where they get their first computer, and it’s just this oddity. You want me to introduce you.

Advertisement

S4: I’m not interested in her. She belongs to it and it belongs to her. What is it? What am I, Cassandra?

S3: Yeah, I know it’s so great and it fills a whole room, you know? And it seems creepy because there’s a bunch of these sort of, you know, secret priests in there with the machine talking to it. That really was that was that was COBOL. Like, that machine was absolutely running COBOL in Mad Men.

S2: I was really struck in your reporting that a lot of the programmers who wrote COBOL and advocated for it early on were women. What did you make of that?

S3: The thing that’s interesting about COBOL and computing at that point in time is that the doors were really wide open to women, and that’s for a couple of reasons. One is that computers back then, the programming was considered to be kind of secondary. Like the really heroic stuff that got you a lot of credit was building a physical machine, just getting the damn machine to work. There was all these engineering heroics. All the men were like, Well, the glory is in building a machine. So we’re going to work in the hardware now, writing the instructions and telling the computer what to do. That just seemed kind of secondary. In fact, it seemed almost kind of secretarial, and that is very much why women were very much part of the early phase of coding.

Advertisement
Advertisement
Advertisement
Advertisement

S2: As COBOL became more popular, more and more people learn to write it. But then they stopped as more modern computer languages like Python and Java took over.

S3: Now you’ve got a problem because, you know, all the young grads were being trapped out of Stanford and MIT and Harvard’s computer science programs. They are not learning COBOL like they don’t know anything about COBOL. So if you’re a bank, you know you’ve got to find someone. And sometimes that is like a seven year old dude who used to work for your bank 30 years ago and have retired. And now you’re paying him like a thousand dollars an hour to write like nine lines of COBOL because there’s no one else that can do it.

Advertisement

S2: In a story for Wealthsimple magazine, Clive talked to one retired Canadian programmer who’s 73 and still tinkers with his former employers code every now and then just to keep things running. And while Phil Murphy may have been wrong about needing COBOL programmers for New Jersey’s unemployment system, he wasn’t wrong. Governments do find themselves in need of people who know Cobol. The uncomfortable truth here is that the code is probably going to outlive its coders, which means it will also outlive the collective knowledge of how to fix things when they inevitably go wrong. Like perhaps the most famous COBOL oopsie,

S3: the Y2K problem was entirely COBOL. There was no other language involved. It was caused completely by the way people wrote Cobol to try and keep the code small and compact. One of the best ways to keep your code small was to use a two digit year. So instead of 1990, you just go nine zero, right? The problem is, when you got up to the year 2000, the software wouldn’t know whether you’re talking about the year 2000 or the year 1800. And if you had say something that generates interest based on your bank balance and suddenly it thinks that you’ve had that money there since 19:00, it’s going to give you a massive amount of interest suddenly overnight, and these banks are going to be really screwed. So there was this frantic rush to rewrite, like every single line of those bank COBOL databases.

Advertisement
Advertisement
Advertisement
Advertisement

S4: When the ball drops in New York’s Times Square this New Year’s Eve, a record number of Americans. They will be hard at work. More than 800 companies have called in extra employees more than three million in all.

S2: It’s a very anxious time. I remember this time.

S3: Yeah, it was. Well, that’s because there was a lot of sort of urban myths that, like, you know, planes would fall out of the sky. These planes are being run by COBOL. This was not true. Planes were never going to fall out of the sky. But there was going to be a lot of havoc in the world of finance. Definitely. That’s where the panic stemmed from. And here’s a really fun thing, though they didn’t actually solve the problem. In a lot of cases, it was too hard to actually rewrite the code so they would have a four digit date, right? Like, like 1940 or 2025. What they did was they made different break points. So instead of zero zero being the break point, they made it like 45, by which I mean, if the cabal in the bank sees 22, it knows that it’s smaller than 45. So it is 2022 22. If it sees 36, it knows if it’s smaller and 45, it’s 2036. But if it’s like 79, that’s bigger than 45, so it knows that it’s 1979. They move the breakpoint from zero zero to 45. And what that means is that in 2045, we’re going to have another Y2K problem.

Advertisement

S2: But all the COBOL coders will be dead.

S3: Oh yeah, no. They’ll be like, you know, if we’re lucky, they’ll be like, you know, brains in jars of amniotic fluid, and maybe we can use it that way. But yeah, it’s going to be a really interesting problem in 2045, how they deal with that

Advertisement
Advertisement
Advertisement
Advertisement

S2: when we come back. Would it be so bad to just leave the cabal there and not touch it? It’s hard to listen to you and not think about the predicament that some of these companies are in, that either they need to train people to write COBOL or go back and start all over, and there are some places that have done that. The New York Times kind of scrap things and started over what happened.

S3: Oh boy, that was a real piece of work. So part of their system that manages subscriptions was written in COBOL years ago, and they decided, Well, you know, we should modernize that. So they decided to do it. But it it took them way longer than they thought it would. And this is a common story with these attempts to update your COBOL database is people think, Well, we’ll get this done in a year and it takes three years. They got it done. But it was such a sobering experience that they wrote this paper to sort of warn everyone, you know, like, here be dragons. If you’re going to go rewrite your COBOL. Be prepared for everything to take like two to three times longer than you expect.

S2: And then some places have not thought about it and just failed or decided it cost too much.

S3: Both, yeah, a lot of banks commissioned a study, and it comes back and says, Yeah, you know, you could rewrite all this COBOL line for line in a new language like Java or Python, and it would cost this much money. But it might cause so many problems that, frankly, I don’t think you should do it every year. They look at it and they come to the same conclusion. They’re like, I’m not going to poke that bear. It could just cause too many problems. Let’s keep on writing the COBOL and just add another layer of dirt on top of it whenever we need to do something new.

Advertisement
Advertisement
Advertisement

S2: Does it need to be replaced? I mean, what happens if the COBOL is is never replaced, if it just runs?

S3: Well, you know, this is a really good question, because maybe a lot of it never needs to be replaced, you know? The good part about leaving it in place is that it runs really quickly. It runs on specialized hardware that was designed for it. It is lightning fast.

S2: There are no bugs anymore. That stuff got worked out in the 80s.

S3: Yeah, no, absolutely. I mean, like, you know, every time something might have got wrong with it, it’s been fixed. So it’s great. The problem you’ve got is really long term maintenance with human capital. Do you have programmers who will understand how that code base works? You know, are you are you bringing new people in and forcing them to like, stare at it line by line to really figure it out? That’s that’s a problem. The code itself is running fine. It will continue to run fine. But if you need to fix something, you know, can you find someone that can do it?

S2: You had in your story for Wealthsimple a really wonderful quote from 1975 from a famous computer scientist saying the use of COBOL cripples the mind. It’s teaching should therefore be regarded as a criminal offense. And I wonder if programmers still regard it as a second class programming language or if it’s now, I don’t know an historical oddity.

S3: It is mostly a historical oddity and a curiosity, I think, to a lot of programmers because they they really have no acquaintance with it, right? Like, you could be a programmer and you’re mostly like a like a a web programmer. So you during JavaScript. But you know, a little bit of Python and maybe, you know, a little bit of C and a little bit of Java and vice versa. But all those people would really have no exposure to COBOL. They know it’s out there, the kind of where it’s it’s kind of cool old thing. So it’s regarded as like kind of an interesting thing. Certainly a venerable thing. If you know anything about it, you’re actually kind of impressed by it because any programmer knows that code that’s been running for 30 years has got to be really, really good code. But they don’t, but they don’t get interested enough to like, sort of try and figure it out.

Advertisement
Advertisement
Advertisement

S2: What do you think the future of COBOL is?

S3: I think it’s going to be here, like for at least decades and maybe longer. Like, honestly like it is, these banks are are are probably never going to get rid of it. I don’t think it’s going anywhere.

S2: The fact that we are having this conversation right now is in many ways a testament to COBOL strength. And I I wonder when you look at it that way. Are there lessons in it for the programmers of today?

S3: One of the things that COBOL shows is that if you create a code base and commit to running it for years and decades and decades, like into the next century, you’re thinking almost like environmentally now, right in that classic sort of seven generations way. Like what you plant today is what your great great great grandchildren will be dealing with. So plant good stuff and prepare a way to maintain it. COBOL has sort of shown that that’s actually not a bad way to think about code. A lot of code these days gets written really quickly because the assumption is that, you know, we’re only going to use this for one or two years. I think what COBOL sort of illustrates to us is that we should. More frequently, be thinking in the long term about how to write really good code that is easier to maintain because who knows, it might be kicking around for our grandchildren.

S2: Clive Thompson, thank you so much.

S3: Good to be here.

S2: Clive Thompson is a journalist and the author of Coders The Making of a New Tribe and the Remaking of the World. Before we go, I just want to give you one more heads up that we will be releasing episodes on Fridays and Sundays twice the TBD in your feed. What makes TBD is produced by Ethan Brooks. We are edited by Tori Boche and Jonathan Fisher. Alisha Montgomery is the executive producer for Slate Podcasts, and TBD is part of the larger What Next family. TBD is also part of Future Tense, a partnership of Slate, Arizona State University and New America. I want to take a moment and recommend that you listen to Tuesday’s episode of What Next about why that extra 300 bucks a month for your kid went away? I’m Lizzie O’Leary, thanks for listening. War.