Naomi Ceder is the author of The Quick Python Book, Third Edition. The interview was conducted by Frances Lefkowitz, a Development Editor at Manning Publications.
Naomi Ceder earned a Ph.D in Classics, but, since 2001, has been learning, teaching, and using Python. An elected fellow of the Python Software Foundation, Naomi currently serves as chair of its board of directors. She also speaks internationally about the Python community, and on inclusion and diversity in technology in general. By day she leads a team of Python programmers for Dick Blick Art Materials, and in her spare time she enjoys sketching, knitting, and deep philosophical conversations with her dog.
1. Python has been popular for a long time, but do you think its use in Deep Learning and Search is making it particularly relevant right now?
Yes, I think that Data Science and Machine Learning will be key drivers of Python’s growth over the next five years or so. Aside from this, I think Python is taking off because it takes very little time to learn enough of it to be productive, and because it’s general-purpose enough to be used for a variety of tasks. It also has a rapidly growing ecosystem of data-related libraries and packages. And it has a very welcoming community that can support new Python coders.
2. You’ve mentioned that you use Python not only for sys admin, web apps, database management, and data analysis, but also to “help myself think about a problem more clearly.” Can you explain what this means and how the thinking-in-Python process works?
Sometimes there are problems where the best approach, or the best organization of the data, or even the key aspects of the problem, aren’t quite clear. How can I automatically connect these seemingly incompatible processes? How do I get the data I need and clean and transform it into the format I need? How do I organize it? And what answers can I get from it? For these kinds of questions, I tend to explore possible solutions by using simple, even “naive” Python code. I can quickly knock together some very simple code to try out ideas and see what works — or, more important, what doesn’t work. That starts to give me answers, like “Ah, data from this source seems to have this kind of issue.” Or, “If I use those structures to organize the data, it’s too slow, or it’s hard to process the way I need to.” Quick and simple experiments and explorations can tell you so much.
3. What is it about the Python community that makes it special?
It is a stated and honored goal in Python communities to foster diversity and inclusivity. Over the years this has built on itself, helping attract others who value an inclusive community, who then attract others. We’re far from perfect, but this shared ethos of community and inclusion is such a powerful force that I think it will continue to grow.
4. Can you talk about the changes in opportunities for women in programming since you started in this field 20 years ago? These seem like a pivotal 20 years!
The interesting thing is that 50 years ago, programming was quite open to women, but that changed pretty dramatically in the 80’s and 90’s. When I stared coding and teaching coding, I knew older women who had been programmers, but who had moved out of the business. I think the field is opening up now largely through the efforts of women to help other women, with the aid of some fair-minded men as well. With enough support this trend should continue, and I hope it continues to make things better for women in coding. Currently, two-thirds of my team’s engineers are women, and it’s one of the best teams I’ve ever led. It also helps that there is such a demand for talent in coding that employers are starting to realize that they are really missing an opportunity to hire for their business if they aren’t as inclusive as possible.
5. What goals did you have in mind as you approached this revised edition — the third! — of The Quick Python Book?
A lot has changed over the eight years since the previous edition, with certain tools and approaches being replaced by others, along with developments in the language. So I wanted to prune out the material that was no longer current, and add some new things. We also decided to add exercises and labs, responding to research and experience as to what makes a useful and successful book. As always, the overall goal was to keep improving The Quick Python Book to make it a better resource for coders coming to Python from other languages who want to get up to speed quickly.
6. Which phase of Roman history most closely mirrors the contemporary era?
What? Is this a trick question to see if I really did get a Ph.D in Classics?
You caught me!
Well, I think it depends on your point of comparison. For example, you might compare the rise of China with the Republic on the march after the Punic wars. If the US is your point of comparison, off the top of my head I’d say the Empire under Claudius or Nero. Mind you, it’s been 25 years since I thought much about Roman history, so if I put more thought into it, I might change my answers…
Originally published at freecontent.manning.com.