Python has been around for almost three decades. You can use is for web development. You can use it for magic school buses. It has a growing base of developers looking for a programming language that is easy to use, easy to learn, and easy to teach – but broadly applicable.
Microsoft is lucky to have Python developer, Nina Zakharenko, join the team recently. We caught up with her this week to discuss what’s been sparking the community involvement all these years and learn more about the current community projects.
Q) Tell us something about yourself… how did you get involved with the Python community?
A) I’ve been a software developer for going on 12 years now. I started my career as a Java developer, which is what I learned in college and have really enjoyed. At the time, I didn’t really know anything about open source – I stumbled across the concept here-and-there, but didn’t really understand it and how it applied to me.
At a job a few years ago, I started writing Python scripts for some internal tools and my company at the time was gracious enough to pay for me to attend PyCon 2012. I was blown away by the friendly people, the community, and the willingness of the participants to work together. It impressed me so much that I ended up quitting my job as a Java developer!
I spent a summer going to the Recurse Center in New York, which is like a writer’s retreat, but for programmers. In order take the time to properly teach myself Python, as well as a slew of other technologies. Since then, I’ve been lucky enough to do development work primarily in Python and contribute back to the community. This year’s PyCon in Cleveland will be my sixth in a row and I’m giving a talk on elegant solutions for everyday Python problems.
Q) Python is turning 27 years old this year, and yet here we are still talking about it and so many developers use it daily. What’s so special about Python?
A) Python is easy to use, easy to learn, easy to teach. 8 of the 10 top CS programs use Python to teach introductory CS courses. It has amazing tooling for all types of application – for the web, for AI, for ML. Python is portable, it runs on modern operating systems, including Windows, Linux, and macOS.
I think where Python really shines is the community and the people: you’d be hard-pressed to find such an amazing group of people who work so incredibility hard to have a strong and inclusive global community. And to support that cause, Python also has a secret weapon, which is the Python Software Foundation (PSF), a non-profit whose mission is to promote, project, and advance the Python program language and also facilitate the growth of a diverse and international community of Python programmers. They do a ton of outreach and distribute funds from their non-profit organization, host PyCon US, and help support multiple Python conferences held all over the globe.
Q) Where do you see Python being used today?
A) So many places. You have pandas, NumPy, and Jupyter notebooks for AI and ML. It’s even easier to use additional libraries to visualize and plot your data. Python is used a ton in education. Flask and Django are the two most popular frameworks for web developers. There’s kind of something for everyone. These days there’s even MicroPython and CircuitPython that runs Python on microcontrollers, which is really cool.
My favorite use case is my friends who converted a school bus to use as a home, a mobile tiny home for their family. All the batteries, the electronics and similar stuff are monitored in Python. All the lighting for the bus is done in Python.
Even if Python isn’t a developer’s primarily language, they’ll end up reaching to Python for internal tools, scripts, or as a strong secondary language that lets them get work done quicker.
Q) What are the advantages of using Python to build web apps?
A) Super easy and you have a wide range of options, if you want something really light-weight and something that’s out of the way. You have what’s called microframeworks like Bottle and Falcon. On the midscale side, you have flask, for things that can be hard to implement like authentication. But the top of that list, which is fully-featured with most of the critical components that you need for website, including an admin control panel, you have Django, which is an all-in-one solution. There are tons of people using it. They have a great community. The project has amazing documentation – it’s pretty easy-to-use and it can save you a lot of time when you need to get up and running.
Q) As a Python developer, what led you to join Microsoft?
A) I’ve been with Microsoft for about 6 weeks now – very new! I was a little bit on-the-fence about stepping away from full-time development work, but I’ve been really loving it here. I haven’t looked back. I get to still do all the stuff I love to do: write code, prepare talks, do workshops, teach people, and share my knowledge. But my day-to-day has shifted away from a specific code-base to a community.
I become aware of the role from Ashley McNamara’s blog post about why she joined Microsoft. She introduced me to the Azure Cloud Developer Advocacy organization, how it reported to engineering, and how they understood how to tap into her strengths. I ended up joining Microsoft because I was really impressed with their commitment to open source and the incredible caliber of people on the diverse team that I joined. My co-workers continue to impress me every single day. I feel like I have a ton to learn every single day from people like Ashley, Bridget, Brian K, and others, who are so entrenched in their own communities.
Q) What is Microsoft doing with the Python community today?
A) Quite a few things. Visual Studio Code, which is an awesome and very popular code editor: it’s lightweight, open source and runs on macOS, Linux and Windows. Microsoft has an internal team that works on the Python extension, which turns your Visual Studio Code into a Python IDE. Checking out some of the products at our demo booth at PyCon this year I was surprised to learn that Visual Studio has awesome open source Python tools, and it’s not just a C++ and C# IDE. And, the new Visual Studio Live Share feature was just announced at Build for Visual Studio and VS Code: If you’re on a remote team it allows you to collaborate on code while staying in your own development environment.
There’s Azure notebooks, which are Jupyter notebooks that are hosted in the cloud. They’re fun because instead of just running Jupyter notebooks on your machine, you can have them in the cloud and share them if you want to. They are a great tool for teaching and totally free to use right now, which is awesome.
Microsoft also has five active core developers: Brett, Steve, Eric, Dino, and Barry, which is more than any other organization. They work on Python projects at Microsoft, but they also actively contribute to the language itself.
Q) Where do you see Python going in the future?
A) Up, up, and away! Based on the recent StackOverflow survey, they say Python has a solid claim to being the fastest-growing major programming language. And, I think as long as the community stays as strong and as vibrant as it is now, we’ll only have more amazing things to see from Python in the future.
So far, the Python community has been incredibly forward-thinking. For example, PyCon is one of the first conferences, that I remember, to have a focus on diversity and offered financial aid. Based on that forward-thinking, we’ve increased the percentage of women participants and have had a greater show of diversity on all fronts. I can’t wait to see the trend continuing. The community also embraces young coders with events and workshops.
And, the Python community is incredibly welcoming to newcomers and beginners. If you show up to a PyCon event, no one will make fun of you for being a code newbie. They make the event accessible too: you pay for the conference, but tickets are steeply discount for individuals. Even if you can’t afford to go, everything is posted online. So, if you don’t have the means to come to a PyCon, all the materials are posted for free on pyvideo. Given its inclusiveness, this community will continue to grow and inspire new ideas and projects for generations to come.
More information for Python developers: