Goruco Videos

Andrew Turley

What we can learn from COBOL


COBOL was originally conceived as a programming language for building business applications. At the time this primarily meant processing large amounts of data and transforming it into useful information (commonly known at ETL). Interest in this kind of programming waned as the personal computing revolution swept through the industry, but it is waxing with the new focus on data science and “big data”.

COBOL has been the target of criticism almost since its conception, some of it well deserved. But COBOL code is still incredibly widely deployed, and people are still hiring COBOL developers to work on new projects. It is worth exploring as a source of insight, both in terms of what it got wrong and what it got right.

This talk will provide a very brief introduction to COBOL and explore the similarities between it and other more “modern” data processing system. Attendees will leave with an appreciation of the ideas from COBOL that are worth considering in new systems.


Andrew is a software engineer at TheLadders, where he works on the platform team using Clojure, Scala, shell scripts, and other increasingly unholy tools to turn databases and queues into mobile applications, websites, and emails. Before this he typed on computers at companies that made things like cell phones, embedded development platforms, audio equipment, and data integration software. He believes that engineering is the art of balancing tradeoffs, and that understanding the tradeoffs of different technologies in different contexts will help us design better systems. He picked up and read Ed Yourdon's "Learning to Program in Structured COBOL" on a lark and later noticed similarities between COBOL and some of the data processing frameworks he was working with.