As we first reported in September 2019, JPMorgan had a few issues with Python‘s decision to stop supporting Python 2. The U.S. bank built its Athena risk and pricing platform in Python 2.7, and had 35 million lines of code to convert into Python 3 as a result.
In late 2019, JPMorgan was a long way from being able to drop Python 2 altogether. Insiders told us that the bank only began transferring Athena to Python 3 in 2018 (by comparison, tech companies such as Instagram moved entirely to Python 3 the year before). However, the intention was to get the transfer done last year.
That didn’t happen, either.
JPMorgan declined to comment for this article, but insiders say the bank is now aiming to move everything to Python 3 by the end of the second quarter. That’s a tough ask, but the bank has apparently made some good progress: 90 percent of the Athena code is now compatible with version 3 after initiatives such as a week-long hackathon-style event to convert the code base. However, fewer than 10 percent of Athena production servers are reportedly running on the newer version of the language, even now.
“Management are pushing it quite hard now and making reasonable progress,” said one insider. “But it’s a big headache. We have a strategy where the code must work in both Python 2 and Python 3 environments, or just in Python 3. It makes things difficult.”
As we noted before, JPMorgan isn’t the only bank with snaky programming-language problems. Banks were big users of Python 2, and security and regulatory issues can make it difficult to adapt systems quickly. Even organizations like Dropbox took three years to migrate between versions 2 and 3. The delay doesn’t mean that Athena won’t work: Python 2 is still supported by specialist vendors and JPMorgan can always pay for these services.
It’s not ideal, though. The conversion appears to have taken up huge amounts of JPM developers’ time. It comes amidst changes at the top of the technology function at JPMorgan’s corporate and investment bank. Mike Grimaldi, who headed technology for the CIB, is leaving. Andy Palmer, the former vice president of engineering at Intuit, a “financial platform company,” joined the bank as a managing director and head of engineering and architecture for the markets business (based out of London) in November.
A modified version of this article originally appeared in eFinancialCareers.