Test & Code

Test & Code

Download on the App Store

Test & Code episodes

  • 188: Python's Rich, Textual, and Textualize - Innovating the CLI

    Will McGugan has brought a lot of color to CLIs within Python due to Rich. 
     Then Textual started rethinking full command line applications, including layout with CSS.
     And now Textualize, a new startup, is bringing CLI apps to the web.



    Links:

    • rich
    • rich-cli
    • textual
    • Textualize.io
    • Rich Gallery
    • Textualize Gallery
    • Python Bytes Podcast



    36 min
  • 187: Teaching Web Development, including Front End Testing

    When you are teaching someone web development skills, when is the right time to start teaching code quality and testing practices?

    Karl Stolley believes it's never too early. Let's hear how he incorporates code quality in his courses.

    Our discussion includes:

    • starting people off with good dev practices and tools
    • linting
    • html and css validation
    • visual regression testing
    • using local dev servers, including https
    • incorporating testing with git hooks
    • testing to aid in css optimization and refactoring
    • Backstop
    • Nightwatch
    • BrowserStack
    • the tree legged stool of learning and progressing as a developer: testing, version control, and documentation

    Karl is also writing a book on WebRTC, so we jump into that a bit too.



    Links:

    • Backstop
    • Nightwatch
    • BrowserStack
    • Programming WebRTC: Build Real-Time Streaming Applications for the Web by Karl Stolley



    41 min
  • 186: Developer and Team Productivity

    Being productive is obviously a good thing.
     Can we measure it?
     Should we measure it?
     There's been failed attempts, like lines of code, etc. in the past.
     Currently, there are new tools to measure productivity, like using git metrics.

    Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity.





    52 min
  • 185: Python + Django + Rich + Testing == Awesome

    Django has a handful of console commands to help manage and develop sites.
     django-rich adds color and nice formatting. Super cool.
    In a recent release, django-rich also adds nice colorized tracebacks to the Django test runner. 


    Links:

    • django-rich · PyPI
    • episode 181: Boost Your Django DX - Adam Johnson
    • django-crispy-forms
    • Python Developers Survey 2020 Results 



    22 min
  • 184: Twisted and Testing Event Driven / Asynchronous Applications - Glyph

    Twisted has been supporting asynchronous / event driven applications way before asyncio. Twisted, and Glyph, have also been encouraging automated tests for a very long time.

    Twisted uses a technique that should be usable by other applications, even those using asyncio or other event driven architectures.



    Links:

    • Community Service Award Recipient Glyph Lefkowitz — The PSF article I was referring to early in the episode 
    • Twisted
    • twisted/klein
    • twisted/treq
    • django/daphne — Django Channels HTTP/WebSocket server
    • Scrapy
    • So Easy You Can Even Do It in JavaScript: Event-Driven Architecture for Regular Programmers - YouTube
    • Feature test - twitter engineering
    • Python Testing with pytest — Some reading for Glyph if he wants to learn to love pytest
    • pytest-twisted
    • pygame
    • Pyodide
    • Brython



    41 min
  • 183: Managing Software Teams - Ryan Cheley

    Ryan Cheley joins me today to talk about some challenges of managing software teams, and how to handle them.
     We end up talking about a lot of skills that are excellent for software engineers as well as managers.

    Some topics discussed:

    • handling code reviews
    • asking good questions
    • being honest about what you can't do with current resources and data
    • discussing tradeoffs and offering solutions that can be completed faster than the ideal solution
    • balancing engineering and managing
    • making sure documentation happens
    • remote teams 
      • encouraging collaboration
      • encouraging non-work-related conversations
      • watching out for overworking





    48 min
  • 182: An Unorthodox Technical Interview and Hiring Process - Nathan Aschbacher

    Don't you just love technical interviews, with someone who just saw your resume or CV 5 minutes ago asking you to write some code on a whiteboard. Probably code that has nothing to do with anything you've done before or anything you will do at the company.

    No? Neither does Nathan Aschbacher. 
     So when he started building the team at his company, he decided to do things differently.

    Hiring is one of the essential processes for building a great team.
     However, it's a high noise, low signal process.

    Nathan Aschbacher has a relatively unorthodox tech hiring approach. 
     He's trying to make it very humane, with a better signal to noise ratio. 

    Nathan is not intereseted in bizarre interview processes where the interviewer doesn't know anything about the interviewee beforehand, all people are asked the same questions, and people are asked to code on white boards.

    Instead, he states "if the goal is to try to figure out if the person can do the work with your team, and your trying to build the team that you are adding this person to, they need to know what the team is like, and determine if they want to be part of the team, and the team needs to know what the person is like and if they would be addititve to the team.

    So what's Nathan's process:

    • Screening resumes and CVs, looking for internal motivation to become an expert at something.
    • Basic phone screen, very informal.
    • A couple 2-3 hour pairings with someone on the team with whatever they are working on.
    • Debriefing both the candidate and the team afterwords.
    • Giving the candidate an opportunity for a second impression and following up on difficulties during the pairings.

    We discuss the process, and also:

    • trying to remove the barriers to team integration 
    • treating people as humans 

    And of course, there's the story of how Nathan ended up interviewing someone with Zoo experience an no technical experience for a technical role. Of course, it was a misunderstanding of a job requirement around experience with ZooKeeper. But it's a good story.





    48 min
  • 181: Boost Your Django DX - Adam Johnson

    We talk with Adam Johnson about his new book, "Boost Your Django DX". 

    Developer experience includes tools and practices to make developers more effective and efficient, and just plain make software development more fun and satisfying. 
     One of the things I love about this book is that it's not just for Django devs. 
     I'd guess that about half the book is about topics that all Python developers would find useful, from virtual environments to linters to testing. 
     But of course, also tons of tips and tools for working with Django.


    Links:

    • “Boost Your Django DX” Released — Adam's announcement
    • Boost Your Django DX — The book



    27 min
  • 180: Lean TDD

    Lean TDD is an attempt to reconcile some conflicting aspects of Test Driven Development and Lean Software Development.

    I've mentioned Lean TDD on the podcast a few times and even tried to do a quick outline at the end of episode 162.

    This episode is a more complete outline, or at least a first draft.

    If you feel you've got a good understanding of TDD, and it's working awesome for you, that's great. Keep doing what you're doing. There are no problems.

    For me, the normal way TDD is taught just doesn't work. So I'm trying to come up with a spin on some old ideas to make it work for me. I'm hoping it works for you as well.

    I'm calling the new thing Lean TDD. It's inspired by decades of experience writing software and influence from dozens of sources, including Pragmatic Programmer, Lean Software Development, Test-Driven Development by Example, and many blog posts and wiki articles. 

    The main highlights, however, come from the collision of ideas between Lean and TDD and how I've tried to resolve the seemingly opposing processes.


    Links:

    • Lean TDD | pythontest.com
    • episode 162: Flavors of TDD
    • What is Test Driven Development (TDD)? | Agile Alliance
    • Test First Programming / Test First Development | pythontest.com
    • episode 7: The Waterfall Model and “Managing the Development of Large Software Systems”
    • episode 51: Feature Testing
    • The testing renaissance — Twitter Engineering blog post about Feature Testing
    • Lean software development - Wikipedia



    26 min
  • 179: Exploratory Testing

    Exploratory testing is absolutely an essential part of a testing strategy.
     This episode discusses what exploratory testing is, its benefits, and how it fits within a framework of relying on automated tests for most of our testing.





    11 min

About Test & Code

From the publisher's feed

The Python Test Podcast hosted by Brian Okken

More shows like Test & Code

Radiolab by WNYC Studios

Radiolab

43,853 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

Heavy Networking by Packet Pushers

Heavy Networking

327 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

582 Listeners

Python Bytes by Michael Kennedy and Calvin Hendryx-Parker

Python Bytes

213 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,059 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

139 Listeners

Unexplainable by Vox

Unexplainable

2,313 Listeners

Network Automation Nerds by Packet Pushers

Network Automation Nerds

5 Listeners