Skip to main content

Sailing Past PyCon 2020 - Thoughts on Code and Community

Capital One has been an invaluable and generous supporter of the PSF and PyCon since 2015 and a Principal Sponsor for the last two years. They've stepped forward and made a big investment in PyCon and its community.

We chatted recently with Steven Lott, Lead Software Engineer, about what it was like for a big company like Capital One to migrate to Python 3. Here is what he had to say.


I’ve spent some time racing sailboats, and the need to react to weather, current, and other boats is how you keep yourself moving down the course at top speed. Open source software is a similar challenge. The state of a tech-based industry shifts as quickly as the wind on a rainy day. The Python community is filled with people transforming good ideas to projects on the Python Package Index. Each time our engineers and data scientists adopt the best ideas, we’re now racing along on a new tack toward our mark.

Capital One has been open source first for several years now, and our engineers are encouraged to create open source solutions and actively contribute back to the community to spur innovation across all industries. And, as anyone who works with open source software often discovers, keeping up with the pace of change in open source software is certainly a challenge.

Lessons Learned from Migrating to Python 3

As part of this effort, I’ve spent the last year helping people take down Capital One’s old Python 2.7 sail so we can bend on the new Python 3 sails throughout the enterprise. As we’ve taken down the 2.7 sail, previous PyCon presentations have provided insights into the big-picture strategies and the small-picture technical details of how to rearrange the software without losing momentum on business initiatives. I’m deeply in debt to all the presenters who’ve talked about their migration journeys over the last few years.

It turns out that what we’re learning at the helm of the Python boat also applies to all of the boats that comprise our flotilla of software assets. A number of ratty, old sails need to come down before the wind splits them into tatters. It takes all hands on deck to responsibly meet ongoing business obligations. Meanwhile the boat’s moving and we have to remain responsive to changes on the course.

Personally, I’d been looking forward to a formal end of Python 2.7 during the PyCon sprints. It seemed like a kind of finish line where we would be beam reaching along and someone on the committee boat would sound the horn to announce this race was over and the next race would begin shortly. The lack of a formal PyCon conference doesn’t change the shape of our burndown charts, though, and we’re still trimming our sails for speed in spite of the finish line being a little hazy.

The Meaning of Open Source First

It’s no secret that Capital One sees the future of banking as real-time, data-driven, and enabled by machine learning and data science -- and Python plays a big role in that. We’re trying to share back with the community some of our insights, best practices, and broader work with Python. Other boats are making similar journeys and we can follow each other’s courses to manage shoal water, adverse currents, and wind shifts around the entrance to the bay.

As an open source first organization, Capital One has been working in the open source space for several years -- consuming and contributing code, as well as releasing its own projects. One example of an open source project that leverages PyCon’s sprints is Cloud Custodian. Cloud Custodian is an open source tool that started at Capital One in 2016 and was built in Python. It allows users to create and codify  rules for things like governance or cost optimization in cloud environments and establish unified metrics and reporting. It is an alternative to  ad-hoc scripts that can cause inconsistency and complexity across a large enterprise.

We’ve also developed a project in JavaScript called Hygieia; a single, configurable dashboard that visualizes the health of an entire software delivery pipeline.

Our Dedication to the PyCon Community

Capital One’s sponsorship of important industry conferences like PyCon is something I think is important, especially when it comes to the Python community. By sponsoring PyCon and the Python Software Foundation, we can help support, strengthen, and engage with the Python community.  The time I invested in supporting the program committee has helped me understand the state of the art and where other boats seem to be heading. We’re still supporting the virtual PyCon this year, because of the importance of this community to Capital One.

I’d invite you to stop by our booth, and get even more details about how we’re using Python but, we’re not meeting in Pittsburgh this year. Instead, feel free to comment here about your journey with Python. If you want, we can also talk about sailboat racing and cruising too. The parallels between working a boat’s technology and working with open source enterprise technology seem to be very strong to me.