Summary
Michael Foord has been working on building and testing software in Python for over a decade. One of his most notable and widely used contributions to the community is the Mock library, which has been incorporated into the standard library. In this episode he explains how he got involved in the community, why testing has been such a strong focus throughout his career, the uses and hazards of mocked objects, and how he is transitioning to freelancing full time.
Preface
Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute.Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.Join the community in the new Zulip chat workspace at podcastinit.com/chatYour host as usual is Tobias Macey and today I’m interviewing Michael Foord mockingly, about his career in PythonInterview
IntroductionsHow did you get introduced to Python?One of the main threads in your career appears to be software testing. What aspects of testing do you find so interesting and how did you first get exposed to that aspect of building software?How has the language and ecosystem support for testing evolved over the course of your career?What are some of the areas that you find it to still be lacking?Mock is one of your projects that has been widely adopted and ultimately incorporated into the standard library. What was your reason for starting it in the first place? Mocking can be a controversial topic. What are your current thoughts on how and when to use mocks, stubs, and fixtures?How do you view the state of the art for testing in Python as it compares to other languages that you have worked in?
You were fairly early in the move to supporting Python 2 and 3 in a single project with Mock. How has that overall experience changed in the intervening years since Python 2.4 and 3.2?
What are some of the notable evolutions in Python and the software industry that you have experienced over your career?
You recently transitioned to acting as a software trainer and consultant full time. Where are you focusing your energy currently and what are your grand plans for the future?
Keep In Touch
EmailWebsiteTwitterPicks
Tobias-Ology BooksImaginary AuthorsFalling Into The SeaCity On FireLinks
IronPythonLondonIronPython in ActionMockUnitTestPlay By EmailSmalltalkRegular ExpressionDijkstra’s Algorithmurllib2Resolver SystemsTDD (Test-Driven Development)PyConTrent NelsonFractalsUnicodeJoel Spolsky (Unicode)OOP (Object-Oriented Programming)End-to-end TestingUnit TestingCanonicalSeleniumAnsibleAnsible TowerAWX (Open Source Tower Codebase)Continuous Integration
Continuous Delivery
Agile Software Development
GitHub
GitLab
Jenkins
Nightwatch.js
py.test
Martin Fowler
Monkey Patching
Decorator
Context Manager
autospec
Golang
2to3
Six
Instagram Keynote
Trans-code
Django Girls
PyLadies
Agile Abstractions
David Beazley
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA