Lisp: The Language of Big Ideas
Before he was a tech billionaire, Patrick Collison was a teenager deeply involved in the Lisp community, even creating his own dialect. Lisp is one of programming's foundational languages, known for its mind-bending flexibility and the philosophy that
'code is data'. Admiring Collison often means admiring first principles, and Lisp is a direct link to the DNA of computation. He has repeatedly praised the interactive development environments of old Lisp Machines, which allowed programmers to edit code in a live, running system—a paradigm he feels modern developers have unwisely abandoned. For Collison, Lisp represents a kind of intellectual purity and power that has shaped his view of what software development can and should be.
Ruby: The Pragmatist's Choice
While Collison’s heart may appreciate the theoretical elegance of Lisp, his business sense is ruthlessly pragmatic. Stripe's main backend was built on Ruby, a decision that prioritized speed of development and readability over all else. This choice reflects a core Collison principle: validate user value before chasing architectural purity. Ruby, especially in the early 2010s, allowed Stripe to move incredibly fast. Even today, with a massive and complex codebase, Stripe remains largely a 'Ruby monolith'. The company even developed its own type checker, Sorbet, to manage Ruby's risks at scale, demonstrating a commitment to making pragmatic choices sustainable in the long run.
Smalltalk: The Road Not Taken
Collison's first startup, Auctomatic, was written not in Ruby or Lisp, but in Smalltalk. Like Lisp, Smalltalk offered a highly interactive, 'live' coding environment that Collison found captivating. He has described it as 'the best programming language' and found developing in it a joy compared to more restrictive frameworks. However, he has also called the decision to use it 'terrible' in hindsight for a startup, as the esoteric choice created adoption friction. The experience taught him a crucial lesson that would inform Stripe's creation: pragmatism trumps elegance when you're trying to build something people will actually use. Appreciating Smalltalk is to appreciate the history of ideas and the hard-won wisdom that comes from a failed, if beautifully engineered, project.
Python: The Versatile Workhorse
In a 2012 post, Patrick Collison mentioned being 'fluent' in Python by the time he was 15, having picked it up after finding Java confusing. This highlights another key trait: an instinct for powerful, accessible tools. Python is the Swiss Army knife of modern programming. It’s used at Stripe and is essential for everything from data science and machine learning to scripting and automation. Its clean syntax and vast library ecosystem make it a language for getting things done quickly and effectively. For a systems thinker like Collison, who values both deep-level infrastructure and high-level analysis, Python represents the perfect bridge, enabling a single developer to build a web service, analyze its output, and train a model on the results.
Go: The Scalable Infrastructure Builder
As Stripe grew from a startup to a global financial infrastructure giant, its technology needs evolved. While Ruby remains at the core, languages like Go (often called Golang) have been adopted for infrastructure services. Developed by Google, Go is designed specifically for building fast, reliable, and highly concurrent network services—exactly the kind of systems that operate in the background to make Stripe's seemingly simple API work. It’s a modern language for a modern problem: managing complexity at scale. Its inclusion in Stripe's stack shows an understanding that a single language rarely solves every problem. To build enduring infrastructure, you must choose the right tool for the job, and Go is the modern choice for the plumbing of the internet.













