DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Coding
  3. Languages
  4. PyDev of the Week: Steve Dower

PyDev of the Week: Steve Dower

Take a look at this week's PyDev and Microsoft developer, Steve Dower, as he talks about bringing Python to the Microsoft community.

Mike Driscoll user avatar by
Mike Driscoll
·
Dec. 11, 18 · Interview
Like (3)
Save
Tweet
Share
3.16K Views

Join the DZone community and get the full member experience.

Join For Free

This week we welcome Steve Dower (@zooba) as our PyDev of the Week! Steve is a core developer of the Python language itself where he produces the Windows builds and installers. He also works for Microsoft. He has a blog that isn't updated that often but it is interesting nonetheless. You can see some of the things he is working on in the open source world via Github. Let's take a few moments to get to know Steve better!

Can you tell us a little about yourself (hobbies, education, etc)?:

I studied mechatronics and software engineering and computer science in Australia, then moved out to the US in 2012 to take a job at Microsoft. Since then I've been one of the most annoying people at Microsoft, telling people they should be using Python and trying to give them all the excuses they need, and it's been really exciting to start seeing that pay off. We now have thousands of people actively using Python here, teams are defaulting to building Python libraries for their tools (sometimes even before they write the .NET versions!), we have a vibrant community with meetups and internal conferences, and everyone seems to be talking about Python.

Why did you start using Python?

One of my summer jobs, while I was studying, was for a startup designing medical diagnosis devices. They had this amazing custom MATLAB-like app for controlling their prototype, and all its scripting was in Python. So I spent a summer driving pumps and motors and reading sensors using Python, then went back to university and never really looked back!

What other programming languages do you know and which is your favorite?

I've been developing for a long time now (I won't say how long, but I will say I already knew assembly language before starting university), so I've encountered a lot of languages. I actually really enjoy C++, particularly template metaprogramming, because like Python it lets the library developer do a lot of magic that the user never has to know about. One of my favourite examples of this is pybind11 - the amount of code that is generated for such simple declarations is amazing. Similarly, the Enum class added in Python 3.4 has some very impressive magic behind it that you don't have to know or care about when simply using it.

What projects are you working on now?

I wish I could talk more about them, but release and disclosure dates are all over the place. These days, I'm working with a lot of teams at Microsoft to help them improve their Python prowess, whether that's by doing design and code reviews for them, contributing or bootstrapping projects, or finding the "gaps" in our shared tools (continuous integration, for example) and just making sure they're filled. Our plan is to make sure you can always find them all from https://aka.ms/python.

Which Python libraries are your favorite (core or 3rd party)?

I'm a library developer at heart, so anything that lets me write more powerful libraries is off to a good start. I'm a huge fan of Cython and pybind11, and while I don't get to use them often enough I also really like the BeeWare tools, particularly Briefcase for packaging apps into platform-specific installers. I can also never lose my love for requests, without which there's no way I'd ever try and write against any REST API.

Do you have any favorite code snippets that you have submitted or seen in the source?

We do deep code scanning for Intellectual Property reasons whenever we use or distribute open source software, mostly just to make sure that all the code that is claimed to be covered by the license is actually covered by that license. One of the most common problems detected here is code that has been copied from StackOverflow (while it was still Creative Commons licensed) into a library and relicensed apparently without permission (pro tip: if you get permission, add a comment stating that). Every time Python goes through one of these scans, we find code snippets that are allegedly taken from StackOverflow, but on further investigation the code on StackOverflow has actually been taken from Python, and often was written a decade or more earlier! Those are my favorite, because it reminds people of just how long Python has been around, and it really gives a strong sense of awe whenever I contribute to such a powerful and influential project.

How did you become a core developer for the Python language?

Mostly good timing, to be honest. I was interested in helping out with Windows support and the installer in particular at exactly the same time that the primary Windows expert was looking to retire. So when I started approaching core developers I already knew at PyCon with a plan to modernize and improve the installer, they were quite happy to let me do that and evaluate it as a contribution. I also moved the Windows build to a newer and more stable C Runtime, which was one of the biggest issues to that point, and was able to use my influence around Microsoft to make sure the right tools and compilers were available for Python, which let us significantly simplify the setup instructions in the developer guide.

Is there anything else you'd like to say?

It's such a privilege to be a part of the Python community, and to be in a place where I can help that grow. I don't think there is any other technical community quite like it in the world. I'd also like to publicly thank Guido for everything he's contributed to the language throughout his time as BDFL, and wish him the best possible retirement.

Thanks for doing the interview, Steve!

Python (language) Open source code style

Published at DZone with permission of Mike Driscoll, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Top Authentication Trends to Watch Out for in 2023
  • A Beginner's Guide to Back-End Development
  • RabbitMQ vs. Memphis.dev
  • Handling Automatic ID Generation in PostgreSQL With Node.js and Sequelize

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: