This week we welcome Nicholas Hunt-Walker (@nhuntwalker) as our PyDev of the Week! Nicholas studied to be an astrophysicist and then decided to switch to teaching programming and software development. You can find out more about what Nicholas is up to over on his website, Rational Whimsey or possibly see him at a Python conference. He is currently booked to speak at PyCascades later this month and PyCaribbean in February. Let’s take a few moments to get to know him better!
Can you tell us a little about yourself (hobbies, education, etc):
My name is Nick and I’m currently a lead instructor of web and software development at the Seattle-area coding school, Code Fellows. I hail from Elmont, New York where I spent most of my life before I left for grad school in Seattle in 2010. Before leaving NY I obtained a bachelor’s in Physics and Mathematics from the City University of New York at York College and participated in Columbia University’s Bridge to the Ph.D. program. It was during that latter stint that I gained my first real hobby besides video games, the Afro-Brazilian martial art of Capoeira. I’ve been practicing it off and on ever since, and it remains one of my truest loves. I also like stealing things as a rogue in Dungeons and Dragons, bouldering, casual rowing, and a bit of hiking here in the Pacific Northwest.
Why did you start using Python?
I didn’t always program, or even write Python for that matter. My Python journey started during the second year of my Ph.D. program at the University of Washington’s Astronomy department, when I adopted the language because I was tired of another language called IDL. I started learning Python because it was the new hotness in Astronomy at the time, the code when written looked like English, and it was free so I didn’t have to muck about with obtaining a license for every machine that I wanted to use the language.
In those days I used Python chiefly for data analysis and visualization, attempting to map out the structure of our own galaxy (the Milky Way) using evolved stellar populations. I would write these gigantic, poorly-documented Jupyter notebooks to perform my analysis, and then when my research needed to take a different direction I’d forget about whichever one I’d last written and do the same thing again with new data or a new direction to try out. It was a mess, and is easily seen in my older GitHub repositories. Python in my research helped reinforce some of the fundamentals of how to just get stuff done in the language, but much of my Python chops prior to about a year or so ago came from side projects where I just explored an idea that I had and used the internet to try to figure out how to implement that idea. That’s where I had the most fun and largely what lead me to where I am today.
What other programming languages do you know and which is your favorite?
I’ve written in PHP, IDL, Fortran 77, R, and JavaScript. Of those, the only one that I would willingly write in again is JavaScript. I know that each one has its merits, but lord I never had any fun in any of them except for the last one. At this point in time, I’d be hard pressed to write something coherent in any of those other languages as well. It also helps that I teach basic and intermediate JavaScript on a regular basis, so my affinity for the language is an occupational hazard. I’d like to learn Java, but time for learning has been short as of late.
What projects are you working on now?
I’m just wrapping up a website for my fiancée’s business (need her to approve the work before I slap a domain on it and make it public). I’ve started up a site for a friend’s photography that should be fairly quick. Largely, my time is spent either refining a talk on Python web frameworks that I’ll be giving at PyCascades in January 2018 and PyCaribbean in February 2018, or refining the curriculum for my Python class at Code Fellows. The language is evolving, so the course that I teach needs to evolve along with it.
Which Python libraries are your favorite (core or 3rd party)?
There’s a little spot in my heart reserved for web scraping, so I love requests and BeautifulSoup. Web frameworks are largely my jam these days, so I spend a lot of time with Django, but since writing the first draft of this conference talk I’ve grown to love Pyramid and Tornado. The built-in datetime library is always a favorite, and because I spend a lot of energy trying to come up with fake data for demonstrative tests, the Faker library is my ace. However, none of the above compares to my love for Ansible. Mad love for Ansible!
Is there anything else you’d like to say?
As much as I love the language, I love the Python community (that I’ve been exposed to) even more. Specifically I’d like to shout out the Puget Sound Programming Python meetup group, which is Seattle’s main Python user group and contains many folks that I consider now to be friends. They’re super friendly and open to devs of a wide range of experience, and are starting to move toward a subgroup focusing on mentoring junior devs. Definitely on board with that and am very much looking forward to seeing it expand and shepherd new devs into our cushy Python love circle.
Thanks so much for doing the interview!
Pingback: PyDev of the Week: Nicholas Hunt-Walker - Codangoâ„¢