This week we welcome Elana Hashman (@ehashdn) as our PyDev of the Week! Elana is a director of the Open Source Initiative and a fellow of the Python Software Foundation. She is also the Clojure Packaging Team lead and a Java Packaging Team member. You can see some of her work over on Github. You can also learn more about Elana on her website. Let’s take a few moments to get to know her better!
Can you tell us a little about yourself (hobbies, education, etc):
I love to bake and cook, so my Twitter feed tends to be full of various bread pictures or whatever dish I’ve whipped up over the weekend. When I was a kid, I was completely hooked on the cooking channel—my favourite shows were “Iron Chef” and “Good Eats”—and I thought I’d become a chef when I grew up. That’s my back up plan if I ever drop out of tech!
I’m Canadian, and I attended the University of Waterloo in Ontario to study mathematics, majoring in Combinatorics & Optimization with a Computer Science minor. The University of Waterloo is famous for its co-operative study program, where students take an extra year to finish their degrees and forfeit their summers off to complete 5-6 paid co-op work terms. To give my schedule a bit more flexibility, I actually dropped out of the co-op program, but prior to graduating I completed 4 co-op terms, a Google Summer of Code internship, some consulting, and even became an open source maintainer. I learned how to admin servers for the Computer Science Club, and a group of my friends and I revived the Amateur Radio Club after it had been inactive for a decade.
Amateur (or “ham”) radio got me into playing with electronics, so I learned how to solder and now I occasionally build cool things like the PiDP-11 kit. And now that I can solder a PCB, I want to see if I can solder silver, so I’m signing up to take some jewellery-making classes this fall. I also take care of a bunch of wonderful, mostly low-maintenance houseplants. One day I hope to have a full-sized backyard for growing vegetables and setting up radio antennas!
Why did you start using Python?
I first learned Python to contribute to the OpenHatch project back in 2013. I had signed up for the Open Source Day at the Grace Hopper Celebration and was assigned to the WordPress group, but I ran into Asheesh Laroia and Carol Willing earlier at the conference and they poached me! I was amazed at how easy it was to read and understand the project code, even though I hadn’t written any Python before.
My very first bug assignment turned out to be more complex than anticipated, but I was later able to make a contribution and completed an entire summer internship with OpenHatch through Google Summer of Code, where I learned how to write Django and do Python web development. I then maintained the OpenHatch website and backend codebase for a little over a year, before the project started to wind down.
What other programming languages do you know and which is your favorite?
Oh, a lot! My first programming language was probably mIRCscript, which I learned as a teenager to make IRC bots and triggers, but I didn’t pick up any substantial programming skills until university. In school I studied Scheme, C, C++ and bash, and I learned SQL, Perl, and C# during my co-op jobs.
After I graduated, I worked primarily in Clojure, a dialect of Lisp that runs on the JVM. I might call that my favourite programming language because it’s so expressive and powerful, though I’m fond of all Lisps. Most folks would describe Python as a high-level language, but I can write much more terse, elegant abstractions in a Lisp than I can in Python! It’s the only language I’ve written where my colleagues have complimented my code by calling it “pretty”
These days I don’t write much Clojure or Python; for my current day job, I work as a site reliability engineer for OpenShift on Azure, which means I write a lot of Golang and a little bash. I find Go a little bit too low-level for my tastes, but it’s really satisfying and cool to be able to contribute to upstream Kubernetes!
Thanks for doing the interview, Elana!