I love speaking opportunities! This page provides a complete history of my public speaking engagements. If you’d like to invite me to speak at your event, please review my speaking policy and then contact me.
Keynote Addresses
| Title | Event | Date |
|---|---|---|
| Is BDD Dying? | TestingMind Raleigh 2025 | 09/25 |
| Reimagining Automation | DevOpsDays Baltimore 2025 | 05/25 |
| Making Great Waves: 8 Software Testing Convictions | Virginia Tech Testing Summit | 05/25 |
| Is BDD Dying? | Test Automation Days NL 2025 | 03/25 |
| Fixing a Bug: The Automation Panda Goes Manual | Global Testing Retreat 2024 | 11/24 |
| Fixing a Bug: The Automation Panda Goes Manual | Abstracta Amplify 2024 | 08/24 |
| Fixing a Bug: The Automation Panda Goes Manual | QA or the Highway 2024 | 06/24 |
| Managing the Test Data Nightmare | DevOpsDays Raleigh 2024 | 04/24 |
| Reimagining Automation | Agile Testing Days 2023 | 11/23 |
| Testing Modern Web Apps Like A Champion | DjangoCon US 2023 | 10/23 |
| Making Great Waves: 8 Software Testing Convictions | Live2Test | 05/23 |
| Managing the Test Data Nightmare | DevOpsDays Baltimore | 05/23 |
| Full-Stack Python | PyTexas 2023 | 04/23 |
| What’s New With TAU? | TAU Conference 2023 | 03/23 |
| Making Great Waves: 8 Software Testing Convictions | Scotiabank QualCon ‘22 | 11/22 |
| Making Great Waves: 8 Software Testing Convictions | Future of Testing Fall 2022 | 10/22 |
| Making Great Waves: 8 Software Testing Convictions | AutomationSTAR 2022 | 10/22 |
| Open Testing: Opening Tests Like Opening Source | TestIstanbul 2022 | 10/22 |
| Making Great Waves: 8 Software Testing Convictions | Future of Testing APAC | 08/22 |
| The State of the Union for Front End Testing | Front-End Test Fest 2022 | 06/22 |
| Making Great Waves: 8 Software Testing Convictions | STAREAST 2022 | 04/22 |
| Open Testing: What if we open our tests like we open our source? | TSQA 2022 | 03/22 |
| Test Automation’s Next Great Wave | Future of Testing: Frameworks 2022 | 02/22 |
| Open Testing: What If We Opened Our Testing Like We Open Our Source? | STARWEST 2021 | 10/21 |
| Tutoring: A Lifelong Impact | RIT TutorCon 2018 | 02/18 |
Conference Talks
| Title | Conference | Date |
|---|---|---|
| Building a Test Framework from Scratch (or Not)! | STARCanada 2025 | 10/25 |
| Vibe Coding AMA | TestFlix 2025 | 10/25 |
| Are API Tests Overrated? Let’s Mitigate Risks in Smarter Ways | STARWEST 2025 | 09/25 |
| Scaling Automated Tests to Infinity and Beyond | STAREAST 2025 | 05/25 |
| Building a Test Framework from Scratch (or Not)! | PyTexas 2025 | 04/25 |
| 5 Unexpected Dev Tips (Lightning Talk) | PyTexas 2025 | 04/25 |
| Next-Level Playwright Testing Techniques | Automation Guild 2025 | 02/25 |
| Making Great Waves: 8 Software Testing Convictions | CodeMash 2025 | 01/25 |
| Scaling Automated Tests to Infinity and Beyond | CodeMash 2025 | 01/25 |
| Front-End Testing Framework Panel | CodeMash 2025 | 01/25 |
| Bulldog-Driven Development (Lightning Talk) | CodeMash 2025 | 01/25 |
| Stupid Smart Tech (Lightning Keynote) | STARWEST 2024 | 09/24 |
| Scaling Automated Tests to Infinity and Beyond | GeoSTQB Software Tester’s Day 2024 | 09/24 |
| Gear Up for AI Impact on Businesses (Panel) | QuaNTA NXT 2024 | 08/24 |
| Managing the Test Data Nightmare | ElevateDev ’24 (Genetec) | 05/24 |
| Bulldog-Driven Development (Lightning Keynote) | STAREAST 2024 | 05/24 |
| Reimagining Automation | TestingMind Raleigh-Durham 2024 | 05/24 |
| Bulldog-Driven Development (Lightning Talk) | PyTexas 2024 | 04/24 |
| Managing the Test Data Nightmare | Colombo Test Automation Conference | 02/24 |
| Full Stack Python with HTMX | PyOhio 2023 | 12/23 |
| Which web testing tool should I use? | AutomationSTAR | 11/23 |
| Open Testing: Opening Test Like Opening Source | Quality Sense Conf 2023 | 11/23 |
| Managing the Test Data Nightmare | TestingMind Raleigh-Durham 2023 | 10/23 |
| Awesome Web Testing with Playwright | PyGotham TV 2023 | 10/23 |
| Modern Web Testing with Playwright | Global Testers Day 2023 by QA Touch | 10/23 |
| How to Write a Good Test (Lightning Keynote) | STARWEST 2023 | 10/23 |
| Maximizing Test Value with Playwright | This Dot Conference | 08/23 |
| A Live Intro to Python Testing | Testµ Conference | 08/23 |
| Making Great Waves: 8 Software Testing Convictions | KCDC 2023 | 06/23 |
| Open Testing: Opening tests like opening source | KCDC 2023 | 06/23 |
| Self-Healing for your Flaky Front-End Tests | Front End Test Fest 2023 | 06/23 |
| Managing the Test Data Nightmare | QA or the Highway 2023 | 05/23 |
| My 1970 VW Beetle (Lightning Keynote) | STAREAST 2023 | 05/23 |
| Ignite Talk: 8 Software Testing Convictions | DevOpsDays Raleigh 2023 | 04/23 |
| What web testing framework should I use? | PyCon US 2023 | 04/23 |
| Playwright with Python | PyCon US 2023 (Microsoft Booth) | 04/23 |
| Managing the Test Data Nightmare | Selenium Conference 2023 | 03/23 |
| How Visual AI Makes Testing Easy | Python Web Conference 2023 | 03/23 |
| Autonomous Testing: Software Quality’s Next Great Wave | Improve: Testing | 02/23 |
| How Visual AI Makes Testing Easy | DPEK 2023 | 02/23 |
| Are you ready for autonomous testing? | Automation Guild 2023 | 02/23 |
| Autonomous Testing: Test Automation’s Next Great Wave | Global Testing Retreat 2022 | 12/22 |
| Visually Testing Your Components | Conf42: JavaScript 2022 | 11/22 |
| Managing the Test Data Nightmare | All Things Open 2022 | 11/22 |
| The Visual Testing Revolution | AutomationSTAR 2022 | 10/22 |
| Web Testing with Playwright and Python in 10 Minutes Flat | Testflix 2022 | 10/22 |
| It’s only “Gherkin” if it’s from the Cucumber region of BDD; otherwise it’s just “sparkling behavior specs” | STARWEST 2022 | 10/22 |
| Modern Test Automation Strategies – A Panel | STARWEST 2022 | 10/22 |
| What would I do differently? (Lightning Keynote) | STARWEST 2022 | 10/22 |
| The Ultimate Python Testing Panel | PyBay 2022 | 09/22 |
| Managing the Test Data Nightmare | Kansas City Developer Conference 2022 | 08/22 |
| A Quickstart to Web Testing with Playwright | PyOhio 2022 | 07/22 |
| The Screenplay Pattern: Better Interactions for Better Automation | Selenium Conference 2022 | 07/22 |
| An Introduction to Selenium WebDriver with Python | Selenium Conference Lite 2022 | 07/22 |
| Awesome Web Testing with Playwright in Python | EuroStar Huddle Deep Dive Week | 07/22 |
| Open Testing: What if we open our tests like we open our source? | Conf42: Site Reliability Engineering 2022 | 06/22 |
| How Visual AI Makes Testing a Breeze | Conf42: Machine Learning 2022 | 05/22 |
| Open Testing: What if we open our tests like we open our source? | QA or the Highway 2022 | 05/22 |
| Managing the Test Data Nightmare | PyCon US 2022 | 05/22 |
| How to Write a Test Case (Lightning Talk) | PyCon US 2022 | 05/22 |
| Open Space: Automation Panda AMA | PyCon US 2022 | 05/22 |
| Visual Component Testing with Storybook | Future of Testing: UX | 04/22 |
| Awesome Modern Web Testing with Playwright | PyTexas 2022 | 03/22 |
| Managing the Test Data Nightmare | PyTexas 2022 | 03/22 |
| East Meets West When Translating Django Apps | Python Web Conf 2022 | 03/22 |
| A Visual Testing Revolution | TSQA 2022 | 03/22 |
| The Screenplay Pattern: Better Interaction for Better Automation | QA Global Summit ’22 by Geekle | 02/22 |
| Real Talk on Cross-Browser Testing | Automation Guild 2022 | 02/22 |
| How Decorators Function | Conf42: Python 2022 | 01/22 |
| Open Testing: What if we open our tests like we open our source? | TAU: The Homecoming | 12/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | TDC The Future 2021 | 12/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | Automation in Action (Ukraine) | 10/21 |
| Managing the Test Data Nightmare | DjangoCon 2021 | 10/21 |
| Jumpstart Python Testing in 5 Minutes Flat | TestFlix | 10/21 |
| Managing the Test Data Nightmare | PyBay Food Truck Edition | 10/21 |
| Beyond Units: End-to-End Web UI Testing | PyCon Taiwan 2021 | 10/21 |
| How Decorators Function in Python | DevNation Day 2021 | 09/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | TestBustersDay&Night | 09/21 |
| Managing the Test Data Nightmare | QA Global Summit Vol 2 by Geekle | 08/21 |
| Start Testing in 5 Minutes Flat | PyOhio 2021 | 07/21 |
| Managing the Test Data Nightmare | QA Summit by Xpanxion | 07/21 |
| Managing the Test Data Nightmare | API Testing Summit 2021 | 07/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | TestingMind 2021 USA Season 4 | 05/21 |
| Managing the Test Data Nightmare | SauceCon 2021 | 04/21 |
| A live intro to pytest | Heisenbug 2021 Piter | 04/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | CP-SAT Selenium Summit 2021 | 02/21 |
| Using DSLs for Security Testing | Open Security Summit 2021 | 01/21 |
| A Live Intro to pytest | The Python Week 2021 | 01/21 |
| How Decorators Function | PyTexas 2020 | 10/20 |
| The Screenplay Pattern: Better Interactions for Better Automation | Selenium Day – North America | 10/20 |
| How Decorators Function | PyCon India 2020 | 10/20 |
| Decorators are Great! Act Now!! | PyGotham TV 2020 | 10/20 |
| pytest: A Live Intro | PyBay 2020 | 07/20 |
| How to Write a Test Case | PyOhio 2020 | 07/20 |
| East Meets West When Translating Django Apps | PyCon 2020 | 04/20 |
| East Meets West When Translating Django Apps | PyTennessee 2020 | 03/20 |
| Egad! How Do We Start Writing (Better) Tests? (Impromptu) | PyTennessee 2020 | 03/20 |
| East Meets West When Translating Django Apps | PyCascades 2020 | 02/20 |
| How to Start Testing with Python | Automation Guild 2020 | 02/20 |
| Behavior-Driven Pragmatism | TestBash San Francisco 2019 | 11/19 |
| Beyond Unit Tests: End-to-End Web UI Testing | PyGotham 2019 | 10/19 |
| Surviving Without Python | PyOhio 2019 | 07/19 |
| From Zero to Testing: PrecisionLender’s Continuous Automation Journey | Test Automation Days 2019 | 06/19 |
| 3 Quick Tips for Software Blogging (Lightning Talk) | PyCon 2019 | 05/19 |
| Egad! How Do We Start Writing (Better) Tests? | PyTexas 2019 | 04/19 |
| Egad! How Do We Start Writing (Better) Tests? | PyCaribbean 2019 | 02/19 |
| Behavior-Driven Python with pytest-bdd | PyCaribbean 2019 | 02/19 |
| Behavior-Driven Python with pytest-bdd | PyCon Canada 2018 | 11/18 |
| Egad! How Do We Start Writing (Better) Tests? | PyGotham 2018 | 10/18 |
| Egad! How Do We Start Writing (Better) Tests? | PyOhio 2018 | 07/18 |
| Behavior-Driven Python | PyCon 2018 | 05/18 |
| Testing is Fun in Python! | PyData Carolinas 2016 | 09/16 |
Tutorials, Workshops, and Open Spaces
| Title | Event | Date |
|---|---|---|
| Stop Guessing and Start Planning with Better Behavior Discovery | STARCanada 2025 | 10/25 |
| Formulating Tests that Just Make Sense with Gherkin | STARCanada 2025 | 10/25 |
| Modern Web Testing with Playwright | STARCanada 2025 | 10/25 |
| test_my_code_with_python() | STARCanada 2025 | 10/25 |
| Stop Guessing and Start Planning with Better Behavior Discovery | STARWEST 2025 | 09/25 |
| Formulating Tests that Just Make Sense with Gherkin | STARWEST 2025 | 09/25 |
| Modern Web Testing with Playwright | STARWEST 2025 | 09/25 |
| test_my_code_with_python() | STARWEST 2025 | 09/25 |
| Advanced Playwright with AI | Testµ Conference 2025 | 08/25 |
| Stop Guessing and Start Planning with Better Behavior Discovery | STAREAST 2025 | 05/25 |
| Formulating Tests that Just Make Sense with Gherkin | STAREAST 2025 | 05/25 |
| Modern Web Testing with Playwright | STAREAST 2025 | 05/25 |
| test_my_code_with_python() | STAREAST 2025 | 05/25 |
| Awesome Web Testing with Playwright | Test Automation Days NL | 03/25 |
| Awesome Web Testing with Playwright | CodeMash 2025 | 01/25 |
| BDD for Champions! | STARWEST 2024 | 09/24 |
| Modern Web Testing with Playwright | STARWEST 2024 | 09/24 |
| Robustly Scaling Playwright Tests | Testµ Conference 2024 | 08/24 |
def test_crash_course_with_pytest(): | PyCon US 2024 | 05/24 |
| BDD for Champions! | STAREAST 2024 | 04/24 |
| Modern Web Testing with Playwright | STAREAST 2024 | 04/24 |
def test_my_code_with_pytest(): | PyTexas 2024 | 04/24 |
| Modern Web Testing with Playwright | Worqference 2024 | 02/24 |
| Awesome Web Testing with Playwright | AutomationSTAR | 11/23 |
| Awesome Web Testing with Playwright | Agile Testing Days 2023 | 11/23 |
| Visual Testing with Cypress | STARWEST 2023 | 10/23 |
| BDD for Champions! | STARWEST 2023 | 10/23 |
| Visual Testing with Cypress | STAREAST 2023 | 05/23 |
| BDD for Champions! | STAREAST 2023 | 05/23 |
| What challenges are y’all facing with testing and automation? | DevOpsDays Raleigh 2023 | 04/23 |
| Head-to-Head Web Testing with Playwright | TAU Conference 2023 | 03/23 |
| BDD for Champions! | STARWEST 2022 | 10/22 |
| Automating Visual Tests with Cypress | STARWEST 2022 | 10/22 |
| Awesome Modern Web Testing with Playwright | PyCon US 2022 | 04/22 |
| Awesome Web Testing with Playwright in Python | STAREAST 2022 | 04/22 |
| Writing Good Gherkin | STAREAST 2022 | 04/22 |
| End-to-End Testing with Playwright | Python Web Conf 2022 | 03/22 |
| Workshop: Playwright | TAU: The Homecoming | 12/21 |
| Hands-On Web App Test Automation | PyCon 2020 | 04/20 |
| Blasting Off with Good Gherkin | TSQA 2020 | 02/20 |
| Hands-On Web UI Testing | DjangoCon 2019 | 09/19 |
| Hands-On Web UI Testing | PyOhio 2019 | 07/19 |
Webinars, Meetups, and Company Events
| Title | Host | Date |
|---|---|---|
| Successfully Scaling Automated Tests | Chicago Quality Assurance Association | 10/25 |
| Writing Good Test Cases | Parata | 09/25 |
| Successfully Scaling Automated Tests | Valtech | 09/25 |
| Successfully Scaling Automated Tests | PyTexas | 08/25 |
| Making Great Waves: 8 Software Testing Convictions | spriteCloud | 03/25 |
| Selenium, Cypress, & Playwright: Picking the Right Tool for the Job | Zebrunner | 08/24 |
| Managing the Test Data Nightmare | TestBustersNight | 04/24 |
| Managing the Test Data Nightmare | PractiTest | 03/24 |
| Reimagining Automation | SQGNE | 02/24 |
| Hands-On Python Testing | The Test Tribe | 01/24 |
def test_crash_course_with_pytest(): | PyTexas | 12/23 |
| Awesome Web Testing with Playwright | JS Drop | 08/23 |
| Modern Web Testing with Playwright | Modern Web ATL | 07/23 |
| Full-Stack Python | IndyPy | 07/23 |
| Let The Engineers Speak: Test Maintainability | Applitools | 05/23 |
| How Visual AI Makes Testing Easy | The Monthly Dev | 04/23 |
| How Visual AI Makes Testing Easy | Applitools (Apple) | 03/23 |
| Let The Engineers Speak: Selectors | Applitools | 03/23 |
| How Visual AI Makes Testing Easy | Applitools (Corebridge Financial) | 03/23 |
| Future-Proofing Your Automation Pipeline | Applitools & Cypress | 01/23 |
| Introduction to Applitools and Test Automation University | EC Utbildning | 01/23 |
| How to Enhance UI/UX Testing by Leveraging AI | Applitools & TTC | 01/23 |
| Selenium, Cypress, Playwright, or WebdriverIO? Let The Engineers Speak! | Applitools | 12/22 |
| The Visual Testing Revolution | Applitools (Apple) | 11/22 |
| The Visual Testing Revolution | Applitools (Cox Automotive Inc) | 09/22 |
| The Visual Testing Revolution | Applitools (Johnson & Johnson) | 09/22 |
| The Visual Testing Revolution | Future of Testing Forum | Seattle | 09/22 |
| 7 Major Software Testing Trends | Endava | 09/22 |
| Cypress vs. Playwright: The Rematch! | Applitools | 09/22 |
| Managing the Test Data Nightmare | Devbridge | 09/22 |
| How I started mobile testing with a Selenium background | Selenium Test Automation User Group (LinkedIn) | 08/22 |
| The Visual Testing Revolution | Houston Software Quality Engineering Group | 08/22 |
| Modern Cross-Browser Testing with Selenium in Java | Applitools | 08/22 |
| The Visual Testing Revolution | Applitools (Paychex) | 07/22 |
| Simplifying Cross-Device Testing For Native Mobile Apps | Applitools | 07/22 |
| The Visual Testing Revolution | PractiTest | 07/22 |
| Coded vs. Codeless Testing Tools – And the Space In Between | Applitools | 06/22 |
| Modernizing Your Software Quality Assurance with Visual Testing | AITP RTP | 06/22 |
| A Visual Testing Revolution | Future of Testing Forum | Raleigh | 06/22 |
| The Screenplay Pattern: Better Interactions for Better Automation | .NET Community Austria | 05/22 |
| Cypress vs. Playwright: Let The Code Speak | Applitools | 05/22 |
| The Screenplay Pattern: Better Interactions for Better Automation | ZappleTech | 04/22 |
| A Visual Testing Revolution | QualityAssuranceGroup | 04/22 |
| Modern Cross Browser Testing for Storybook Components | Applitools | 03/22 |
| Modern Cross Browser Testing in JavaScript using Playwright | Applitools | 03/22 |
| Cross Browser Testing with Cypress | Applitools | 02/22 |
| Modern Cross-Browser Testing | Applitools | 12/21 |
| Selenium vs. Playwright: Let The Code Speak | Applitools | 12/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | Continuous Testing Meetup | 12/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | automateIT (Zenitech Lithuania) | 09/21 |
| East Meets West When Translating Django Apps | PyLadies Seattle | 08/21 |
| Managing the Test Data Nightmare | ChiPy & IndyPy | 07/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | Applitools | 05/21 |
| The Screenplay Pattern: Better Interactions for Better Automation | QA Touch | 12/20 |
| Livestream: Refactoring Page Objects with SpecFlow and Boa Constrictor | SpecFlow (SabotageAndi) | 11/20 |
| Behavior-Driven Pragmatism | UltimateQA | 11/20 |
| How to Start Testing with Python | Software Test Pro | 09/20 |
| Behavior-Driven Pragmatism | QA at the Point | 07/20 |
| Behavior-Driven Python with pytest-bdd | Carlos Kidman | 07/20 |
| A Live-Coding Intro to pytest | Chicago Python WebDev/DevOps SIG | 04/20 |
| East Meets West When Translating Django Apps | Virtual Nationwide Django Meetup | 04/20 |
| Surviving Without Python | TriPython | 11/19 |
| Web UI Testing with Python and LambdaTest | LambdaTest | 10/19 |
| Hands-On UI Testing with Python | SmartBear CrossBrowserTesting | 07/19 |
| Egad! How Do We Start Writing (Better) Tests? | TriPython | 07/19 |
| How Do We Write Good Gherkin as Part of BDD? | Beaufort Fairmont | 06/19 |
| What is BDD, and How Do We Practice It? | Beaufort Fairmont | 03/19 |
| Beyond Unit Testing: End-to-End Web UI Testing | Women Who Code Python | 03/19 |
| From Zero to Testing: PrecisionLender’s Continuous Automation Journey | TISQA | 03/19 |
| Empowering Continuous Testing through Behavior-Driven Development | Cycle Automation | 10/18 |
| Testing is Fun in Python! | PyLadies RDU | 03/17 |
Interviews and Podcasts
Conference Reflections
- PyCon 2020 is Cancelled: Here’s Why It Hurts And What We Can Do
- PyOhio 2019 Reflections
- PyCon 2019 Reflections
- PyTexas 2019 Reflections
- PyCaribbean 2019 Reflections
- PyCon Canada 2018 Reflections
- PyGotham 2018 Reflections
- PyOhio 2018 Reflections
- PyCon 2018 Reflections
- The Panda’s Dozen: Top PyCon 2018 Talks