Thanks, 201X!

Thought I'd take a Sunday afternoon to reflect on, oh I don't know, a decade. Been a long ten years, but it's flown past. This particular decade happens...

Developer variants

Software development takes all kinds. I'm not talking about appearances or job titles. I'm talking about motivations and fulfillment. In my years of writing code and leading projects,...

Running from software

So while PyCon 2016 starts in less than 48 hours, some kind of anticipation compelled me to polish off the last of the talks from last year. For...

Managing Python Ecosystems

You know that old quote: The wider the net you cast, the wider the variety you catch. Was it a wise old fisherman? Or a dogged Python programmer?...

Enterprise Software with Python

When I first published 10 Myths of Enterprise Python on the PayPal Engineering blog, there were a lot of reactions. Some I expected: Surprise at Python in the...

Designing a version

In modern software development, a project isn't a project without a proper versioning scheme. Weak version management neglects clients like lack of source control neglects collaborators. Dependency management...

Getting a Python job

Every day, Python is the primary programming language for tens if not hundreds of thousands of professional engineers, analysts, and researchers, including yours truly. Given Python's "language of...

RWC 2016 Lightning Talk

Today I had the pleasure of talking on stage for ~2 minutes at the Real World Crypto 2016 conference in Stanford, CA. This is a pseudotranscript of that...

Enterprise Overhaul: Resolving DNS

Originally published on the PayPal Engineering blog. Republished here with minor modifications and updates. If you find these sorts of systems interesting and know some security, too, consider...

10 Myths of Enterprise Python

(Originally posted on the PayPal Engineering blog, reproduced here with minor updates, link fixes, etc.) PayPal enjoys a remarkable amount of linguistic pluralism in its programming culture. In...