This week we welcome Jacqueline Kazil (@JackieKazil) as our PyDev of the Week! She is the co-author of Data Wrangling with Python. Jacqueline is the creator of the Mesa package. You can see what other projects she is working on by going to Github. Let’s take a few moments to get to know her better!
Can you tell us a little about yourself (hobbies, education, etc):
With a ten-month-old daughter, a day job, volunteer work, and working on my Ph.D, I have no time these days for dedicated hobbies. Sometimes I pick up the uke and try to play a song for the baby. She is too young to realize how bad I am, but my husband certainly knows.
Why did you start using Python?
I started using Python when I was studying journalism at the University of Missouri. The idea of storytelling with data was appealing to me. I was influenced by Adrian Holovaty, one of the creators of Django, who preceded me at MU. The University of Missouri is also home to Investigative Reporters and Editors and the National Institute for Computer Assisted Reporting, which fostered a community around using data to tell stories. I took at crash course class in Django at one of their conferences.
For my master’s project, I worked at The Washington Post on their politics team during the 2008 Presidential primaries building out data applications that shared things like exit poll data and Obama’s schedules.
What other programming languages do you know and which is your favorite?
What projects are you working on now?
I am working on one major library and that is one that I started — Mesa. It allows you to create agent-based models in Python.
Which Python libraries are your favorite (core or 3rd party)?
What made you decide to write a book about Python?
The book was originally written to empower journalists to wrangle data. While writing it, I realized that other professions, such as business analysts would also be able get something from it. The target audience was individuals who want to get stuff done quickly, even if it means doing it a little messy.
What have you learned authoring a book?
- Give yourself the time/space to write every day. If you don’t have that, you shouldn’t do it.
- Don’t do a Ph.D at the same time, the two will come into conflict with each other…
- …although it may surprisingly count for one of your Ph.D qualifying exam requirements.
- At least one person will tell you that you are wrong.
- Find a co-author. It helps keep you accountable and sane. It also helps pull you out of a 100-page-parsing-data-from-PDFs hole.
- You are not going to get rich.
Would you do anything differently if you were able to start over from scratch?
There are two things I would do differently. The first is probably consider writing it in Python 3. I originally chose Python 2.7, because Python 2.7 was easier to set up for a lot of people and was still a solid standard when we started writing. However, now Python 3 is the standard. The second thing I would do is write multiple shorter books. My first book was 500 pages. It could have easily been broken into two or three books.
Thanks for doing the interview!