Full Stack Radio

Full Stack Radio

A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.

  1. Thumb 1498056299 artwork

    67: Launch Takeways, Interface Breakthroughs, and First Round Armbars

    In this episode, David shares some lessons learned from the PushSilver Infinite launch: what went well, what could've been improved, and what he would double down on next time.

    Adam talks about some of the UI design challenges he and Steve have been trying to solve, and shares some of the creative solutions they came up with.

  2. Thumb 1496965696 artwork

    66: Pre-Launch Engineering and Testing an HTTP Client

    In this episode, David talks about getting ready for the launch of PushSilver Infinite, and the unexpected engineering effort needed to make the most of a marketing initiative.

    Adam gives an update on gracefully handling errors in the KiteTail checkout process, launching Zttp as an open-source package, and how he used Lumen to power the Zttp integration test suite.

  3. Thumb 1495631360 artwork

    65: New PushSilver Pricing and Co-Founding KiteTail

    In this episode, David shares the details behind the pricing changes he's decided on for PushSilver and talks about some of the new features and marketing strategies he's working on for the upcoming launch.

    Adam shares the details behind his decision to bring on a co-founder for KiteTail, talks the collaboration process when working on an app with somebody else, and give an update on where he's at with getting KiteTail integrated into the Test-Driven Laravel course app.

  4. Thumb 1494258294 artwork

    64: "We Solved Something, Maybe! Or It Might Be a Disaster!"

    Adam and David are joined by Ian Landsman to talk about his latest project Thermostat.io and discuss some pricing ideas for PushSilver and KiteTail.

    Topics include:

    • Thermostat.io and NPS surveys
    • Charging more vs. charging less
    • Finding a niche for PushSilver and how to appeal to that niche
    • One-time purchase lifetime plans for SaaS
    • Percentage-based vs. tiered pricing
  5. Thumb 1493300109 artwork

    63: MicroConf, Dog Food, and Image Previews

    In this episode, Adam and David recap their MicroConf 2017 experiences, give some product updates, and chat about topics like:

    • Dogfooding Cron Dog in PushSilver
    • Dealing with complex validation
    • Why we hate auto-saving UIs
    • Validation issues when supporting "draft" models
    • Expanding the scope of KiteTail
    • Different ways to handle client-side image preview
    • Building a Cron Dog SDK
  6. Thumb 1491848362 artwork

    62: Timezones, Webhook Security, and UI Decisions

    In this episode, David talks about adding timezone support to Crondog, and Adam wrestles with some decisions about dealing with failed webhooks in KiteTail.

    We also talk a lot about different strategies for securing webhooks, and what we're looking forward to at MicroConf.

  7. Thumb 1490879139 artwork

    61: We're Building Products!

    Adam welcomes David Hemphill back to the show, but this time as a co-host!

    David introduces Crondog, the new product he's working on to help developers manage dynamic recurring tasks in their applications.

    Adam introduces KiteTail, an app that let's you create webhook-driven hosted checkout pages; something he wishes he'd had when he launched his course.

    From here on out, Full Stack Radio will follow David and Adam's journey building these new products; discussing interesting technical, design, and business challenges they face along the way.

  8. Thumb 1489597742 artwork
  9. Thumb 1487943689 artwork
  10. Thumb 1486490110 artwork
  11. Thumb 1485302570 artwork
  12. Thumb 1483574567 artwork
  13. Thumb 1481129537 artwork
  14. Thumb 1479481650 artwork
  15. Thumb 1478089997 artwork
  16. Thumb 1476723269 artwork
  17. Thumb 1475683578 artwork

    51: Matt Wynne - Building the Right Thing with BDD

    In this episode, Adam talks to Matt Wynne about Behavior Driven Development with Cucumber.

    Topics include:

    • What exactly is BDD?
    • Is BDD a technical or non-technical practice?
    • How do you get started with BDD?
    • How do you keep the number of system tests low to keep your test suite fast?
    • What's your strategy for dealing with external services in acceptance tests?
    • What are the advantages of using Cucumber even as a solo developer working on a side project?
  18. Thumb 1474487072 artwork

    50: Evan You - What's Coming in Vue.js 2.0

    In this episode, Adam talks to Evan You about what's coming in Vue.js 2.0.

    Topics include:

    • The motivation for rewriting Vue.js from scratch
    • What is a virtual DOM and what are the benefits?
    • How does Vue.js 2.0 stack up performance wise? (spoiler alert, it's fast)
    • When should you use templates vs. a render function?
    • Why two-way props have been deprecated and what you should do instead
    • Best practices for dealing with custom component events
    • The 1.0 to 2.0 upgrade path
    • Building native mobile applications with Vue.js and Weex
  19. Thumb 1473208555 artwork
  20. Thumb 1471940028 artwork
  21. Thumb 1470684746 artwork
  22. Thumb 1469528710 artwork

    46: Joe Ferris - Test Driven Rails

    In this episode, Adam talks to Joe Ferris, CTO at thoughtbot, about the test-driven development workflow he uses to build Rails applications.

  23. Thumb 1468434315 artwork

    45: Derek Prior - From Rails to Phoenix

    In this episode, Adam talks to Derek Prior about building web applications in Elixir with Phoenix, and how it compares to building an application in Ruby on Rails.

  24. Thumb 1467168961 artwork
  25. Thumb 1465962730 artwork
  26. Thumb 1464096388 artwork

    42: Justin Jackson - Marketing for Developers

    In this episode, Adam talks to Justin Jackson, maker extraordinaire, about how to find new product ideas, finding customers for your products, and marketing for developers.

  27. Thumb 1462373705 artwork
  28. Thumb 1461076881 artwork

    40: Edd Mann - You Should Switch to Postgres

    In this episode, Adam talks to Edd Mann, host of Three Devs and a Maybe, about the advantages of using PostgreSQL over MySQL, common obstacles people running into when switching to Postgres, and deciding when to push work into the database instead of doing it in code.

  29. Thumb 1459893531 artwork
  30. Thumb 1458700843 artwork

    38: J.B. Rainsberger - Unit Testability and the Universal Architecture

    In this episode, Adam talks to J.B. Rainsberger about how to keep your adapter layer thin, designing unit testable code, and the importance of paying attention to how your code is changing vs. how your code looks today.

    This episode is brought to you by Laracasts.

  31. Thumb 1457490718 artwork

    37: Chris Hartjes - Getting Started with Testing

    In this episode, Adam talks to the Grumpy Programmer himself about getting started with testing PHP applications.

    Topics include:

    • Recommended testing tools
    • PHPUnit vs. PHPSpec
    • Mockery vs. Prophecy
    • The benefits of defensive programming
    • How to convince your manager to let you write tests

    This episode is brought to you by Laracasts.

  32. Thumb 1456411410 artwork

    36: Jason McCreary - Building Laravel Shift

    In this episode, Adam talks to Jason McCreary about building Shift, a tool that automates upgrading your application between framework versions.

    This episode is brought to you by Laracasts.

  33. Thumb 1455286706 artwork
  34. Thumb 1453898559 artwork

    34: Matt Machuga - Dealing with Dependencies in Active Record Models

    In this episode, Matt Machuga of Think Through Math returns to talk with Adam about design options when you find yourself wanting access to a collaborator in an Active Record or Eloquent model. They discuss the pros and cons of four specific designs, and finish off with their personal recommendations.

    Topics include:

    • Are facades and service location automatically bad?
    • Are NounVerber classes anti-OO?
    • Adding a layer of composition to create domain models with dependencies
    • Using method injection for a temporary dependency
    • Using optional parameters to improve testability

    This episode is brought to you by Laracasts.

  35. Thumb 1452604754 artwork

    33: David Hemphill - Building PushSilver with Vue.js and Beard

    In this episode, Adam talks to David Hemphill about his latest project PushSilver.

    Topics include:

    • Deciding when to build something yourself vs. paying for something off the shelf
    • Choosing a Javascript framework for more traditional server rendered apps
    • Vue.js compared to Angular and Ember
    • The advantages of using a utility-focused CSS approach
    • Distributing front-end libraries

    This episode is brought to you by Laracasts.

  36. Thumb 1450740203 artwork

    32: DHH - Building Basecamp 3 like a Porsche 911

    DHH returns to the podcast to talk in-depth about how Basecamp 3 is designed and implemented!

    Topics include:

    • Why Basecamp is a "majestic monolith", and the impact of organizational shape and size on technical decision making in product development
    • How ActionCable works, and where Basecamp 3 uses websockets that you might not expect
    • Strategies for avoiding duplication in client-side and server-side code
    • The automated testing strategy for Basecamp 3, and how it's influencing the future of testing in Rails 5
    • Why Basecamp 3 has 179 controllers, and what you can learn from their approach that will clean up your codebase

    This episode is brought to you by Laracasts.

  37. Thumb 1449633191 artwork

    31: Woody Zuill - #NoEstimates

    In this episode Adam talks to Woody Zuill about software project estimation. They talk about the #NoEstimates hash tag, and what it means and where it came from. They also talk about ways to manage software projects without worrying about estimation, and alternative ways to make the decisions that estimates are usually used for.

    This episode is brought to you by Laracasts.

  38. Thumb 1448328515 artwork

    30: Evan You - Diving Deep into Vue.js

    In this episode, Adam talks to Evan You, the creator of Vue.js. Evan talks about his time at Google Creative Lab and the sort of work that inspired him to create Vue. He also explains in depth how data binding works in Vue, and how it's different and more performant than Angular. Additionally, Evan discusses the benefits of Vue over React, why Vue works so well in both SPAs and traditional server-side web applications, and strategies for testing Vue components.

  39. Thumb 1447115647 artwork

    29: Mark Otto - Bootstrap 4 and CSS architecture at scale

    In this episode, Adam talks to Mark Otto, creator of Bootstrap and director of design at GitHub. They talk about the brand new alpha release of Bootstrap 4 and some of the most significant changes. They also talk about choosing units, when to use utility classes, and the importance of a component based CSS strategy.

    This episode is brought to you by Laracasts.

  40. Thumb 1445910802 artwork

    28: Jeffrey Way and Dave Marshall - "Don't mock what you don't own"

    In this episode, Adam talks to recurring guests Jeffrey Way and Dave Marshall about "don't mock what you don't own". They talk about how to design code that needs to work with external services, how you should test that code, and the pitfalls you run into when you use mocks incorrectly in your test suite.

    This episode is brought to you by Laracasts.

  41. Thumb 1444696633 artwork

    27: Ben Orenstein - Outside-in TDD and Dependency Injection in Rails

    In this episode, Adam talks to Ben Orenstein of thoughtbot about useful tips for writing the first few tests in your application and working your way down to the unit level by starting with acceptance tests. They also talk about why dependency injection has a bad rap in the Ruby world, and common mistakes Ben sees junior Rails developers make.

    This episode is brought to you by Laracasts.

  42. Thumb 1443490833 artwork

    26: Josh Pigford - What do you need when you launch?

    In this episode, Adam talks to Josh Pigford, founder of Baremetrics, about what you should have ready when you start a SaaS business. They also talk about how most businesses aren't doing as well as you think, content marketing, the benefits of different pricing models, and staying focused on your best idea.

    This episode is brought to you by Laracasts.

  43. Thumb 1442278584 artwork

    25: Matt Machuga - Tips and tricks to make your code awesome

    In this episode, Adam talks to recurring guest Matt Machuga about tips and tricks that lead to better code.

    They talk about bringing functional programming concepts to OO, simple patterns for cleaning up typical MVC web app code, and about how imposing crazy rules like banning conditionals and loops can lead to creative solutions that change the way you think about solving problems. They also get a little too excited about anonymous functions and compositional chains.

    This episode is brought to you by Laracasts.

  44. Thumb 1441192064 artwork

    24: Wes Bos - What the Flexbox?!

    In this episode, Adam talks to Wes Bos about solving all of your CSS problems with Flexbox. They also talk about Bootstrap 4, ReactJS, and Wes' favorite Sublime Text tips and tricks.

    This episode is brought to you by Laracasts.

  45. Thumb 1441192566 artwork

    23: Chris Hunt - How GitHub does remote work

    In this episode, Adam talks to the Healthy Hacker, Chris Hunt, about how his team at GitHub works remotely. They also talk about entertaining your audience at conferences, taking a Codecation, and adventure motorcycling.

    This episode is brought to you by Hired.

  46. Thumb 1441192579 artwork

    22: Corey Haines - The 4 Rules of Simple Design

    In this episode, Adam talks to Corey Haines, author of "Understanding the 4 Rules of Simple Design". They talk about the importance of low-level design decisions, tricks for naming things well, why you shouldn't model your objects after the real world, and of course, Active Record.

    This episode is brought to you by Hired.

  47. Thumb 1441192595 artwork

    21: Chad Pytel - Sticking to your guns

    In this episode, Adam talks to Chad Pytel, CEO of thoughtbot. Chad gives tips for balancing client work with internal product work, growing your client-base without compromising your principles, and applying Jobs to be Done to new client projects.

    This episode is brought to you by Hired.

  48. Thumb 1441192606 artwork

    20: Ian Landsman - Code is not a business

    In this episode, Adam talks to Ian Landsman, founder of Userscape and creator of HelpSpot. Ian talks about the biggest mistakes programmers make when trying to start their own business, where to find new ideas, and why your new software product shouldn't be a SaaS app.

    This episode is brought to you by Hired.

  49. Thumb 1441192619 artwork

    19: Dave Marshall - Designing Effective Tests

    In this episode, Adam talks to Dave Marshall, testing guru and host of That Podcast. Dave talks to Adam about the upcoming Mockery 1.0 release and some interesting API changes destined for 2.0. They also talk about how fakes can improve your tests, fixtures vs. factories, spec-style vs xUnit style test frameworks, and mutation testing.

    This episode is brought to you by Hired.

  50. Thumb 1441192634 artwork

    18: Katie Cerar - Designing and Prototyping for Clients

    In this episode, Adam talks to Katie Cerar, user experience designer at Boltmade. Katie talks to Adam about running a successful kick off meeting, understanding the problems your client is trying to solve, and strategies for getting clients to keep their ideas focused. Katie also talks about the difference between a prototype and an MVP, and how to choose the right prototyping tool to get the feedback you need.

    This episode is brought to you by Hired.

  51. Thumb 1441192649 artwork

    17: Adam Culp - Maximizing Your Conference Experience

    In this episode, Adam talks to Adam Culp, organizer of Sunshine PHP and ZendCon. They talk about how to get into conference speaking, how to make the most of a conference as an attendee, as well as tips for running a great local user group.

    This episode is brought to you by Hired.

  52. Thumb 1441192692 artwork

    16: Kent Beck - Tiny Decisions and Emergent Design

    In this episode, Adam talks to Kent Beck about Smalltalk vs. Java, low level design vs. big picture architecture, planning for the future vs. emergent design, and applying the principles of Extreme Programming in 2015.

    This episode is brought to you by Hired.

  53. Thumb 1441192705 artwork

    15: Everzet - Classicist and Mockist TDD

    In this episode, Adam talks to Konstantin Kudryashov, creator of Behat and BDD Practice Manager at Inviqa. Konstantin and Adam talk about the schools of TDD, how to use test doubles effectively, and common challenges people face when trying to learn TDD.

    This episode is brought to you by Hired.

  54. Thumb 1441192718 artwork

    14: Taylor Otwell - Building Envoyer, Laravel 5.1 and Learning to Program

    In this episode, Adam talks to Taylor Otwell, creator of Laravel. Taylor gives an in-depth behind-the-scenes look at how Envoyer is architected, and shares some new tips and tricks he's been using to keep his code simple. They also talk about the decisions behind upcoming changes in Laravel 5.1, how Taylor learned to program, and how he almost became the manager of a retirement home.

    This episode is brought to you by Hired.

  55. Thumb 1441192733 artwork

    13: Phil Sturgeon - Designing and Testing APIs, Go and PHP 7

    In this episode, Adam talks to Philip J. Sturgeon about designing and testing APIs at Ride. They also talk about building microservices with Go, and some of the new features coming in PHP 7.

    This episode is brought to you by Hired.

  56. Thumb 1441192747 artwork

    12: Jack McDade - Building Photoshoot.io and Getting Stuff Done

    In this episode, Adam talks to Jack McDade creator of Statamic, about building his latest project Photoshoot.io. They also talk about how Jack juggles design and development, and how to buckle down and get things done.

    This episode is brought to you by Hired.

  57. Thumb 1441192759 artwork

    11: Jeffrey Way - "But how does it feel?"

    In this episode, Adam talks with Jeffrey Way of Laracasts about learning, object oriented design, testing, API usability, and whole bunch of other stuff.

    This episode is brought to you by Hired.

  58. Thumb 1424446321 artwork

    10: Type Safety Roundtable with Ryan Tablada and Matt Machuga

    In this episode, Adam talks with Ryan Tablada and Matt Machuga about the philosophical differences between programming in a statically typed language vs. a dynamically typed language. They talk about things like explicit interfaces vs. duck typing, function calling vs. message passing, and some of the recent RFCs around optional typing in the PHP community.

    This episode is brought to you by Hired.

  59. Thumb 1441192838 artwork

    9: David Heinemeier Hansson - Architecture, Patterns and Design

    In this episode, Adam talks with David Heinemeier Hansson, partner at Basecamp and creator of Ruby on Rails. They talk about the pursuit of "purity", Domain Driven Design, ActiveRecord vs DataMapper, and developing an eye for "good code".

  60. Thumb 1441192874 artwork

    8: Sean Devine - Ember and API first

    In this episode, Adam talks with Sean Devine, host of the Ruby on Rails podcast. Sean gives Adam an introduction to building applications with Ember, and how it's different than the way you might sprinkle AngularJS into a mostly server-side app. They talk about why your Ember apps shouldn't be mixed in with your server-side code, and the advantages that come along with building a server-side API with no front end of it's own.

  61. Thumb 1441192895 artwork

    7: Shawn McCool - BDD and DDD

    In this episode, Adam talks with Shawn McCool about Behavior Driven Development and Domain Driven Design. They talk about how you can use these ideas to better understand your clients' needs and to build software that closely models their business. They also talk about where these ideas don't work so well, and some of the challenges and trade-offs you face when trying to build software this way.

  62. Thumb 1441192920 artwork

    6: Chris Fidao - Servers for Hackers

    In this episode, Adam talks with Chris Fidao of Userscape. They talk about things every web developer should know about server administration, platform-as-a-service vs. self-hosting, Ansible, Docker, and more.

  63. Thumb 1441192937 artwork
  64. Thumb 1441192954 artwork

    4: Alex Bilbie - OAuth 2 and API Security

    In this episode, Adam gets super technical with Alex Bilbie about the OAuth 2 specification. They talk about the different grant types and what they're each appropriate for, as well as discuss some potential API security strategies for one of Adam's personal projects.

  65. Thumb 1441192968 artwork

    3: Matt Machuga - Ruby, PHP, object oriented design, testing and other crap

    In this episode, Adam talks with Matt Machuga of Think Through Math about being a Rubyist who still writes PHP and the differences between writing PHP like a Rubyist vs. writing PHP like a Java developer. They also talk about common struggles when learning new things, and trying to remain pragmatic while still pushing the boundaries of what you know.

  66. Thumb 1441192986 artwork
  67. Thumb 1441192997 artwork

    1: Matt Stauffer - CSS Semantics

    In our very first episode, Adam talks with Matt Stauffer of Tighten Co about OOCSS, BEM, SMACSS, preprocessors, common architecture pitfalls, and CSS semantics.

Back Home