This week we welcome Lisa Roach as our PyDev of the Week! Lisa is one of the authors of PEP 526 – Syntax for Variable Annotations which is a part of Python 3.6. You can check out which FOSS projects Lisa is interested in over on Github. Let’s take a few moments to get you know Lisa better!
Can you tell us a little about yourself (hobbies, education, etc):
I’m originally from Cleveland, Ohio, and I went to Ohio University. After graduation in 2014 I moved to Silicon Valley and took a job with Cisco, where I do some interesting work with networking devices and Python. Right now I focus on developing Python applications that can run on containers on top of our routers and switches. The applications usually do some form of automation for the device, although my last project I did custom RIB table injections. For fun, I enjoy hiking and cycling on weekends, and I like to relax after work with some video games. My go to right now is Fallout 4.
Why did you start using Python?
I started using Python because it is the most widely supported language for developing against network devices, which I do for my job. A lot of networking backend code is written in C, but building applications to run on top of or automate network devices is often done in Python.
What other programming languages do you know and which is your favorite?
I learned C++ in college, and during my internships I worked in C#. For about the past year and a half I have been working as a Python developer, and it has quickly become my favorite language!
What projects are you working on now?
I’ve been contributing to the CPython backend, although I still have a lot to learn there. I am also starting to contribute to a really cool project called ExaBGP, which is a Python based BGP “swiss-army knife”. Right now ExaBGP has no FIB manipulation capabilities, so I am looking to add a way to inject the BGP routes into the Linux FIB table. Anyone who is interested in a Python based BGP implementation should definitely check it out!
Which Python libraries are your favorite (core or 3rd party)?
I think the Python collections module is pretty awesome, and under used (by myself included!). For third party I really like Scapy, it’s fun to play with generating and sending packets, or at least it’s fun for me :). I especially like the ability to create, add, and remove labels, which has helped with my understanding of MPLS and Segment Routing.
Where do you see Python going as a programming language?
I think Python is going to continue to grow in popularity in the realms of data science and networking, which will encourage the development of Python libraries that focus on those areas. Additionally, in Python 3.6 the impressive work done on async.io, as well as various speed and memory enhancements, will hopefully encourage Python 2 users that switching to Python 3 is worth the risk. Something I would love to see in the future is mobile support for Python, so I am keeping a close eye on the Beeware project.
What is your take on the current market for Python programmers?
The market for Python programmers is growing. I’ve been hearing of more and more companies that have their software completely developed in Python, so Python developers with any variety of programming experience (frontend, backend, data manipulation, etc) can find roles. Even if a company isn’t mostly a Python shop, Python has worked its way into so many software systems, acting as the glue between applications, that its usefulness as a skill is only growing.
Is there anything else you’d like to say?
I want to say thank you to Mike for including me on PyDev of the Week, and thank you to Python community as a whole for being such a warm and welcoming place. I encourage anyone who is interested in getting more involved in the community to get involved by attending PyCon and your local Python meetups!
Thanks so much for doing the interview!