Featured image of post The Programming Book That Made My Career

The Programming Book That Made My Career

The post recounts the my journey with Python, highlighting how "Learning Python" by Mark Lutz significantly impacted my career.

On January 7, 2011, I tweeted, “Trying to learn Python. We’ll see if this keeps up once classes start.”

On January 20, 2011, ten years ago today, I bought Mark Lutz’s Learning Python from O’Reilly Books. Over the next month, I read it on my Kindle on the Stairmaster at the school gym. It changed the course of my adult life: since reading that book, I’ve written Python on more days than I haven’t.

Before discovering the data science Twitter community in late 2010, I’d only heard of Python through another student researcher in my 2007 REU who had used Python for some graphics programming research. On Twitter, people like Hilary Mason, John Cook, and Chris Fonnesbeck talked warmly about using Python in their scientific work.

In 2011, I was a first year operations research student at North Carolina State University, and I realized that I should pick up programming again to improve my career prospects. I’d taught myself some PHP in high school (circa 2003). In undergrad, I did a computer science minor and learned a good bit of C++ and did a lot of Mathematica scripting in my math coursework, but, from 2008 to 2011, I basically didn’t program.

I struggled to use Python in practice for ML/scientific computing in those days before wheels (binary installs); libraries like Scipy and Numpy required brittle compilation of C++ and Fortran dependencies. During the summer of 2011, I gave up using Python (after segfaulting Orange) for my internship at Kiva Systems and dove in to R where I could install packages more reliably and use ggplot2.

For some reason (probably because of Twitter), I returned to Python a year later and used it to write my research code in grad school (despite my advisor’s wishes that I use C++). Scipy Superpack for installing the Scipy stack was invaluable (thankfully now replaced by Wheels and Conda).

My experience with Python was a big reason I got hired at RTI International when I left my Phd program in October 2012. They were looking to reduce their SAS dependency (and costs) and wanted people experienced with open source tools. I taught a “Python for statisticians” seminar to my colleagues soon after joining RTI.

From RTI, I joined Parsely which was like Python bootcamp working with Andrew Montalenti and others. Parsely uses Python across their full stack, and it was an eye opening and educational year for me.

Since then, I’ve worked at a variety of companies where I’ve been able to use Python for training machine learning models, building machine learning platforms, writing Gibbs samplers for nonparametric Bayes, building data engineering pipelines, software testing, etc.

I use Python almost every single day for work and a lot of personal projects. I’ve been able to speak at 3 PyData conferences, a Scipy conference, and a number Triangle Python Users Groups. I had a contribution merged into CPython in 2019 and have contributed to many other open source projects.

I’m grateful to the countless people who have taught me (through tweets, code reviews, conferences talks, etc) about Python and the many who have built the wonderful language with its incredible ecosystem of tools and packages that enable me and others to do so many things.

Last updated on Feb 15, 2024 09:00 -0500