The podcast about Python and the people who make it great
Improve Your Productivity By Investing In Developer Experience Design For Your Projects
Summary
When we are creating applications we spend a significant amount of effort on optimizing the experience of our end users to ensure that they are able to complete the tasks that the system is intended for. A similar effort that we should all consider is optimizing the developer experience for ourselves and other engineers who contribute to the projects that we work on. Adam Johnson recently wrote a book on how to improve the developer experience for Django projects and in this episode he shares some of the insights that he has gained through that project and his work with clients to help you improve the experience that you and your team have when collaborating on software development.
Announcements
- Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science.
- When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!
- Your host as usual is Tobias Macey and today I’m interviewing Adam Johnson about optimizing your developer experience
Interview
- Introductions
- How did you get introduced to Python?
- Can you describe what you mean by the term "developer experience"?
- How does it compare to the concept of user experience design?
- What are the main goals that you aim for through improving DX?
- When considering DX, what are the categories of focus for improvement? (e.g. the experience of a given software project, the developer’s physical environment, their editing environment, etc.)
- What are some of the most high impact optimizations that a developer can make?
- What are some of the areas of focus that have the most variable impact on a developer’s experience of a project?
- What are some of the most helpful tools or practices that you rely on in your own projects?
- How does the size of a development team or the scale of an organization impact the decisions and benefits around DX improvements?
- One of the perennial challenges with selecting a given tool or architectural pattern is the continually changing landscape of software. How have your choices for DX strategies changed or evolved over the years?
- What are the most interesting, innovative, or unexpected developer experience tweaks that you have encountered?
- What are the most interesting, unexpected, or challenging lessons that you have learned while working on your book?
- What are some of the potential pitfalls that individuals and teams need to guard against in their quest to improve developer experience for their projects?
- What are some of the new tools or practices that you are considering incorporating into your own work?
Keep In Touch
- @AdamChainz on Twitter
- Website
- adamchainz on GitHub
Picks
- Tobias
- Eternals movie
- Adam
- Fan of Eternals, enjoyed Neil Gaiman series
- Also general MCU fan, watched it all in lockdown
- Moon Knight trailer
Closing Announcements
- Thank you for listening! Don’t forget to check out our other show, the Data Engineering Podcast for the latest on modern data management.
- Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes.
- If you’ve learned something or tried out a project from the show then tell us about it! Email hosts@podcastinit.com) with your story.
- To help other people find the show please leave a review on iTunes and tell your friends and co-workers
Links
- Boost Your Django DX
- Rust
- Ripgrep
- Factory Boy
- Mimesis
- Language Server Protocol
- EditorConfig
- Starship Command Prompt
- Pre-Commit
- Flake8
- DevDocs
- Dash library documentation search tool
- pyupgrade
- StandardJS
- Cython
- The Phoenix Project
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA