POPULARITY
Bill Maher excoriates the software industry for making our lives more difficult, two professors from the University of Washington put together a curriculum to help us manage life in the ChatGPT world, Daniel Delaney thinks deeply on chat as a dev tool UI, Benedict Evans explores our assumptions that computers be 'correct' & the Thoughtbot team writes up six cases when not to refactor.
Bill Maher excoriates the software industry for making our lives more difficult, two professors from the University of Washington put together a curriculum to help us manage life in the ChatGPT world, Daniel Delaney thinks deeply on chat as a dev tool UI, Benedict Evans explores our assumptions that computers be 'correct' & the Thoughtbot team writes up six cases when not to refactor.
Bill Maher excoriates the software industry for making our lives more difficult, two professors from the University of Washington put together a curriculum to help us manage life in the ChatGPT world, Daniel Delaney thinks deeply on chat as a dev tool UI, Benedict Evans explores our assumptions that computers be 'correct' & the Thoughtbot team writes up six cases when not to refactor.
Chad talks with Aakash Shah, Founder and CEO of Wyndly (https://www.wyndly.com/), about how he built a new online telehealth experience to expand convenient access to allergy immunotherapy. The pair discuss the mechanics of building an online healthcare operation from scratch, the challenges that arise as you begin to scale your business, and how Aakash utilised his past experience as a software engineer to support his new venture. Discover why this area of medicine has been overlooked for so long, how COVID has shifted our view on healthcare as a whole, as well as the odd rules and quirks of the FDA when trying to market a new medical service. To find out more about Aakash's work with Wyndly you can connect with him on LinkedIn (https://www.linkedin.com/in/mraakashshah/) or send him an email: aakash@wyndly.com If you're interested in receiving treatment for persistent allergies, you can book a consultation through Wyndly's website (https://www.wyndly.com/). — Your host for this episode has been Chad Pytel. You can find Chad over on Mastodon (https://thoughtbot.social/@cpytel), or connect with via LinkedIn (https://www.linkedin.com/in/cpytel/). If you would like to support the show, head over to our GitHub page (https://github.com/sponsors/thoughtbot), or check out our website (https://podcast.thoughtbot.com). Got a question or comment about the show? Why not write to our hosts: hosts@giantrobots.fm This has been a thoughtbot (https://thoughtbot.com/) podcast. Stay up to date by following us on social media - LinkedIn (https://www.linkedin.com/company/150727/) - Mastodon (https://thoughtbot.social/@thoughtbot) - Instagram (https://www.instagram.com/thoughtbot/) © 2024 thoughtbot, inc.
In this episode of The Enablement Edge, hosts Steve and Amber are joined by Sally Ladrach, Director of Enablement at SavATree, a full-service tree, shrub, and lawn care company with more than 100 locations across the US and Canada.The topic for today is how enablement teams can leverage agile methodologies found in product and marketing to enhance their own adoption and impact. Sally discusses the ways this type of framework focuses closer on the end user and iterative development to build more intentional solutions. She emphasizes the importance of involving stakeholders early in the process to ensure that what you're building truly meets their needs, thus enhancing adoption and, ultimately, driving business impact. Sally also shares valuable insights on how to prioritize tasks that will deliver the most significant outcomes and tips for maintaining agility without losing sight of long-term goals. She also highlights the necessity of a data-driven approach and how agile principles can protect against wasted effort on non-adopted solutions. Tune in to discover how an agile framework can revolutionize your enablement strategy and drive tangible results.—Guest BioSally Ladrach is the Head of Enablement at SavATree, where she leverages over a decade of experience in sales enablement to drive impactful training and development initiatives. With a strong background in data-driven strategies, she focuses on enhancing team performance and collaboration across various departments. Previously, she served as the Revenue Enablement Manager at Thoughtbot, where she successfully implemented agile methodologies to improve learning and engagement. Passionate about fostering growth, Sally also advocates using storytelling in enablement practices to create meaningful connections. —Guest Quote“In enablement, I can't tell you how many times I've seen teams and maybe even done a little bit of this myself in the past. You work on that six-month rollout of whatever, you put it out there, ta-da, and then nothing happens. People don't use it. Maybe, it wasn't designed with the end user in mind. But then you can't even have that impact, right? If your solution for whatever it is isn't being adopted. So that was kind of the genesis of how I started thinking about agile and enablement. Obviously, I'm not the first person to think that agile is a great way to work, but the nature of enablement is that we are building solutions and agile at its core is about building user-centric solutions that are adoptable and solve problems.” —Time Stamps 00:00 Episode Start03:45 Welcome Sally04:25 What is SavATree?06:45 The most important thing enablers can do to ensure success09:05 Today's topic: Agile enablement16:25 Outcomes over output19:20 You don't have to be perfect25:20 Agile enablement in action28:40 Where do charters fit in?32:05 First steps to implement agile enablement33:30 On the Edge—LinksConnect with Sally Ladrach on LinkedInCheck out SavATreeConnect with Steve Watt on LinkedInConnect with Amber Mellano on LinkedInCheck out Seismic
What's the difference between solving problems and recognizing patterns, and why does it matter for developers? In this episode, Stephanie and Joël discuss transitioning from collecting solutions to identifying patterns applicable to broader contexts in software development. They explore the role of heuristics, common misconceptions among junior and intermediate developers, and strategies for leveling up from a solution-focused mindset to thinking in patterns. They also discuss their experiences of moving through this transition during their careers and share advice for upcoming software developers to navigate it successfully. They explore how learning abstraction, engaging in code reviews, and developing a strong intuition for code quality help developers grow. Uncover the issue of over-applying patterns and gain insights into the benefits of broader, reusable approaches in code development. Join us to discover how to build your own set of coding heuristics, the pitfalls of pattern misuse, and how to become a more thoughtful developer. Tune in now! Key Points From This Episode: Stephanie unpacks the differences between patterns and solutions. The role of software development experience in recognizing patterns. Why transitioning from solving problems to recognizing patterns is crucial. Joël and Stephanie talk about the challenges of learning abstraction. Hear pragmatic strategies for implementing patterns effectively. How junior developers can build their own set of heuristics for code quality. Discover valuable tools and techniques to identify patterns in your work. Find out about approaches to documenting, learning, and sharing patterns. Gain insights into the process of refactoring a solution into a pattern. Outlining the common mistakes developers make and the pitfalls to avoid. Steps for navigating disagreements and feedback in a team environment. Links Mentioned in Today's Episode: RubyConf 2021 - The Intro to Abstraction I Wish I'd Received (https://www.youtube.com/watch?v=m0dC5RmxcFk) 'Ruby Science' (https://thoughtbot.com/ruby-science/introduction.html) Refactoring.Guru (https://refactoring.guru/) Thoughtbot code review guide (https://github.com/thoughtbot/guides/blob/main/code-review/README.md) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)
Learning from other developers is an important ingredient to your success. During this episode, Joël Quenneville is joined by Stefanni Brasil, Senior Developer at Thoughtbot, and core maintainer of faker-ruby. To open our conversation, she shares the details of her experience at the Rails World conference in Toronto and the projects she enjoyed seeing most. Next, we explore the challenge of Mac versus Windows and how these programs interact with Ruby on Rails and dive into Stefanni's involvement in Open Source for Thoughtbot and beyond; what she loves about it, and how she is working to educate others and expand the current limitations that people experience. This episode is also dedicated to the upcoming Open Source Summit that Stefanni is planning on 25 October 2024, what to expect, and how you can get involved. Thanks for listening! Key Points From This Episode: Introducing and catching up with Thoughtbot Senior Developer and maintainer of faker-ruby, Stefanni Brasil. Her experience at the Rails World conference in Toronto and the projects she found most inspiring. Why accessibility remains a key topic. How Ruby on Rails translates on Mac and Windows. Stefanni's involvement in Open Source and why she enjoys it. Her experience as core maintainer at faker-ruby. Ideas she is exploring around Jeremy Evans' book Polished Ruby Programming and the direction of Faker. Involvement in Thoughtbot's Open Source and how it drew her in initially. The coaching series on Open Source that she participated in earlier this year. What motivated her to create a public Google doc on Open Source maintenance. An upcoming event: the Open Source Summit. The time commitment expected from attendees. How Stefanni intends to interact with guests and the talk that she will give at the event. Why everyone is welcome to engage at any level they are comfortable with. Links Mentioned in Today's Episode: Stefanni Brasil (https://www.stefannibrasil.me/) Stefanni Brasil on X (https://x.com/stefannibrasil) Thoughtbot Open Summit (https://thoughtbot.com/events/open-summit) Open Source Issues doc (https://docs.google.com/document/d/1zok6snap6T6f4Z1H7mP9JomNczAvPEEqCEnIg42dkU4/edit#heading=h.rq72izdz9oh6) Open Source at Thoughtbot (https://thoughtbot.com/open-source) Polished Ruby Programming (https://www.packtpub.com/en-us/product/polished-ruby-programming-9781801072724) Faker Gem (https://github.com/faker-ruby/faker) Rails World (https://rubyonrails.org/world/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/)
By addressing the way that families hire, manage, and pay in-home care professionals, Clara Home Care is reimagining the way that home care is delivered in America, and Jon Levinson is at the helm. He joins us today to share his personal experiences with in-home care that led him to research the industry, identify the challenges, and co-found Clara. Hear how Jon was able to draw on his background in product management for TripAdvisor and Uber to pioneer his company, what it was like to develop early iterations of the product, and how all this resulted in creating the first-ever caregiver-specific payroll platform. We touch on finding the appropriate market, creating foundational code, and the importance of setting best practices to support scaling and changing. Jon also describes the critical role of thoughtbot in setting Clara Home Care up for scaling success. To finish, Jon shares some of the exciting opportunities that exist in the realm of care management, and how Clara is already taking advantage of them. Thanks for listening! Key Points From This Episode: Introducing Jon Levinson, Co-Founder and CEO at Clara Home Care. The role of thoughtbot in bringing Clara to life. A personal experience that led Jon to pioneer Clara Home Care. Results of researching the specific problems faced in the broader industry. His background in product management at TripAdvisor, Uber, and more. The engineer who became his technical co-founder. Fundraising choices and investment during his early journey. Three consumer problems that care agencies do not adequately address. Why using an agency is still beneficial in comparison to hiring independently. Developing the first version of the product. Identifying the opportunity to pioneer the first caregiver-specific payroll platform. The challenge of finding people seeking a caregiving product. Setting foundational code structured to scale and the role of Thoughtbot in this process. Reaching a critical mass by building a strong grounding through relationships. Balancing building the marketplace, solving discovery, and investing in caregiving technology. Flexible metrics for success in a given marketplace. Why caregivers still favor agencies over independent work. Understanding how emotionally taxing the caregiver coordination role can be. Features that support the relationship with long-term care insurance providers and care management. Links Mentioned in Today's Episode: Jon Levinson on X (https://x.com/levinsonjon) Jon Levinson on LinkedIn (https://www.linkedin.com/in/jonlevinson1/) Jon Levinson Email (jon@clarahomecare.com) Clara Home Care (https://www.clarahomecare.com/) Clara Home Care on Facebook (https://www.facebook.com/HomeCareNearMe/) Clara Home Care on LinkedIn (https://www.linkedin.com/company/clarahomecare/) Thoughtbot (https://thoughtbot.com/) Will Larry on X (https://x.com/will23larry) Will Larry on LinkedIn (https://www.linkedin.com/in/william-larry/) Victoria Guido on X (https://x.com/victori_ousg) Victoria Guido on LinkedIn (https://www.linkedin.com/in/victorialguido/) thoughtbot (https://thoughtbot.com) thoughtbot on LinkedIn (https://www.linkedin.com/company/150727/) thoughtbot on X (https://twitter.com/thoughtbot) Giant Robots Smashing Into Other Giant Robots Podcast (https://podcast.thoughtbot.com/) Giant Robots Smashing Into Other Giant Robots Email (hosts@giantrobots.fm) Support Giant Robots Smashing Into Other Giant Robots (https://github.com/sponsors/thoughtbot)
Stephanie and Joël discuss the recent announcement of the call for proposals for RubyConf in November. Joël is working on his proposals and encouraging his colleagues at thoughtbot to participate, while Stephanie is excited about the conference being held in her hometown of Chicago! The conversation shifts to Stephanie's recent work, including completing a significant client project and her upcoming two-week refactoring assignment. She shares her enthusiasm for refactoring code to improve its structure and stability, even when it's not her own. Joël and Stephanie also discuss the everyday challenges of maintaining a test suite, such as slowness, flakiness, and excessive database requests. They discuss strategies to balance the test pyramid and adequately test critical paths. Finally, Joël emphasizes the importance of separating side effects from business logic to enhance testability and reduce complexity, and Stephanie highlights the need to address testing pain points and ensure tests add real value to the codebase. RubyConf CFP (https://sessionize.com/rubyconf-2024/) RubyConf CFP coaching (https://docs.google.com/forms/d/e/1FAIpQLScZxDFaHZg8ncQaOiq5tjX0IXvYmQrTfjzpKaM_Bnj5HHaNdw/viewform?pli=1) Testing pyramid (https://thoughtbot.com/blog/rails-test-types-and-the-testing-pyramid) Outside-in testing (https://thoughtbot.com/blog/testing-from-the-outsidein) Writing fewer system specs with request specs (https://thoughtbot.com/blog/faster-tests-with-capybara-and-request-specs) Unnecessary factories (https://thoughtbot.com/blog/speed-up-tests-by-selectively-avoiding-factory-bot) Your Test Suite is Making Too Many Database Calls (https://www.youtube.com/watch?v=LOlG4kqfwcg) Your flaky tests might be time dependent (https://thoughtbot.com/blog/your-flaky-tests-might-be-time-dependent) The Secret Ingredient: How To Understand and Resolve Just About Any Flaky Test (https://www.youtube.com/watch?v=De3-v54jrQo) Separating side effects to improve tests (https://thoughtbot.com/blog/simplify-tests-by-extracting-side-effects) Functional core, imperative shell (https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell) Thoughtbot testing articles (https://thoughtbot.com/blog/tags/testing) Transcript: STEPHANIE: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Stephanie Minn. JOËL: And I'm Joël Quenneville. And together, we're here to share a bit of what we've learned along the way. STEPHANIE: So, Joël, what's new in your world? JOËL: Something that's new in my world is that RubyConf just announced their call for proposals for RubyConf in November. They're open for...we're currently recording in June, and it's open through early July, and they're asking people everywhere to submit talk ideas. I have a few of my own that I'm working with. And then, I'm also trying to mobilize a lot of other colleagues at thoughtbot to get excited to submit. STEPHANIE: Yes, I am personally very excited about this year's RubyConf in November because it's in Chicago, where I live, so I have very little of an excuse not to go [laughs]. I feel like so much of my conference experience is traveling to just kind of, like, other cities in the U.S. that I want to spend some time in and, you know, seeing all of my friends from...my long-distance friends. And it definitely does feel like just a bit of an immersive week, right? And so, I wonder how weird it will feel to be going to this conference and then going home at the end of the night. Yeah, that's just something that I'm a bit curious about. So, yeah, I mean, I am very excited. I hope everyone comes to Chicago. It's a great city. JOËL: I think the pitch that I'm hearing is submit a proposal to the RubyConf CFP to get a chance to get a free ticket to go to RubyConf, where you get to meet Bike Shed co-host Stephanie Minn. STEPHANIE: Yes. Ruby Central should hire me to market this conference [laughter] and that being the main value add of going [laughs], obviously. Jokes aside, I'm excited for you to be doing this initiative again because it was so successful for RailsConf kind of internally at thoughtbot. I think a lot of people submitted proposals for the first time with some of the programming you put on. Are you thinking about doing things any differently from last time, or any new thoughts about this conference cycle? JOËL: I think I'm iterating on what we did last time but trying to keep more or less the same formula. Among other things, people don't always have ideas immediately of what they want to speak about. And so, I have a brainstorming session where we're just going to get together and brainstorm a bunch of topics that are free for anyone to take. And then, either someone can grab one of those topics and pitch a talk on it, or it can be, like, inspiration where they see that it jogs their mind, and they have an idea that then they go off and write a proposal. And so, that allows, I think, a lot of colleagues as well, who are maybe not interested in speaking but might have a lot of great ideas, to participate and sort of really get a lot of that energy going. And then, from there, people who are excited to speak about something can go on to maybe draft a proposal. And then, I've got a couple of other events where we support people in drafting a proposal and reviewing and submitting, things like that. STEPHANIE: Yes, I really love how you're just involving people with, you know, just different skills and interests to be able to support each other, even if, you know, there's someone on our team who's, like, not interested in speaking at all, but they're, like, an ideas person, right? And they would love to see their idea come to life in a talk from someone else. Like, I think that's really cool, and I certainly appreciate it as a not ideas person [laughs]. JOËL: Also, I want to shout out that Ruby Central is doing CFP coaching sessions on June 24th, June 25th, and June 26th, and those are open to anyone. You can sign up. We'll put a link to the signup form in the show notes. If you've never submitted something before and you'd like some tips on what makes for a good CFP, how can you up your chances of getting accepted, or maybe you've submitted before, you just want to get better at it; I recommend joining one of those slots. So, Stephanie, what's new in your world? STEPHANIE: So, I just successfully delivered a big project on my client work last week. So, I'm kind of riding that wave and getting into the next bit of work that I have been assigned for this team, and I'm really excited to do this. But I also, I don't know, I've been just, like, thinking about it quite a bit. Basically, I'm getting to spend two dedicated weeks to just refactoring [laughs] some really, I guess, complicated code that has led to some bugs recently and just needing some love, especially because there's some whiffs of potentially, like, really investing in this area of the product, and people wanting to make sure that the foundation does feel very stable to build on top of for extending and changing that code. And I think I, like, surprised myself by how excited I was to do this because it's not even code I wrote. You know, sometimes when you are the one who wrote code, you're like, oh, like, I would love time to just go back and clean up all these things that I kind of missed the first time around or just couldn't attend to for whatever reason. But yeah, I think I was just a little bit in the peripheries of that code, and I was like, oh, like, just seeing some weird stuff. And now to kind of have the time to be like, oh, this is all I'm going to be doing for two weeks, to, like, really dive into it and get my hands dirty [laughs], I'm very excited. JOËL: I think that refactoring is a thing that can be really fun. And also, when you have a larger chunk of time, like two days, it's easy to sort of get lost in sort of grand visions or projects. How do you kind of balance the, I want to do a lot of refactoring; I want to take on some bigger things while maybe trying to keep some focus or have some prioritization? STEPHANIE: Yeah, that's a great question. I was actually the one who said, like, "I want two weeks on this." And it also helped that, like, there was already some thoughts about, like, where they wanted to go with this area of the codebase and maybe what future features they were thinking about. And there are also a few bugs that I am fixing kind of related to this domain. So, I think that is actually what I started with. And that was really helpful in just kind of orienting myself in, like, the higher impact areas and the places that the pain is felt and exploring there first to, like, get a sense of what is going on here. Because I think that information gathering is really important to be able to kind of start changing the code towards what it wants to be and what other devs want it to be. I actually also started a thread in Slack for my team. I was, like, asking for input on what's the most confusing or, like, hard to reason about files or areas in this particular domain or feature set and got a lot of really good engagement. I was pleasantly surprised [laughs], you know, because sometimes you, like, ask for feedback and just crickets. But I think, for me, it was very affirming that I was, like, exploring something that a lot of people are like, oh, we would love for someone to, you know, have just time to get into this. And they all were really excited for me, too. So, that was pretty cool. JOËL: Interesting. So, it sounds like you sort of budgeted some refactoring time and then, from there, broke it down into a series of a couple of debugging projects and then a couple of, like, more bounded refactoring projects, where, like, specifically, I want to restructure the way this object works or something like that. STEPHANIE: Yeah. I think there was that feeling of wanting to clean up this area of the codebase, but you kind of caught on to that bit of, you know, it can go so many different ways. And, like, how do you balance your grand visions [laughs] of things with, I guess, a little bit of pragmatism? So, it was very much like, here's all these bugs that are causing our customers problems that are kind of, like, hard for the devs to troubleshoot. You know, that kind of prompts the question, like, why? And so, if there can be, you know, the fixing of the bugs, and then the learning of, like, how that part of the system works, and then, hopefully, some improvements along the way, yeah, that just felt like a dream [laughs] for me. And two weeks felt about the right amount of time. I don't know if anyone kind of hears that and feels like it's too long or too little. I would be really curious. But I feel like it is complex enough that, like, context switching would, I think, make this work harder, and you kind of do have to just sit with it for a little bit to get your bearings. JOËL: A scenario that we encounter on a pretty regular basis is a customer coming to us and telling us that they're feeling a lot of test pain and asking what are the ways that we can help them to make things better and that test pain can come under a lot of forms. It might be a test suite that's really slow and that's hurting the team in terms of their velocity. It might be a test suite that is really flaky. It might be one that is really difficult to add to, or maybe one that has very low coverage, or one that is just really brittle. Anytime you try to make a change to it, a bunch of things break, and it takes forever to ship anything. So, there's a lot of different aspects of challenging test suites that clients come to us with. I'm curious, Stephanie, what are some of the ones that you've encountered most frequently? STEPHANIE: I definitely think that a slow test suite and a flaky test suite end up going hand in hand a lot, or just a brittle one, right? That is slowing down development and, like you said, causing a lot of pain. I think even if that's not something that a client is coming to us directly about, it maybe gets, like, surfaced a little bit, you know, sometime into the engagement as something that I like to keep an eye on as a consultant. And I actually think, yeah, that's one of kind of the coolest things, I think, about our consulting work is just getting to see so many different test suites [laughs]. I don't know. I'm a testing nerd, so I love that kind of stuff. And then, I think you were also kind of touching on this idea of, like, maintaining a test suite and, yeah, making testing just a better experience. I have a theory [laughs], and I'd be curious to get your thoughts on it. But one thing that I really struggle with in the industry is when people talk about writing tests as if it's, like, the morally superior thing to do. And I struggle with this because I don't think that it is a very good strategy for helping people feel better or more confident and, like, upskill at writing tests. I think it kind of shames people a little bit who maybe either just haven't gotten that experience or, you know, just like, yeah, like, for whatever reason, are still learning how to do this thing. And then, I think that mindset leads to bad tests [laughs] or tests that aren't really serving the purpose that you hope they would because people are doing it more out of obligation rather than because they truly, like, feel like it adds something to their work. Okay, I kind of just dropped that on you [laughs]. Do you have any reactions? JOËL: Yeah, I guess the idea that you're just checking a box with your test rather than writing code that adds value to the codebase. They're two very different perspectives that, in the end, will generate more lines of code if you're just doing a checkbox but may or may not add a whole lot of value. So, maybe before even looking at actual, like, test practices, it's worth stepping back and asking more of a mindset question: Why does your team test? What is the value that your team feels they get out of testing? STEPHANIE: Yeah. Yeah. I like that because I was about to say they go hand in hand. But I do think that maybe there is some, you know, question asking [laughs] to be done because I do think people like to kind of talk about the testing practices before they've really considered that. And I am, like, pretty certain from just kind of, at least what I've seen, and what I've heard, and what I've experienced on embedding into client teams, that if your team can't answer that question of, like, "What value does testing bring?" then they probably aren't following good testing practices [laughs]. Because I do think you kind of need to approach it from a perspective of like, okay, like, I want to do this because it helps me, and it helps my team, rather than, like you said, getting the check mark. JOËL: So, once we've sort of established maybe a bit of a mindset or we've had a conversation with the team around what value they think they're getting out of tests, or maybe even you might need to sell the team a little bit on like, "Hey, here's, like, all these different ways that testing can bring value into your life, make your life as developers easier," but once you've done that sort of pre-work and you can start looking at what's actually the problem with a test suite, a common complaint from developers is that the test suite is too slow. How do you like to approach a slow test suite? STEPHANIE: That's a good question. I actually...I think there's a lot of ways to answer that. But to kind of stay on the theme of stepping back a little bit, I wonder if assessing how well your test suite aligns with the testing pyramid would be a good place to start; at least, that could be where I start if I'm coming into a client team for the first time, right, and being asked to start assessing or just poking around. Because I think the slowness a lot of the time comes from a lot of quote, unquote, "integration tests" or, like, unit tests masquerading as integration tests, where you end up having, like, a lot of duplication of things that are being tested in ways that are integrating with some slow parts of the system like the database. And yeah, I think even before getting into some of the more discreet reasons why you might be writing slow tests, just looking at the structure of your test suite and what kinds of things you're testing, and, again, even going back to your team and asking, like, "What kinds of things do you test?" Or like, "Do you try to test or wish to be testing more of, less of?" Like looking at the structure, I have found to be a good place to start. JOËL: And for those who are not familiar, you used the term testing pyramid. This is a concept which says that you probably want to have a lot of small, fast unit tests, a medium amount of integration tests that test a few different components together, and then a few end-to-end tests. Because as you go up that pyramid, tests become more expensive. They take a lot longer to run, whereas the little unit tests are super cheap. You can create thousands of them, and they will barely impact your run time. Adding a dozen end-to-end tests is going to be noticeable. So, you want to balance sort of the coverage that you get from end to end with the sort of cheapness and ubiquity of the little unit tests, and then split the difference for tests that are in between. STEPHANIE: And I think that is challenging, even, you know, you're talking about how you want the peak of your pyramid to be end-to-end tests. So, you don't want a lot of them, but you do want some of them to really ensure that things are totally plumbed and working correctly. But that does require, I think, really looking at your application and kind of identifying what features are the most critical to it. And I think that doesn't get paid enough attention, at least from a lot of my client experiences. Like, sometimes teams just end up with a lot of feature bloat and can't say like, you know, they say, "Everything's important [chuckles]," but everything can't be equally important, you know? JOËL: Right. I often like to develop using a sort of outside-in approach, where you start by writing an end-to-end test that describes the behavior that your new feature ticket is asking for and use that to drive the work that I'm doing. And that might lead to some lower-level unit tests as I'm building out different components, but the sort of high-level behavior that we're adding is driven by adding an end-to-end spec. Do you feel that having one new end-to-end spec for every new feature ticket that you work on is a reasonable thing to do, or do you kind of pick and choose? Do you write some, but maybe start, like, coalescing or culling them, or something like that? How do you manage that idea that maybe you would or would not want one end-to-end spec for each feature ticket? STEPHANIE: Yeah, it's a good question. Actually, as you were saying that, I was about to ask you, do you delete some afterwards [laughs]? Because I think that might be what I do sometimes, especially if I'm testing, you know, edge cases or writing, like, the end-to-end test for error states. Sometimes, not all of them make it into my, like, final, you know, commit. But they, you know, had their value, right? And at least it prompted me to make sure I thought about them and make sure that they were good error states, right? Like things that had visible UI to the user about what was going on in case of an error. So, I would say I will go back and kind of coalesce some of them, but they at least give me a place to start. Does that match your experience? JOËL: Yeah, I tend to mostly write end-to-end tests for happy paths and then write kind of mid-level things to cover some of my edge cases, maybe a couple of end-to-end tests for particularly critical paths. But, at some point, there's just too many paths through the app that you can't have end-to-end coverage for every single branch on every single path that can happen. STEPHANIE: Yeah, I like that because if you find yourself having a lot of different conditions that you need to test in an end-to-end situation, maybe there's room for that to, like, be better encapsulated in that, like, more, like, middle layer or, I don't know, even starting to ask questions about, like, does this make sense with the product? Like, having all of these different things going on, does that line up with kind of the vision of what this feature is trying to be or should be? Because I do think the complexity can start at that high of a level. JOËL: How do you feel about the idea that adding more end-to-end tests, at some point, has diminishing returns? STEPHANIE: I'm not quite sure I'm following [laughs]. JOËL: So, let's say you have an end-to-end test for the happy path for every core feature of the app. And you decide, you know what, I want to add maybe some, like, side features in, or maybe I want to have more error states. And you start, like, filling in more end-to-end tests for those. Is it fair to say that adding some of those is a bit of a diminishing return? Like, you're not getting as much value as you would from the original specs. And maybe as you keep finding more and more rare edge cases, you get less and less value for your test. STEPHANIE: Oh, yeah, I see. And there's more of a cost, too, right? The cost of the time to run, maintain, whatever. JOËL: Right. Let's say they're roughly all equally expensive in terms of cost to run. But as you stray further and further off of that happy path, you're getting less and less value from that integration test or that end-to-end test. STEPHANIE: I'm actually a little conflicted about this because that sounds right in theory, but then in practice, I feel like I've seen error states not get enough love [laughs] that it's...I don't even want to say, like, you make any kind of claim [laughs] about it. But, you know, if you're going to start somewhere, if you have, like, a limited amount of time and you're like, okay, I'm only going to write a handful of end-to-end tests, yeah, like, write tests for your happy paths [laughs]. JOËL: I guess it's probably fair to say that error states just don't get as much love as they should throughout the entire testing stack: at the unit level, at the integration level, all the way up to end to end. STEPHANIE: I'm curious if you were trying to get at some kind of conclusion, though, with the idea of diminishing returns. JOËL: I guess I'm wondering if, from there, we can talk about maybe a breakdown of a particular testing pyramid for a particular test suite is being top heavy, and whether there's value in maybe pushing some of these tests, some of these edge cases, some of these maybe less important features down from that, like, top end-to-end layer into maybe more of an integration layer. So, in a Rails context, that might be moving system specs down to something like a request spec. STEPHANIE: Yeah, I think that is what I tend to do. I'm trying to think of how I get there, and I'm not quite sure that I can explain it quite yet. Yeah, I don't know. Do you think you can help me out here? Like, how do you know it's time to start writing more tests for your unhappy paths lower on the pyramid? JOËL: Ideally, I think a lot of your code should be unit-tested. And when you are unit testing it, those pieces all need coverage of the happy and unhappy paths. I think the way it may often happen naturally is if you're pushing logic out of your controllers because it's a little bit challenging sometimes to test Rails controllers. And so, if you're moving things into domain objects, even service objects, depending on how you implement them, just doing that and then making sure you unit test them can give you a lot more coverage of all the different edge cases that can happen. Where things sometimes fall apart is getting out of that business layer into the web layer and saying, "Hey, if something raises an error or if the save fails or something like that, does the user get a good experience, or do we just crash and give them a 500 page?" STEPHANIE: Yeah, that matches with a lot of what I've seen, where if you then spend too much time in that business layer and only handling errors there, you don't really think too much about how it bubbles up. And, you know, then you are digging through, like, your error monitoring [laughs] service, trying to find out what happened so that you can tell, you know, your customer support team [laughs] to help them resolve, like, a bug report they got. But I actually think...and you were talking about outside in, but, in some ways, in my experience, I also get feedback from the bottom up sometimes that then ends up helping me adjust some of those integration or end-to-end tests about kind of what errors are possible, like, down in the depths of the code [laughs], and then finding ways to, you know, abstract that or, like, kind of be like, "Oh, like, here are all these possible, like, exceptions that might be raised." Like, what HTTP status code do I want to be returned to capture all of these things? And what do I want to say to the user? So, yeah, I'm [laughs] kind of a little lost myself, but this idea that going both, you know, outside in and then maybe even going back up a little bit has served me well before. JOËL: I think there can be a lot of value in sort of dropping down a level in the pyramid, and maybe instead of doing sort of end-to-end tests where you, like, trigger a scenario where something fails, you can just write a request back against the controller and say, "Hey, if I go to this controller and something raises an error, expect that you get redirected to this other location." And that's really cheap to run compared to an end-to-end test. And so, I think that, for me, is often the right compromise is handling error states at sort of the next lowest level and also in slightly more atomic pieces. So, more like, if you hit this endpoint and things go wrong, here's how things happen. And I use endpoint not so much in an API sense, although it could be, but just your, you know, maybe you've got a flow that's multiple steps where, you know, you can do a bunch of things. But I might have a test just for one controller action to say, "Hey, if things go wrong, it redirects you here, or it shows you this error page." Whereas the end-to-end test might say, "Oh, you're going to go through the entire flow that hits multiple different controllers, and the happy path is this nice chain." But each of the exit points off at where things fail would be covered by a more scoped request spec on that controller. STEPHANIE: Yeah. Yeah. That makes sense. I like that. JOËL: So, that's kind of how I've attempted to balance my pyramid in a way that balances complexity and time with coverage. You mentioned that another area that test suites get slow is making too many requests to the database. There's a lot of ways that that happens. Oftentimes, I think a classic is using a factory where you really don't need to, persisting data to the database when all you needed was some object in memory. So, there are different strategies for avoiding that. It's also easy to be creating too much data. So, maybe you do need to persist some things in the database, but you're persisting a hundred objects into memory or into the database when you really meant to persist two, so that's an easy accident. A couple of years ago, I gave a talk at RailsConf titled "Your Test Suite is Making Too Many Database Requests" that went over a bunch of different ways that you can be doing a lot of expensive database requests you didn't plan on making and how that slows down your test suite. So, that is also another hot spot that I like to look at when dealing with a slow test suite. STEPHANIE: Yeah, I mentioned earlier the idea of unit tests really masquerading as integration tests [laughs]. And I think that happens especially if you're starting with a class that may already be a little bit too big than it should be or have more responsibilities than it should be. And then, you are, like, either just, like, starting with using the create build, like, strategy with factories, or you find yourself, like, not being able to fully run the code path you're trying to test without having stuff persisted. Those are all, I think, like, test smells that, you know, are signaling a little bit of a testing anti-pattern that, yeah, like, is there a way to write, like, true unit tests for this stuff where you are only using objects in memory? And does that require breaking out some responsibilities? That is a lot of what I am kind of going through right now, actually, with my little refractoring project [laughs] is backfilling some tests, finding that I have to create a lot of records. And you know what? Like, the first step will probably be to write those tests and commit them, and just have them live there for a little while while I figure out, you know, the right places to start breaking things up, and that's okay. But yeah, I did want to, like, just mention that if you are having to create a lot of records and then also noticing, like, your test is running kind of slow [laughs], that could be a good indicator to just give a good, hard look at what kind of style of test you think you're writing [laughs]. JOËL: Yeah, your tests speak to you, and when you're feeling pain, oftentimes, it can be a sign that you should consider refactoring your implementation. And I think that's doubly true if you're writing tests after the fact rather than test driving. Because sometimes you sort of...you came up with an implementation that you thought would be good, and then you're writing tests for it, and it's really painful. And that might be telling you something about the underlying implementation that you have that maybe it's...you thought it's well scoped, but maybe it actually has more responsibilities than you initially realized, or maybe it's just really tightly coupled in a way that you didn't realize. And so, learning to listen to your tests and not just sort of accepting the world for being the way it is, but being like, "No, I can make it better." STEPHANIE: Yeah, I've been really curious why people have a hard time, like, recognizing that pain sometimes, or maybe believing that this is the way it is and that there's not a whole lot that you can do about it. But it's not true, like, testing really does not have to be painful. And I feel like, again, this is one of those things that's like, it's hard to believe until you really experience it, at least, that was the case for me. But if you're having a hard time with tests, it's not because you're not smart enough. Like, that, I think, is a thing that I really want to debunk right now [laughs] for anyone who has ever had that thought cross their mind. Yeah, things are just complicated and complex somehow, or software entropy happens. That's, like, not how it should be, and we don't have to accept that [laughs]. So, I really like what you said about, oh, you can change it. And, you know, that is a bit of a callback to the whole mindset of testing that we mentioned earlier at the beginning. JOËL: Speaking of test suites, we have not covered yet is paralyzing it. That could probably be its own Bike Shed episode on its own entirely on paralyzing a test suite. We've done entire engagements where our job was to come in and help paralyze a test suite, make it faster. And there's a lot of, like, pros and cons. So, I think maybe we can save that for a different episode. And, instead, I'd like to quickly jump in a little bit to some other common pain points of test suites, and I would say probably top of that list is test flakiness. How do you tend to approach flakiness in a client project? STEPHANIE: I am, like, laughing to myself a little bit because I know that I was dealing with test flakiness on my last client engagement, and that was, like, such a huge part of my day-to-day is, like, hitting that retry button. And now that I am on a project with, like, relatively low flakiness, I just haven't thought about it at all [laughs], which is such a privilege, I think [laughs]. But one of the first things to do is just start, like, capturing metrics around it. If you, you know, are hearing about flakiness or seeing that, like, start to plague your test suite or just, you know, cropping up in different ways, I have found it really useful to start, like, I don't know, just, like, maybe putting some of that information in a dashboard and seeing how, just to, like, even make sure that you are making improvements, that things are changing, and seeing if there's any, like, patterns around what's causing the flakiness because there are so many different causes of it. And I think it is pretty important to figure out, like, what kind of code you're writing or just trying to wrangle. That's, you know, maybe more likely to crop up as flakiness for your particular domain or application. Yeah, I'm going to stop there and see, like, because I know you have a lot of thoughts about flakiness [laughs]. JOËL: I mean, you mentioned that there's a lot of different causes for flakiness. And I think, in my experience, they often sort of group into, let's say, like, three different buckets. Anytime you're testing code that's doing things that are non-deterministic, that's easy for tests to be flaky. And so, you might think, oh, well, you know, you have something that makes a call to random, and then you're going to assert on a particular outcome of that. Well, clearly, that's going to not be the same every time, and that might be flaky. But there are, like, more subtle versions of that, so maybe you're relying on the system clock in some way. And, you know, depending on the time you run that test, it might give you a different value than you expect, and that might cause it to fail. And it doesn't have to be you're asserting on, like, oh, specifically a given millisecond. You might be doing math around, like, number of days, and when you get near to, let's say, the daylight savings boundary, all of a sudden, no, you're off by an hour, and your number of days...calculation breaks because relying on the clock is something that is inherently non-deterministic. Non-determinism is a bucket. Leaky tests is another bucket of failures that I see, things where one test might impact another that gets run after the fact, oftentimes by mutating some sort of global state. So, maybe you're both relying on some sort of, like, external file that you're both writing to or maybe a cache that one is writing to that the other one is reading from, something like that. It could even just be writing records into the database in a way that's not wrapped in a transaction, such that there's more data in the database when the next test runs than it expects. And then, finally, if you are doing any form of parallelization, that can improve your test suite speed, but it also potentially leads to race conditions, where if your resources aren't entirely isolated between parallel test runners, maybe you're sharing a database, maybe you're sharing Redis instance or whatever, then you can run into situations where you're both kind of fighting over the same resources or overriding each other's data, or things like that, in a way that can cause tests to fail intermittently. And I think having a framework like that of categorization can then help you think about potential solutions because debugging approaches and then solutions tend to be a little bit different for each of these buckets. STEPHANIE: Yeah, the buckets of different causes of flaky tests you were talking about, I think, also reminded me that, you know, some flakiness is caused by, like, your testing environment and your infrastructure. And other kinds of flakiness are maybe caused more from just the way that you've decided how your code should work, especially that, like, non-deterministic bucket. So, yeah, I don't know, that was just, like, something that I noticed as you were going through the different categories. And yeah, like, certainly, the solutions for approaching each kind are very different. JOËL: I would like to pitch a talk from RubyConf last year called "The Secret Ingredient: How To Resolve And Understand Just About Any Flaky Test" by Alan Ridlehoover. Just really excellent walkthrough of these different buckets and common debugging and solving approaches to each of them. And I think having that framework in mind is just a great way to approach different types of flaky tests. STEPHANIE: Yes, I'll plus one that talk, lots of great pictures of delicious croissants as well. JOËL: Very flaky pastry. STEPHANIE: [laughs] Joël, do you have any last testing anti-pattern guidances for our audience who might be feeling some test pain out there? JOËL: A quick list, I'm going to say tight coupling that has then led to having a lot of stubbing in your tests often leads to tests that are very brittle, so tests that maybe don't fail when they should when you've actually broken things, or maybe, alternatively, tests that are constantly failing for the wrong reasons. And so, that is a thing that you can fix by making your code less coupled. Tests that also require stubbing a lot of things because you do a lot of side effects. If you are making a lot of HTTP calls or things like that, that can both make a test more complex because it has to be aware of that. But also, it can make it more non-deterministic, more flaky, and it can just make it harder to change. And so, I have found that separating side effects from sort of business logic is often a great way to make your test suite much easier to work with. I have a blog post on that that I'll link in the show notes. And I think this maybe also approaches the idea of a functional core and an imperative shell, which I believe was an idea pitched by Gary Bernhardt, like, over ten years ago. There's a famous video on that that we'll also link in the show notes. But that architecture for building an app can lead to a much nicer test to write. I guess the general idea being that testing code that does side effects is complicated and painful. Testing code that is more functional tends to be much more pleasant. And so, by not intermingling the two, you tend to get nicer tests that are easier to maintain. STEPHANIE: That's really interesting. I've not heard that guidance before, but now I am intrigued. That reminded me of another thing that I had a conversation with someone about. Because after the RailsConf talk I gave, which was about testing pain, there was some stubbing involved in the examples that I was showing because I just see a lot of that stuff. And, you know, this audience member kind of had that question of, like, "How do you know that things are working correctly if you have to stub all this stuff out?" And, you know, sometimes you just have to for the time being [chuckles]. And I wanted to just kind of call back to that idea of having those end-to-end tests testing your critical paths to at least make sure that those things work together in the happy way. Because I have seen, especially with apps that have a lot of service objects, for some reason, those being kind of the highest-level test sometimes. But oftentimes, they end up not being composed well, being quite coupled with other service objects. So, you end up with a lot of stubbing of those in your test for them. And I think that's kind of where you can see things start to break down. JOËL: Yep. And when the RailsConf videos come out, I recommend seeing Stephanie's talk, some great gems in there for building a more maintainable test suite. Stephanie and I and, you know, most of us here at thoughtbot, we're testing nerds. We think about this a lot. We've also written a lot about this. There are a lot of resources in the show notes for this episode. Check them out. Also, just generally, check out the testing tag on the thoughtbot blog. There is a ton of content there that is worth looking into if you want to dig further into this topic. STEPHANIE: Yeah, and if you are wanting some, like, dedicated, customized testing training, thoughtbot offers an RSpec workshop that's tailored to your team. And if you kind of are interested in the things we're sharing, we can definitely bring that to your company as well. JOËL: On that note, shall we wrap up? STEPHANIE: Let's wrap up. Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeeee!!!!!!!! AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
Host Will Larry announces an exciting new Giant Robots Smashing Into Other Giant Robots podcast limited series focusing on Europe, West Asia, and Africa and introduces new co-hosts Sami Birnbaum, Svenja Schäfer, Rémy Hannequin, and Jared Turner! Sami sets a fun challenge for the team to devise a name for the new series by the end of the podcast. The co-hosts engage in an icebreaker game where Sami randomly generates questions for each to answer. The team members talk about their paths into the tech industry. Jared, Rémy, and Will share stories of discovering their passion for tech, overcoming initial struggles, and finding their niche within the field. They discuss the importance of patience, problem-solving, and continuous learning in their careers. Sami emphasizes the value of realistic expectations and the ability to spend time with complex problems to find solutions. As the first show progresses, the co-hosts have an amazing time brainstorming potential names for the new series, and ultimately, the team decides on "Giant Robots On Tour" to capture the spirit of exploration and collaboration across different regions. We're excited to keep bringing you this new limited EWAA series! Please subscribe and follow along with us! Follow Sami Birnbaum on LinkedIn (https://www.linkedin.com/in/samibirnbaum/). Visit his website: samibirnbaum.com (https://samibirnbaum.com/). Follow Svenja Schäfer on LinkedIn (https://www.linkedin.com/in/svenjaschaefer/). Visit her website: svenjaschaefer.com (http://svenjaschaefer.com/) Follow Rémy Hannequin on LinkedIn (https://www.linkedin.com/in/rhannequin/). Visit his website rhannequ.in (http://rhannequ.in/) Follow Jared Turner on LinkedIn (https://www.linkedin.com/in/jaredlt/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Transcript: WILL: This is the Giant Robots Smashing Into Other Giant Robots podcast, where we explore the design, development, and business of great products. I'm your host, Will Larry. And today, we're announcing a new limited series of the podcast focused on the region of Europe, West Asia, and Africa. Please welcome our new co-hosts. Let's start with Sami. Can you introduce yourself? SAMI: I'm Sami. I'm a developer at thoughtbot based in the UK, in London specifically. And I'm really looking forward to this new Europe, West Asia, and Africa podcast, although we are going to need to come up with a name. We haven't got one yet because we're busy people, and we're consultants the rest of the time. But the plan is to get one. I don't think there's any quicker way to do it than just for ourselves to come up with one. And so, I think we should do a bit of a challenge here. I think we could say that by the end of this podcast, we'll have a name. I don't know what that's going to be. I don't know what that's going to look like. But we'll go around at the end of the podcast, and we'll see if one of us during this podcast can pick a name for this new series. I'm going to pass on to Svenja. Hey, Svenja. SVENJA: Hi, Sami. Thank you so much. My name is Svenja. I'm a developer and development team lead at thoughtbot. I live in Spain, more precisely in Almería. It's part of Andalusia. It's all the way in the South of Spain. I'm very excited to be in this podcast. And about the name, I'm also very excited about that. No clue yet. That's it for now from my side. Rémy, do you want to go next? RÉMY: Thank you, Svenja. I'm Rémy. I'm a software developer at thoughtbot. I joined a little bit more than one year ago. And I'm working from Paris, France. And I'm very excited to join this series. Jared, do you want to go next? JARED: Yeah. Thanks, Rémy. Hi, my name's Jared. I'm a product manager at thoughtbot. I am originally from Australia, but I live in London. And you're currently hearing me from Scotland. I'm very excited to hear what we're going to discuss over the course of this limited series and to hear what name Sami is about to come up with on this very podcast. Sami, back to you. SAMI: Yeah. Thanks, Jared. It's great to be doing this with all of you. And formal intros are great, right? So, now everyone kind of knows our position at thoughtbot and where we live. But I was thinking possibly to spice some things up...I've never done a game like this before, so I have no idea where this is going to go. It's kind of an icebreaker game where I use a random icebreaker generator online. They're not my questions. They're generated by someone else, which makes it even more risky. I'll kind of go to each of you individually with an icebreaker question that I've generated, and you're going to have to answer the question. You have no idea what's coming. I have no idea what's coming. But it's a great way of other people getting to know kind of more about us in a more informal way, in a way which we might not think about sharing things. I will do you a favor, though; I'll give everyone two skips, okay? So, I'll hit you with a question, and then, if you don't like the question, you can skip the question. But you've only got two skips, so I would say use them wisely. Because if you skip and you get a worse question, you're not going back to the previous one. Oh, okay, this is interesting. I'm going to start the way we intro'd, just to make it fair. Svenja. SVENJA: I'm scared. I'm scared [laughs]. SAMI: You should be scared. The best thing about this game is the one who's hosting doesn't get asked the questions. So, Svenja, this is your question. What is a lesson you feel you learned too late in life? SVENJA: Online banking [laughs]. I don't use online banking for that long. I don't know. I was the last person, I think, who always ran around with cash because I also didn't use credit cards also, so maybe trust in online banking. I'm not sure [laughs] that's a lesson. Sometimes, I probably shouldn't trust in it, but yeah, it would have made my life a little bit easier. Does that count? SAMI: It definitely counts. I mean, what could be more valuable information to know about Svenja? SVENJA: [laughs] SAMI: That she doesn't like online banking. And that's exactly the type of valuable content you will get from the Europe, West Asia, and Africa podcast series, which I hope, in the background, we are all thinking of a name because we cannot just say Europe, West Asia, and Africa series the whole time. WILL: I have a question, a follow-up. So, how did you do banking? Did you go in every single time, deposit, and withdraw inside the bank? SVENJA: Yes, actually, well, I did. It was good and kind of not so good because I always needed to go back home because I had one office I was kind of allowed to go to because all the others they didn't know me. And so, I went there; then I did my transfer there. I like to speak to real people [laughs], which is interesting because I always worked remotely, at least the last ten years, I think. But real-life interaction is kind of important to me. WILL: Yeah, that's neat to know. Okay. Awesome. Awesome. SAMI: That's cool. Okay, Rémy, I have not hit the generator button yet, so I don't know what's coming. Let's hit it now. Okay, this is interesting. What's something you do to relieve anger or stress? RÉMY: I have a lot of different activities. I kind of find it hard not to do anything. I don't know if it's a quality or not, but I know I'm always busy. So, if I'm stressed, I just go to the next occupation, you know. So, I like to do bread at home. I like sourdough bread. It smells amazing. It's not that easy, but you're working with living organisms. It's kind of nice. I read a lot of astronomy magazines because I'm deeply in love with astronomy. Sometimes it works, sometimes it doesn't, but I love to play with my daughter. When you're stressed, sometimes it increases the stress depending, but it's always quite fun. SAMI: That's great. Playing with the kids definitely resonates with me. I've got four of my own, so they keep me busy. Is the sourdough bread is that the one where you have that...I'm going to show how naive I am—my lack of knowledge. You have, like, that starter thing that kind of lives with you. RÉMY: Yeah, exactly, the sourdough starter. That's actually the most fun part for me so far because you have to start from scratch. I mean, you can start with another starter. But it's quite interesting to just start with water and flour, and then you create something living, and it's a mutual benefit. You feed it, and then it feeds you a little bit later when you bake it in 200 degrees in your oven. It's interesting. WILL: You said it's a living organism. So, you said that you started with water and flour. So, what introduces the living organism into the sourdough bread? RÉMY: I lack a bit of the English vocabulary for that. I think it's called yeast. The living yeast on the flour, especially if it's organic, it's just out there, you know, even in the air. And when you just feed it with warm water and, like, a cozy environment, it starts eating the flour, and it develops, and it changes some of the texture and the taste into a lot of things. And then, it's quite powerful for making the bread rise and making a very nice taste and the crust and everything. But I think if I'm correct, Svenja might know a lot more about [inaudible 07:51] bread than me. SVENJA: I don't. I think the reason you said is because I'm German [laughs]. We love bread, and I absolutely love bread, but I don't have the patience to feed something. I don't have kids. I do have dogs. I do feed them, but they also get sometimes a bit of bread. I was never able to do my own sour bread, unfortunately, because I really love it. And I don't get it around here, which is really sad. So, I will look into that. SAMI: That's cool. That brings us to Jared. Jared has been waiting patiently for his question. JARED: Hit me with it, Sami. SAMI: Let's do it. Oh, okay. If you could kick one person out of this podcast...no, I'm kidding. I'm kidding. I'm kidding. I'm kidding. That's not, I mean, no, that was just...that's my own. Okay, let me actually do one. What's one characteristic you admire in others, and why? JARED: Oh, interesting. I think I always appreciate when someone else takes the time to understand someone else's point of view. If that goes a bit meta, like, we live in our own heads so much that it's really nice when someone reflects on how someone else thinks or their point of view. So, that's my one characteristic. SAMI: That's really interesting. And how have you found, I guess, in the world of consultancy, and when you're working with products, how have you found that's kind of helped you when it comes to the product ownership side of things? JARED: Well, it's a constant reminder to do it myself; that's for one thing, especially dealing with a lot of different clients and a lot of different people. It's always really important to think about their perspective, their own customers' perspective. SAMI: That's cool. I'll hand back to Will, but, Will, I'm not just going to hand it back to you for free, right? You're also going to have to do an icebreaker. WILL: Let's do it. SAMI: Will, would you rather receive a shout-out from the CEO at a company all-hands meeting or a private word of thanks from them? WILL: Ooh, I'm usually a private person, so probably private. But I have learned in my leadership, and I've learned this, this is a lesson I've learned: it's like, praise publicly, but then, like, reprimand privately. And so, I think majority of the people like that. But I'm just a private individual person. So, I'm like, just tell me, and I'm okay with that. I don't need everyone else to tell me and to say, "Hey, Will, you did a good job." Because yeah, it just brings pressure and all of that to me. So, I'm more of a private individual. Because also, I can ask more questions then. I can get more detail around like, "Yo, what did you like? Why are you saying a thank you and a shout-out?" So, that's where I'm at. SAMI: Okay, I'll hand back to Svenja. SVENJA: Yeah, I think we should give it back to you as well. So, because I am able to open a website, so that's another lesson I learned: how to type it in. SAMI: [chuckles] SVENJA: And I do find a question for you. Since nobody skipped, we will remove that option for you, Sami. So, you only get one question and that is, what is one thing we would never guess about you? SAMI: Oh, I love that. Should I say how much I hate podcasting? SVENJA: [laughs] SAMI: No, I'm kidding. I haven't done it enough yet to know if I hate it. Ooh, one thing. That kind of means I've got to reveal something, right? Because you would never guess this thing, and you would never know this thing. So, I am 32 years old, and my intention was never to be a developer, ever. So, I actually wanted to be a psychotherapist, a cognitive behavioral therapist, to be precise. And I started on a master's course. I did it for six weeks, and then I realized I couldn't handle it. I had placements in a hospital, and the cases that we were dealing with it was too much for me. It was too overwhelming, and I didn't have the skills to kind of handle that as well as my own personal world. So, at the age of about...I've got to remember what age it was. I think it was about 25 years old, 24, 25 years old. I already had one kid, and I was married with one child. And what am I going to do? My whole plan to be a psychotherapist that I'd done my undergraduate degree to go towards, and now I was on this master's just kind of fell apart. So, it's like, what's the easiest thing I can do? And that was to learn to code, right [chuckles]? Well, I'd always been good at computers. I'd always been fixing things. I was always the one at home who'd been asked, you know, "There's a problem with this computer." Normally, it was the printer, and I hate printers, but that's for a totally other episode. I could do a whole episode on printers. My one next to me is currently plugged in. I don't use Wi-Fi—Bluetooth with it because it's just not worth it. But either way, so I wrote my first line of code when I was 25. That was the first time I ever saw code, wrote HTML, and knew what it was. So, I never wanted to be a developer. Here I am all those years later, but it was never a plan, and I've found myself here. But I'm quite happy for it. SVENJA: That is so interesting and definitely something I wouldn't have guessed. SAMI: Yeah, it's been one hell of a journey, shall we say, but an exciting one. SVENJA: I would be super interested how the others of you stepped into the world of tech, so to say. JARED: Similar sort of thing to Sami in that I've always been interested, always been the sort of more technical, geekier person of the school and the social groups. And then, at uni, I actually took some computer science classes, and then quickly felt very confused and ended up doing a bachelor of commerce in marketing and management instead, which was a lot more straightforward basic business degree, sort of tick some things off. But still, like, throughout all that time, always just loved tech, loved reading about it, loved dabbling. And I landed a job at a previous company that I just got a lot of freedom to help out where I needed, problem-solve, do lots of different things. It was quite a small business. I was able to level up a whole bunch of different skills, like some technical and some sort of more managerial as well. That's sort of how I got a lot of my knowledge and then moved on from there. How about you, Rémy? RÉMY: I started in tech right away after high school. So, I had studied...I think we still call it multimedia. It was communication, coding, design, sound, video. I learned how to make step motions, you know, a lot of different things. It was kind of doing everything and trying to find the one thing that you actually like, and I found mine, which was actually coding. I think I found what I liked when I was in school. I remember struggling on math homework. I don't have a very high background in math, but I used to enjoy it. I remember struggling on some homework, and the sensation when you finally find the answer, and you finally resolve the problem it was amazing. And I felt that again in coding. Like, you have a bug, or you have a feature, and you can't make it. And you try again, and you find some clues, but it doesn't work. And at some point, it works, and you finally made it. And it's an amazing sensation. I had it again, like yesterday. It's quite common. I love that so much. So, I think that's how I decided, okay, that's what I want to do every day. SVENJA: Thank you so much, Rémy and Jared. What about you, Will? WILL: Yeah, I think I've told this story before on the podcast, but I always love telling it again. I actually lost my job, and I was really struggling. And if you know me, fashion is not my thing at all, and I was working at this fashion store. It was this clothing store. I hated it. I hated it. Like, there's no shortage on that. I hated it [laughs]. I was working there, and then I also started working at this insurance place. We sold travelers insurance. So, it was very interesting to see how that works. And yeah, I'm not going to say too much about it, but yes, how that works [laughs]. But at that company, the one good thing about it was they were like, as long as you get your work done, you could do whatever you want. And so, one day, I was at home, and my partner was like, "You're struggling. You're just trying to figure out what you're trying to do, and you're struggling." So, she kind of walked me through, like, "What do you want to do?" And I was...when Sami mentioned the printer, I laughed because I was that person also. And printers are tricky because you never know what the real issue is. You just got to tinker with it and hope it works. And yes, you never get the same answer twice, I feel sometimes [laughs]. SAMI: I feel like all our listeners who are kind of really good at fixing printers are thinking like, oh my gosh, I'm going to work at thoughtbot now. I'm going to be an amazing developer one day. WILL: You could. Why not [laughs]? And it's interesting you say that because, like, I was 29 or 30 whenever I started in the field. So, I was a little bit late, I feel sometimes, to get into development. But my wife, she asked me, "You're struggling. You need to do something because this is not going to work. We got to change it up." And I was like, well, I grew up in a small town in Louisiana, in the south of United States, and we didn't have anything tech there. It was just a rural place. And so I never had the opportunity to learn anything about computers. I guess the printer and stuff just came naturally to me, and this was before YouTube and all of that. So, she challenged me. She said, "Go and learn it. Go figure it out. Go learn it." I did. And I forgot who mentioned; somebody mentioned something about being easy getting into development. It was not for me. I remember so many times at the coffee shop just, like, I don't know what I am doing. And if you know anything about me, I sometimes don't have the patience to slow down. And so, I came in, and I wanted to be a senior developer and produce like a senior developer. And I was sadly mistaken that that's not how it work. But five years now, I am a senior developer, so I've enjoyed it. I would not change it for anything, and I love it. So, it's been a good change for me, so I love tech. SAMI: I think it's so helpful to kind of hear realistic expectations about how long it does take. It really is a skill. Some people often ask me, "What is one characteristic that kind of indicates success in the field?" And there isn't just one. But I definitely think that the ability to sit and spend time is so helpful. Because if you can spend time with something and just sit there and, like, be patient, like you were saying, often, you will get to a solution, and it will happen. But it's about almost slowing yourself down and slowing your mind and your brain down. And we kind of call it in industry, you know, the concept of having a rubber duck, which is also a form of I'm stuck on something. I just need to speak this out, not necessarily with someone who can respond, but in a way that allows me to verbalize slowly what's going on. And you'll be surprised how often you reach a solution. So, that's really interesting. So, yeah, we've got this great series coming. We have some great guests lined up. The advantage of doing this series over in Europe, West Asia, and Africa is we're going to get access to some guests within our time zones, within our region that this podcast has not been able to get access to before. And so, we are really excited about the people that we're going to bring on, and you're going to get to hear some of the most incredible podcasts that you've heard. But we don't have a name. We still don't have a name. And I kind of set the challenge at the beginning of this podcast of, well, let's just come up with one. So, who wants to give a shout-out and think about, you know, what this name is going to be? Just to clarify, it's still going to be called the Giant Robots Smashing Into Other Giant Robots podcast, but where you see that kind of title of the individual episode, it will probably have a prefix of kind of the series name just so you know it's from us. Victoria, I feel like you're hiding away somewhere in the background, and I feel like you've got some suggestions up your sleeve. VICTORIA: Yeah, so I love the name of the podcast. I like when I network, and I usually say that, "I'm, like, the co-host of the Giant Robots Smashing Into Other Giant Robots." So, I want to keep the name to be fun. And maybe it's giant robots in a different action like Giant Robots High-Fiving Other Giant Robots or Giant Robots Without Borders, or something like that. That's what I'm thinking. SVENJA: I really like the Giant Robots Without Borders. I really like it. JARED: Sami, you had a good one that I quite liked as well in the spirit of what we've been talking about: Giant Robots On Tour. SAMI: Oh yeah, Giant Robots On Tour. That makes it sound, to me, like we're just going out and having a really fun time, not like we might not be doing sensible things, but we're going on tour. But that kind of also indicates, you know, what happens on tour stays on tour. And we probably need to be conscious that other people will listen to this. So, we have to maybe, like, tone it down if we are the giant robots who are on tour. But yeah, I like Giant Robots On Tour. This is cool. We're actually going to name our series. VICTORIA: I do think it would be funny if it was, like, less...I don't want to say less violent, like, Giant Robots Smashing Into Other Giant Robots, like, Giant Robots Knitting Socks or something, like [laughs], fun, nice, but maybe not as exciting. SVENJA: Baking Bread Together [laughs]. VICTORIA: Giant Robots Baking Bread actually sounds pretty cool. WILL: Giant Robots On Tour because it reminded me since we're talking about the different region, the great English rock band, the Beatles. That's what it reminded me of. So, shout out to the UK. SAMI: Yeah. I actually often drive past...do you know where the Abbey Road studios were? And there's that famous picture of the Beatles on the album cover of where...I don't know which album it is. They're crossing that zebra crossing across the road. There's that picture of all of them. And what you get now is you get loads of tourists. And so, you're trying to drive your car, and they're just hanging out on the zebra crossing, trying to replicate that picture that they had on the album cover. If you're not familiar with what I'm talking about, just Google "Beatles zebra crossing album cover," and you'll get an idea of kind of what I have to face when I'm just trying to drive from A to B sometimes. VICTORIA: Well, that's also part of, you know, bringing up why we were wanting to have some hosts in the Europe, West Asia, and Africa region, is there's a lot of context and things like calling it a zebra crossing. We call it a crosswalk. And just having more context and connection with our guests who are from that area would be really great. I don't know if you all saw the pictures, but for the last RubyConf that was in San Diego, I actually made robot costumes out of cardboard boxes. And there's absolutely a picture of me in a giant robot costume sitting on a lounge chair outside in the sun. So, it might be perfect for your series. SAMI: I think that's a great way to name things, right? Like, if you have a picture that works for a thing, then you have to kind of go with a name like that. Do we vote? How do we come up with it? Is this a democracy? Probably not. JARED: Well, I think one thing we haven't clarified is that Sami, you're our primary co-host for the European adventure. So, maybe you should get the decider. Should you dictate to us? SAMI: I feel like it's almost worth it kind of being the primary host just so I get to pick the name. So yeah, sure, I'm going to decide, so it's Sami's Giant Robots is going to be the name of this series. No, I'm kidding. Let's go with...okay, I'm stuck between without borders and on tour. I'm really stuck between those two. So, no one else can see this. I'm going to say, like, hands up if you want without borders. Hands up if you want on tour. Okay. Okay. Okay. We're going to be calling our new series, with the most exciting guests that you've ever seen, Giant Robots On Tour. You've heard it here first. It's been announced. WILL: Thank you for joining us. I look forward to the Giant Robots On Tour. I am excited about it. I love that we have the diversity at thoughtbot to be able to have this limited series. So, I'm excited to see what comes out of it. So, I can't wait to check it out. I'll be one of the first listeners on every podcast that comes out. You can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have questions or comments, email us at hosts@giantrobots.fm. You can find me on Twitter @will23larry. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Thanks for listening. See you next time. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
Stephanie has a newfound interest in urban foraging for serviceberries in Chicago. Joël discusses how he uses AI tools like ChatGPT to generate creative Dungeons & Dragons character concepts and backstories, which sparks a broader conversation with Stephanie about AI's role in enhancing the creative process. Together, the hosts delve into professional growth and experience, specifically how to leverage everyday work to foster growth as a software developer. They discuss the importance of self-reflection, note-taking, and synthesizing information to enhance learning and professional development. Stephanie shares her strategies for capturing weekly learnings, while Joël talks about his experiences using tools like Obsidian's mind maps to process and synthesize new information. This leads to a broader conversation on the value of active learning and how structured reflection can turn routine work experiences into meaningful professional growth. Obsidian (https://obsidian.md/) Zettelkasten (https://en.wikipedia.org/wiki/Zettelkasten) Mindmaps in Mermaid.js (https://mermaid.js.org/syntax/mindmap.html) Module Docs episode (https://bikeshed.thoughtbot.com/417) Writing Quality Method docs blog post (https://thoughtbot.com/blog/writing-quality-method-docs) Notetaking for Developers episode (https://bikeshed.thoughtbot.com/357) Learning by Helping blog post (https://thoughtbot.com/blog/learning-by-helping) Transcript: JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. STEPHANIE: And I'm Stephanie Minn. And together, we're here to share a bit of what we've learned along the way. JOËL: So, Stephanie, what's new in your world? STEPHANIE: So, as of today, while we record this, it's early June, and I have started foraging a little bit for what's called serviceberries, which is a type of tree/shrub that is native to North America. And I feel like it's just one of those, like, things that more people should know about because it makes these little, tiny, you know, delicious fruit that you can just pick off of the tree and have a little snack. And what's really cool about this tree is that, like I said, it's native, at least to where I'm from, and it's a pretty common, like, landscaping tree. So, it has, like, really pretty white flowers in the spring and really beautiful, like, orange kind of foliage in the fall. So, they're everywhere, like, you can, at least where I'm at in Chicago, I see them a lot just out on the sidewalks. And whenever I'm taking a walk, I can just, yeah, like, grab a little fruit and have a little snack on them. It's such a delight. They are a really cool tree. They're great for birds. Birds love to eat the berries, too. And yeah, a lot of people ask my partner, who's an arborist, like, if they're kind of thinking about doing something new with the landscaping at their house, they're like, "Oh, like, what are some things that I should plant?" And serviceberry is his recommendation. And now I'm sharing it with all of our Bike Shed listeners. If you've ever wondered about [laughs] a cool and environmentally beneficial tree [laughs] to add to your front yard, highly recommend, yeah, looking out for them, looking up what they look like, and maybe you also can enjoy some June foraging. JOËL: That's interesting because it sounds like you're foraging in an urban environment, which is typically not what I associate with the idea of foraging. STEPHANIE: Yeah, that's a great point because I live in a city. I don't know, I take what I can get [laughs]. And I forget that you can actually forage for real out in, you know, nature and where there's not raccoons and garbage [laughs]. But yeah, I think I should have prefaced by kind of sharing that this is a way if you do live in a city, to practice some urban foraging, but I'm sure that these trees are also out in the world, but yeah, have proved useful in an urban environment as well. JOËL: It's really fun that you don't have to, like, go out into the countryside to do this activity. It's a thing you can do in the environment that you live in. STEPHANIE: Yeah, that was one of the really cool things that I got into the past couple of years is seeing, even though I live in a city, there's little pieces of nature around me that I can engage with and picking fruit off of people's [inaudible 03:18] [laughs], like, not people's, but, like, parkway trees. Yeah, the serviceberry is also a pretty popular one here that's planted in the Chicago parks. So, yeah, it's just been like, I don't know, a little added delight to my days [laughs], especially, you know, just when you're least expecting it and you stumble upon it. It's very fun. JOËL: That is really fun. It's great to have a, I guess, a snack available wherever you go. STEPHANIE: Anyway, Joël, what is new in your world? JOËL: I've been intersecting two, I guess, hobbies of mine: D&D and AI. I've been playing a lot of one-shot games with friends, and that means that I need to constantly come up with new characters. And I've been exploring what AI can do to help me develop more interesting or compelling character concepts and backstories. And I've been pretty satisfied with the result. STEPHANIE: Cool. Yeah. I mean, if you're playing a lot and having to generate a lot of new ideas, it can be hard if you're, you know, just feeling a little empty [laughs] in terms of, you know, coming up with a whole character. And that reminds me of a conversation that you and I had in person, like, last month as we were talking about just how you've been, you know, experimenting with AI because you had used it to generate images for your RailsConf talk. And I think I connected it to the idea of, like, randomness [laughs] and how just injecting some of that can help spark some more, I think, creativity, or just help you think of things in a new way, especially if you're just, like, having a hard time coming up with stuff on your own. And even if you don't, like, take exactly what's kind of provided to you in a generative AI, it at least, I don't know, kind of presents you with something that you didn't see before, or yeah, it's just something to react to. JOËL: Yeah, it's a great tool for getting unstuck from that kind of writer's block or that, like, blank page feeling. And oftentimes, it'll give you a thing, and you're like, that's not really exactly what I wanted. But it sparks another idea, which is what I actually want. Or sometimes you can be like, "Hey, here's an idea I have. I'm not sure what direction to take it in. Give me a few options." And then, you see that, and you're like, "Oh, that's actually pretty interesting." One thing that I think is interesting is once I've come up with a little bit of the character concept, or maybe even, like, a backstory element...so, I'm using ChatGPT, and it has that concept of memory. And so, throughout the conversation, it keeps bringing it back. So, if I tell it, "Look, this is an element that's going to be core to the character," and then later on, I'm like, "Okay, help me brainstorm some potential character flaws for this character," it'll actually find things that connect back to my, like, core concept, or maybe an element of the backstory. And it'll give me like, you know, 5 or 10 different ideas, and some of them can be actually really good. So, I've really enjoyed doing that. It's not so much to just generate me a character so much as it is like a conversation back and forth of like, "Okay, help me come up with a vibe for it. Okay, now that I have a vibe or a backstory element or, like, a concept, help me workshop this thing. And what about that?" And if I want to say, "It's going to be this character class, what are maybe some ways I could develop it that are unusual?" and just sort of step by step kind of choose your own adventure. And it kind of walking me through the process has been really fun. STEPHANIE: Nice. Yeah, the way you're talking about it makes a lot of sense to me how asking it to help you, not necessarily do all of it, like, you know, kind of just spit out something that you're like, okay, like, that's what I'm going to use, approaching it as a tool, and yeah, that's really fun. Have you had good experiences then playing with those characters [chuckles]? JOËL: I have. I think it's also really great for sort of padding out some of the content. So, I had a character I played who was a washed-up politician. And at one point, I knew that I was going to have to make a campaign speech. And I asked ChatGPT, "Can you help me, like...here are the themes I want to hit. Give me a, like, classic, very politician-sounding speech that sounds inspiring but also says nothing at the same time." And it did a really good job of that. And you can tell it, "Oh, that's too long. That's too short. I want three sentences. I want five sentences." And that was great. So, I saved that, brought it to the table, and read out my campaign speech, and it was a hit. STEPHANIE: Amazing. That's really fun. I like that because, yeah, I don't think...I am so poor at just improvising things like that, even though, like, I want to really embody the character. So, that's cool that you found a way to help you be able to do that because that just feels like kind of what playing D&D can be about. JOËL: I've never DM'd, but I could imagine a situation where, because the DMs have to improv so much, and you know what the players do, I could imagine having a tool like that available behind the DM screen being really helpful. So, all of a sudden, someone's just like, "Oh, I went to a place," and, like, all of a sudden, you have to, like, sort of generate a village and, like, ten characters on the spot for people that you didn't expect, or an organization or something like that. I could imagine having a tool like that, especially if it's already primed with elements from your world that you've created, being something really helpful. That being said, I've never DM'd myself, so I have no idea what it actually is like to be on the other side of that screen. STEPHANIE: Cool. I mean, if you ever do try that or have a DM experience and you're like, hmm, I wonder kind of how I might be able to help me here, I bet that would be a very cool experience to share on the show. JOËL: I definitely have to report back here. Something that I've been thinking about a lot recently is the difference between sort of professional growth and experience, so the time that you put into doing work. Particularly maybe because, you know, we spend part of our week doing client work, and then we have part of the week that's dedicated to maybe more directly professional growth: our investment day. How do we grow from that, like, four days a week where we're doing client work? Because not all experience is created equal. Just because I put in the hours doesn't mean that I'm going to grow. And maybe I'm going to feel like I'm in a rut. So, how do I take those four days a week that I'm doing code and transform that into some sort of growth or expansion of my knowledge as a developer? Do you have any sort of tactics that you like to use or ways you try to be a little bit more mindful of that? STEPHANIE: Yeah, this is a fun question for me, and kind of reminds me of something we've talked a little bit about before. I can't remember if it was, like, on air or just separately, but, you know, we talk a lot about, like, different learning strategies on the show, I think, because that's just something you and I are very into. And we often, like, lean on, you know, our investment day, so our Fridays that we get to not do client work and kind of dedicate to professional development. But you and I also try to remember that, like, most people don't have that. And most people kind of are needing to maybe find ways to just grow from the day-to-day work that they do, and that is totally possible, I think. And some of the strategies that I have are, I guess, like, it is really...it can be really challenging to, like, you know, be like, okay, I spent 40 hours doing this, and like, what did I learn [chuckles]? Feeling like you have to have something to show for it or something to point to. And one thing that I've been really liking is these automated check-ins we have at the end of the week. And, you know, I suspect that this is not that uncommon for just, like, a workplace to be like, "Hey, like, how did your week go? Like, what are some ways that it was successful? Like, what are your challenges? Like, where do you need support or help?" And I think I've now started using that as both, like, space for giving an update on just, like, business-y things. Like, "Here's the status of this project," or, like, "Here's, you know, a roadblock that we faced that took some extra time," or whatever. Then also being like, oh, this is a great time to make this space for myself, especially because...I don't know about you, but whenever I have, like, performance review time and I have to write, like, a self-review, I'm just like, did I do anything in the last six months [laughs], or how have I grown in the last six months? It feels like such a big question, kind of like you were talking about that blank page syndrome a little bit. But if I have kind of just put in the 10 minutes during my Friday to be like, is there something that was kind of just for me that I can say in my check-in? I can go back and, yeah, just kind of start to see just, like, you know, pick out or just pay attention to how, like, my 40 hours is kind of serving me in growing in the ways that I want to and not just to deliver code [laughs]. JOËL: What you're describing there, that sort of weekly check-in and taking notes, reminds me of the practice of journaling. Is that something that you've ever tried to do in your, like, regular life? STEPHANIE: Oh yeah, very much so. But I'm not nearly as, like, routine about it in my personal life. But I suspect that the routine is helpful in more of a, like, workplace setting, at least for me, because I do have, like, more clear pathways of growth that I'm interested in or just, like, something that, I don't know, not that it's, like, expected of everyone, but if that is part of your goals or, like, part of your company's culture, I feel like I benefit from that structure. And yeah, I mean, I guess maybe that's kind of my way of integrating something that I already do in my personal life to an environment where, like I said, maybe there is, like, that is just part of the work and part of your career progression. JOËL: I'm curious about the frequency. You mentioned that you sort of do this once a week, sort of a check-in at the end of the week. Do you find that once a week is about the right frequency versus maybe something like daily? I know a lot of these sort of more modern note-taking systems, Roam Research, or Obsidian, or whatever, have this concept of, like, a daily note that's supposed to encourage something that's kind of like journaling. Have you ever tried something more on a daily basis, or do you feel like a week is about...or once a week is about the right cadence for you? STEPHANIE: Listen, I have, like, complicated feelings about this because I think the daily note is so aspirational for me [laughs] and just not how I work. And I have finally begrudgingly come to accept this no matter how much, like, I don't know, like, bullet journal inspirational content I consume on the internet [laughs]. I have tried and failed many a time to have more frequency in that way. But, I don't know, I think it almost just, like, sets me up for failure [laughs] because I have these expectations. And that's, like, the other thing. It's like, you can't force learning necessarily. I don't know if this is, like, a strategy, but I think there is some amount of, like, making sure that I'm in the right headspace for it and, you know, like, my environment, too, kind of is conducive to it. Like, I have, like, the time, right? If I'm trying to squeeze in, I don't know, maybe, like, in between meetings, 20 minutes to be like, what did I learn from this experience? Nothing's coming out [laughs]. That was another thing that I was kind of mulling over when he had this topic proposed is this idea of, like, mindset and environment being really important because you know when you are saying, like, not all time is created equal, and I suspect that if, you know, either you or, like, the people around you and the environment you're in is not also facilitating growth, and, like, how much can you really expect for it to be happening? JOËL: I mean, that's really interesting, right? The impact of sort of a broader company culture. And I think that definitely can act as a catalyst for growth, either to kind of propel you forward or to pull you back. I want to dig into a little bit something you were saying about being in the right headspace to capture ideas. And I think that there's sort of almost, like, two distinct phases. There's the, like, capturing data, and information, and experiences, and then, there's synthesizing it, turning information into learning. STEPHANIE: Yes. JOËL: And it sounds like you're making a distinction between those two things, specifically that synthesis step is something that has to happen separately. STEPHANIE: Ooh, I don't even...I don't know if I would necessarily say that I'm only talking about synthesis, but I do like that you kind of separated those categories because I do think that they are really important. And they kind of remind me a lot about the scientific method a little bit where, you know, you have the gathering data and, like, observations, and you have, you know, maybe some...whatever is precipitating learning that you're doing maybe differently or new. And that also takes time, I think, or intention at least, to be like, oh, do I have what I need to, like, get information about how this is going? And then, yeah, that synthesis step that I think I was talking about a little bit more. But I don't think either is just automatic. There is, I think, quite a bit of intention involved. JOËL: I think maybe the way I think about this is colored by reading some material on the Zettelkasten method of note-taking, which splits up the idea of fleeting notes and literature notes, which are sort of just, like, jotting down ideas, or things you've seen, things that you've learned, maybe a thought you had when you read a particular paragraph in a blog post, something like that. And then, the permanent notes, which are more, like, fully formed thoughts that arise out of the more fleeting ones. And so, the idea is that the fleeting ones maybe you're taking those in a notebook if you're doing it pen and paper. You could be doing it in some sort of, like, daily note, or something like that. And then, those are temporary. They were there to just capture information. Later on, you process that, and then you can throw them out if you need to. STEPHANIE: Yeah, that makes a lot of sense. This has actually been a shift for me, where I used to rely a lot more on memory and perhaps, like, didn't have a great system for taking things like fleeting notes and, like, documenting kind of [inaudible 18:28] what I was saying earlier about how do I make sure that the information is recorded, you know, for me to synthesize later? And I have found a lot more success lately in that fleeting note style of operating. And thanks to Obsidian honestly, now it's so easy to be like, oh, I'm just going to open a quick new file. And I need as little friction as possible to, like, put stuff somewhere [laughs]. And, actually, I'm excited to talk a little bit more about this with you because I think you're a little bit different where you somehow find the time [laughs] and care to create your diagrams. I'm like, if I can, for some reason, even get an Obsidian file open, I'll tab to Slack. And I send myself a lot of notes in my just own personal DM space. In fact, it's actually kind of embarrassing because I use the Command+K shortcut to navigate to my own personal DMs, which you can get to by typing me, like, M-E. And sometimes I've accidentally just entered that into a channel chat [laughs], and then I have to delete it really quick later when I realize what I've done. So, yeah, like, I meant to navigate to my personal notes, and I just put in our team chat, "Me [laughs]." And, I don't know, I have no idea how that comes up [laughs], what people think is going on. But if anyone's listening to this podcast from thoughtbot and has seen that of me, that's what happened. JOËL: You may not be the only one who's done that. STEPHANIE: Thank you. Yeah [laughs], that's good to know. JOËL: I want to step back a little bit because we've been talking about, like, introspection, and synthesis, and finding moments to capture information. And I think we've sort of...there's an unspoken assumption here that a way to kind of turbocharge learning from day-to-day experience is some form of synthesis or self-reflection. Would you agree with that statement? STEPHANIE: Okay. This is another thing that I am perhaps, like, still trying to figure out, and we can figure it out together, which is separating, like, self-driven learning and, like, circumstance-driven learning. Because it's so much easier to want to reflect on something and find time to be, like, oh, like, how does this kind of help my goals or, like, what I want to be doing with my work? Versus when you are just asked to do something, and it could still be learning, right? It could still be new, and you need to go do some research or, you know, play around with a new tool. But there's less of that internal motivation or, like, kind of drive to integrate it. Like, do you have this distinction? JOËL: I've definitely noticed that when there is motivation, I get more out of every hour of work that I put in in terms of learning new things. The more interest, the more motivation, the more value I get per unit of effort I put in. STEPHANIE: Yeah. I think, for me, the other difference is, like, generative learning versus just kind of absorbing information that's already out there that someone else's...that is kind of, yeah, just absorbing rather than, like, creating something new from, like, those connections. JOËL: Ooh. STEPHANIE: Does that [chuckles] spark something for you? JOËL: The gears are turning in my head because I'm almost hearing that as, like, a passive versus active learning thing. But just sort of like, I'm going to let things happen to me, and I will come out of that with some experience, and something is going to happen. Versus an active, I am going to, like, try to move in a direction and learn from that and things like that. And I think this maybe connects back to the original question. Maybe this sort of, like, checking in at the end of the week, taking notes is a way to convert something that's a bit more of a passive experience, spending four days a week doing a project for a client, into something that's a little bit of a more active learning, where you say, "Okay, I did four weeks of this particular type of Rails work. What do I get out of it? What have I learned? What is something new that I've seen? What are some opinions I have formed, patterns I like or dislike?" STEPHANIE: Yeah, I like that distinction because, you know, a few weeks ago, we were at RailsConf. We had kind of recapped it in a previous episode. And I think we had talked about like, oh, do we, like, to sit in talks or participate in workshops? And I think that's also another example of, like, passive versus active, right? Because I 100%, like, don't have the same type of learning by just, you know, listening to a talk that I do with maybe then going to look up, like, other things this person has put out in the world, finding them to talk to them about it, like, doing something with the content, right? Otherwise, it's just like, oh yeah, I heard this talk. Maybe one day I'll remember it when the need arises [laughs]. I, like, have a pointer to it in my brain. But until then, it probably just kind of, like, sits there, and nothing's really happened with it. JOËL: I think maybe another thing that's interesting in that passive versus active distinction is that synthesis is inherently an act of creation. You are now creating new ideas of your own rather than just capturing information that is being thrown at you, either by sitting in a talk or by shipping tickets. The act of synthesizing and particularly, I think, making connections between ideas, either because something that, let's say you're in a talk, a speaker said that sparks an idea for yourself, or because you can connect something that speaker said with another idea that you already have or an idea that you've seen elsewhere. So, you're like, oh, the thing this person is saying connects to this thing I read in a book or something another speaker said in an earlier session, or something like that. All of a sudden, now you're creating these new bits of knowledge, new perspectives, maybe even new mental models. We talked about mental models last week. And so, knowledge is not just the facts that you absorb or memorize. A lot of it is building the connections between those facts. And those are things that are not always given to you. You have to create them yourself. STEPHANIE: Yeah, I am nodding my head a lot because that's resonating with, like, an experience that I'm having kind of coaching and mentoring a client developer on my team who is earlier in her career. And one thing that I've been really, like, working on with her is asking like, "Oh, like, what do you think of this?" Or like, "Have you seen this before? What are your reactions to this code, or, like this comment?" or whatever. And I get the sense that, like, not a lot of people have prompted her to, like, come up with answers for those kinds of questions. And I'm really, really hopeful that, like, that kind of will help her achieve some of the goals that she's, like, hoping for in terms of her technical growth, especially where she's felt like she's stagnated a little bit. And I think that calls back really well to what you said at the beginning of, like, you can spend years, right? Just kind of plugging away. But that's not the same as that really active growth. And, again, like, that's fine if that's where you're at or want to be at for a little while. But I suspect if anyone is kind of, like, wondering, like, where did that time go [laughs]...even for me, too, like, once someone started asking me those questions, I was like, oh, there's still so much to figure out or explore. And I think you're actually really good at doing that, asking questions of yourself. And then, another thing that I've picked up from you is you ask questions about, like, what are questions other people would have? And that's a skill that I feel like I still have yet to figure out. I'm [chuckles] curious what you think about that. JOËL: That's interesting because that kind of goes to another level. I often think of the questions other people would have from a more, like, pedagogical sense. So, I write a lot of blog posts. I write a lot of talks that I give. So, oftentimes when I'm creating that kind of material, there's a bit of an inner critic who's trying to, you know, sitting in the audience listening to myself speak, and who's going to maybe roll their eyes at certain points, or just get lost, or maybe raise their hand with a question. And that's who I try to address those things so that then when I go through it the next time, that inner critic is actually feeling engaged and paying attention. STEPHANIE: Do you find that you're able to do that because you've seen that happen enough times where you're like, oh, I can kind of predict maybe what someone might feel confused about? I'm curious, like, how you got from being, like, well, I know what I would be confused about to what would someone else be unsure or, like, want more information about. JOËL: Part of the answer there is that I'm a very harsh critic myself. STEPHANIE: [laughs] Yes. JOËL: So, I'm sitting in somebody else's talk, and there are probably parts where I'm rolling my eyes or being like, wait a minute, how did you get from this idea to this other thing? That doesn't follow. And so, I try to turn that back towards myself and use that as fuel to make my own work better. STEPHANIE: Yeah, that's cool. I like that. Even if it's just framed as, like, a missed opportunity for people to have better or more comprehensive understanding. I know that's something that you're, like, very motivated to help kind of spread more of [laughs]. Understanding and learning is just important to you and to me. So, I think that's really cool that you're able to find ways to do that. JOËL: Well, you definitely want to, I think, to keep a sort of beginner's mindset for a lot of these things, and one of the best ways to do that is to work with beginners. So, I spent a lot of time, back in the day, for example, in the Elm language chat room, just helping people answer basic questions, looking up documentation, explaining sort of basic concepts. And that, I think, helped me get a sense of like, where were newcomers to the language getting stuck? And what were the explanations of those concepts that really connected? Which I could then translate into my work. And I think that that made me a better developer and helped me build this, like, really deep understanding of the underlying concepts in a way that I wouldn't have had just writing code on my own. STEPHANIE: Wow, forum question answering hero. I have never thought to do that or felt compelled to do that. But I remember my friend was telling me, she was like, "Yeah, sometimes I just want to feel good about myself. And I remember that I know things that other people, like, are wanting to find out," and she just will answer some easy questions on Stack Overflow, you know, about, like, basic Rails stuff or something. And she is like, "Yeah, and that's doing my good deed [laughs]." And yeah, I think that it also, you know, has the same benefits that you were just saying earlier about...because you want to be helpful, you figure out how to actually be helpful, right? JOËL: There's maybe a sense as well that helping others, once more, forces you into more of an active mindset for growth in the same way that interrogating yourself does, except now it's a beginner who's interrogating you. And so, it forces you to think a little bit more about those whys or those places where people get stuck. And you've just sort of assumed it's a certain way, but now you have to, like, explain it and really get into some of the concepts. STEPHANIE: So, on the show, we've talked a lot about the fun things you share in the dev channel in our Slack workspace. But I recently discovered that someone (Was it you?) created an Obsidian MD channel for our favorite note-taking software. And in it, you shared a really cool tool that is available in Obsidian called mind maps. JOËL: Yeah, so mind maps are a type of diagram. They're effectively a tree structure, but they don't really look like that when you draw them out. You start with a sort of topic in the center, and then you just keep drawing branches off of that, going every direction. And then, maybe branches off branches and keep going as you add more content. Turns out that Mermaid.js supports mind maps as a graph type, and Obsidian embeds Mermaid diagrams. So, you can use Mermaid's little language to express a mind map. And now, all of a sudden, you have mind mapping as a tool available for you within Obsidian. STEPHANIE: And how have you been using that to kind of process and experience or maybe, like, end up with some artifacts from, like, something that you're just doing in regular day-to-day work? JOËL: So, kind of like you, I think I have the aspiration of doing some kind of, like, daily note journaling thing and turning that into bigger ideas. In practice, I do not do that. Maybe that's the thing that I will eventually incorporate into my practice, but that's not something that I'm currently doing. Instead, a thing that I've done is a little bit more like you, but it's a little bit more thematically chunked. So, for example, recently, I did several weeks of work that involved doing a lot of documentation for module-level documentation. You know, I'd invested a lot of time learning about YARD, which is Ruby's documentation system, and trying to figure out, like, what exactly are docs that are going to be helpful for people? And I wanted that to not just be a thing I did once and then I kind of, like, move on and forget it. I wanted to figure out how can I sort of grow from that experience maximally? And so, the approach I took is to say, let's take some time after I've completed that experience and actually sort of almost interrogate it, ask myself a bunch of questions about that experience, which will then turn into more broad ideas. And so, what I ended up doing is taking a mind-mapping approach. So, I start that center circle is just a circle that says, "My experience writing docs," and then I kind of ring it with a series of questions. So, what are questions that might be interesting to ask someone who just recently had experience writing documentation? And so, I come up with 4,5,6 questions that could be interesting to ask of someone who had experience. And here I'm trying to step away from myself a little bit. And then, maybe I can start answering those questions, or maybe there are sub-questions that branch off of that. And maybe there are answers, or maybe there are answers that are interesting but that then trigger follow-up questions. And so I'm almost having a conversation with myself and using the mind map as a tool to facilitate that. But the first step is putting that experience in the center and then ringing it with questions, and then kind of seeing where those lead. STEPHANIE: Cool. Yeah, I am, like, surprised that you're still following that thread because the module docs experience was quite a little bit a while ago now. We even, you know, had an episode on it that I'll link in the show notes. How do you manage, like, learning new things all the time and knowing what to, like, invest energy and attention into and what to kind of maybe, like, consider just like, oh, like, I don't know, that was just an experience that I had, and I might not get around to doing anything with it? JOËL: I don't know that I have a great system. I think sometimes when I do, especially a more prolonged chunk of time doing a thing, I find it really worthwhile to say, hey, I don't want that to sort of just be a thing that was in my memory, and then it moves out. I'd like to pull out some more maybe practical or long-term ideas from it. Part of that is capture, but some of that is also synthesis. I just spent two weeks or I just spent a month using a particular technology or doing a new kind of task. What do I have to show for it? Are there any, like, bigger ideas that I have here? Does this connect with any other technologies I've done or any other ideas or theories? Did I come up with any opinions? Did I like this technology? Did I not? Are there elements that were inspirational? And then capturing some of that eventually with the idea of...so I do a sort of Zettelkasten-style permanent note collection, the idea to create at least a few of those based off of the experience that I can then connect to other things. And maybe it eventually turns into other content. Maybe it's something I hold onto for a while. In the case of the module docs, it turned into a Bike Shed episode. It also turned into a blog post that was published this past week. And so, it does have a way of coming back. STEPHANIE: Yeah. Yeah. One thing that sparked for me was that, you know, you and I spend a lot of time thinking about, like, the practice of writing software, you know, in the work we do as consultants, too. But I find that, like, you can also apply this to the actual just your work that you are getting paid for [laughs]. This was, I think, a nascent thought in the talk that I had given. But there's something to the idea of, like, you know, if you are working in some code, especially legacy code, for a long time, and you learn so much about it, and then what do you have to show for it [chuckles], you know? I have really struggled with feeling like all of that work and learning was useful if it just, like, remains in my memory and not necessarily shared with the team or, I don't know, just, like, knowing that if I leave, especially since I am a contractor, like, just recognizing that there's value in being like, oh, I spent an hour or, like, half a day sifting through this complex legacy code just to make, like, a small change. But that small change is not the full value of all of the work that I did. And I suspect that, like, just the mind mapping stuff would be really interesting to apply to more. It's not, like, just practical work, but, like, more mundane, I don't know, like, labor [laughs], if you will. JOËL: I can think of, like, sort of two types of knowledge that you can take out of something like that. Some of it is just understanding how this legacy system works, saying, oh, well, they have this user model that's connected to this old persona table, which is kind of unused, but we sometimes rely for in this legacy case. And you've got to have this permission flag turned on and, like, all those things that you had to just discover by reading the code and exploring. And that's going to be useful to you as long as you work in that legacy codebase, as long as you work through that path. But when you move on to another project, that knowledge probably doesn't serve you a whole lot. There are things that you did throughout that journey, though, that you can probably pull out that are going to be useful to you on other projects. And that might be maybe you came up with a new way of navigating the code or a new way of, like, finding how different pieces were connected. Maybe it was a diagramming tool; maybe it was some sort of gem. Maybe it was just a, oh, a heuristic, like, when I see a model, I like to follow the associations first. And I always go for the hasmanys over the belongstos because those generally lead me in the right direction. Like, that's really interesting insight, and that's something that might serve you on a following project. You can also pull out bigger things like, are there refactoring techniques that you experimented with or that you learned on this project that you would use again elsewhere? Are there ways of maybe quarantining scary code on a legacy project that are a thing that you would want to make more consistent part of your practice? Those are all great things to pull out of, just a like, oh yeah, I did some work on a, like, old legacy part of an app. And what do I have to show for it? I think you can actually have a lot to show for it. STEPHANIE: Yeah, that's really cool. That sounds like a sure way of multiplying the learning. And I think I didn't really consider that when I was first talking about it, too. But yeah, there are, like, both of those things kind of available to you to, like, learn from. Yeah, it's like, that time is never just kind of, like, purely wasted. Oh, I don't know, sometimes it really feels like that [laughs] when you are debugging something really silly. But yeah, like, I would be interested in kind of thinking about it from both of those lenses because I think there's value in what you learn about that particular system in that moment of time, even if it might not translate to just future works or future projects. And, like, that's something that I think we would do better at kind of capturing, and also, there's so much stuff, too, kind of to that higher level growth that you were speaking to. JOËL: I think some of the distinctions we're talking about here is something that was explored in an older episode on note-taking with Amanda Beiner, where we sort of explored the difference between exploratory notes, debugging notes, idea notes, and how note-taking is not a single thing. It can serve many purposes, and they can have different lifespans. And those are all just ways to aid your thinking. But being maybe aware of the kind of thinking that you're trying to do, the kind of notes you're trying to take can help you make better use of that time. STEPHANIE: I have one last question for you before we wrap up, which is, do you find, like, the stuff we're talking about to be particularly true about software development, or it just happens to be the thing that you and I both do, and we also love to learn, and so, therefore, we are able to talk about this for, like, 50 minutes [laughs]? Are you able to make any kind of distinction there, or is it just kind of part of pedagogy in general? JOËL: I would say that that sort of active versus passive thing is a thing that's probably true, just about anything that you do. For example, I do a lot of bouldering. Just going spending a lot of time on the wall, climbing a lot; that's going to help me get better. But a classic way that people try to improve is filming themselves or having a friend film themselves, and then you can look at it, and then you evaluate, oh, that's what I did. This is where I was struggling to get the next hold. What if I try to do something different? So, building in an amount of, like, self-reflection into the loop all of a sudden catalyzes that learning and helps you grow at a rate that's much more than if you're just kind of mindlessly putting time into it. So, I would go so far as to say that self-reflection, synthesis—those are all things that are probably going to catalyze growth in most areas of your life if you're being a little bit more self-aware. But I've found that it's been particularly useful for me when it comes to trying to get better at the job that I do every week. STEPHANIE: Yeah, I think, for me, it's like, yeah, getting better at being a developer rather than being, you know, a software developer at X company. Like, not necessarily just getting better at working at that company but getting better at the skill itself. JOËL: And those two things have a way of sort of, like, folding back into themselves, right? If you're a better software developer in general, you will probably be a better developer at that company. Yes, you want domain knowledge and, like, a deep understanding of how the system works is going to make you a better developer at that company. But also, if you're able to find more generic approaches to onboard onto new things, or to debug more effectively, or to better read or understand unknown code of high complexity, those are all going to make you much better at being a developer at that company as well. And they're transferable skills, so they're all really good things to have. STEPHANIE: On that note. Shall we wrap up? JOËL: Let's wrap up. STEPHANIE: Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeee!!!!!! AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
Joël explains his note-taking system, which he uses to capture his beliefs and thoughts about software development. Stephanie recalls feedback from her recent RailsConf talk, where her confidence stemmed from deeply believing in her material despite limited rehearsal. This leads to a conversation about the value of mental models in building a comprehensive understanding of a topic, which can foster confidence and adaptability during presentations and discussions. The episode then shifts focus to the practical application of enumerators in Ruby, exploring various mental models to understand their functionality better. Joël introduces several metaphors, such as enumerators as cursors, lazy collections, and sequence generators, which help demystify their use cases. Episode on note-taking (https://bikeshed.thoughtbot.com/357) What we believe about software (https://bikeshed.thoughtbot.com/172) Ruby Enumerators (https://ruby-doc.org/3.3.1/Enumerator.html) Enumerator Lazy (https://ruby-doc.org/3.3.1/Enumerator/Lazy.html) Modeling a Paginated API as a lazy stream (https://thoughtbot.com/blog/modeling-a-paginated-api-as-a-lazy-stream) Solving a memory performance issue with enumerator (https://thoughtbot.com/blog/how-we-used-a-custom-enumerator-to-fix-a-production-problem) Find in batches (https://api.rubyonrails.org/classes/ActiveRecord/Batches.html#method-i-find_in_batches) Binary tree implementation with different traversals (https://gist.github.com/JoelQ/02f3ef9f61bebc7c8e5ea67d10ed92c6) Teaching Ruby to Count (https://www.youtube.com/watch?v=PHMOsTK1jSE) Transcript: STEPHANIE: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Stephanie Minn. JOËL: And I'm Joël Quenneville, and together, we're here to share a bit of what we've learned along the way. STEPHANIE: So, Joël, what's new in your world? JOËL: So, what's new in my world isn't exactly a new thing. I've talked about it on the podcast here before, and it's my note-taking system. I have a system where I try to capture notes that are things I believe about software or things I think are probably true about software. They're chunked up in really small pieces, such that every note is effectively one small thesis statement and a paragraph of text, and maybe a diagram or a code snippet to support that. And then, it's highly hyperlinked to other notes. So, I sort of build out some thoughts on software that way. A thing that I've done recently that's been pretty exciting with that is introducing a sort of separate set of notes that connect to my sort of opinion notes. So, I create individual notes for public works that I've done, things like blog posts or conference talks. Because a lot of those are built on top of ideas that have been sitting in my note system for a while. Readers and listeners get to sort of see the final product, but often sort of built up over several months or even a couple of years as I added different notes that kind of circled a topic and then eventually got to a thing. What I did, though, was actually making those connections explicit. And so I use Obsidian. Obsidian has this cool graph view where it just sort of shows all of the notes, and it circles them with, like, connections between them where the notes connect. So, I can now see in a visual format how my thoughts cluster in different topics, but then also which clusters have talks and blog posts hanging off of them and also which ones don't, which ones are like, oh, I have a lot of thoughts on this topic, and I've not yet written about it in a public forum; maybe that would be a thing to explore. So, seeing that visual got me really excited. I was having a good time. STEPHANIE: Yes, I have several thoughts coming to mind in response, which is, I know you love a visual. I really like the system of, even if you have created content for it, like, you have a space for, like, thoughts about it to evolve. Because you said, like, sometimes content comes out of notes that you've been...or, like, thoughts you've been having over years, but it's like, even afterwards, I'm sure there will still be new thoughts about it, too. I always have a hard time finding a place for that thing kind of once I, I don't know, it's like some of that stuff is never really considered done, right? So, that is really cool. And I also was just thinking about an old episode of The Bike Shed back when Chris Toomey and Steph Viccari hosted the podcast called "What We Believe About Software," I think, is the title. And I was just thinking about how, like, if only we could just dump all of your notes [laughs] into some, you know, stream [laughs], and that would be really cool. If we ever do, like, an episode like that, that would be really fun. And I'm sure, you know, you already have this, like, huge bank of ideas [laughs]. JOËL: Yes. It is really fun because I build up...the thoughts are often sort of interconnected, and so they might have a topic, but they are very focused. So, I might have, like, three or four things I believe about a particular topic that cluster together. So, we could...and, actually, I have used, in the past, some of those clusters as initial food for thought for a Bikeshed episode. STEPHANIE: Yeah, that's really neat. I like this idea of a kind of just, like, a repository for putting down what you believe about software as kind of, like, guiding principles for yourself as a developer a little bit. I remember a piece of feedback I got about my RailsConf talk that I gave a few weeks ago, and someone said like, "Oh, you sounded really confident in what you were talking about." And that surprised me because I, like, didn't practice rehearsing giving the talk all that much [laughs]. It's because they had asked like, "Oh, like, did you practice a lot?" or something like that. And I think I realized that I, like, really believed in what I was sharing and kind of that, I think, was perhaps what they were picking up on. And even though, like, maybe the rehearsal of the presentation itself was not where I had spent a lot of time on, I had spent a lot of time thinking about what I wanted to share and just building up my confidence around that. So, I thought that was an interesting connection. JOËL: Yeah, you fully developed the idea. You kind of explored all the side trails, maybe a little bit on your own as well. You're on very familiar terrain. And so, that is a way of building confidence separate from just sort of memorizing a talk. STEPHANIE: Yeah, yeah. Exactly. JOËL: In a sense, I almost feel like that's a better sense of confidence because then you can sort of...you can roll with the punches. You know, if a slide is out of order or something, sure, it maybe messes up a little bit of the narrative that you're trying to say. But you're not like, "Oh no, what is this content?" You're like, "Oh yeah, this thing," and you can dive right into it. Somebody asks you a question, and you're not like, "Oh no, that was not in the script," because, again, you've sort of mastered your topic. You know the area as a whole, even sort of the blurry edges beyond the talk, and can react in a way that is pretty confident. STEPHANIE: Yeah. I still definitely fear the open Q&A. I've never done it before, but maybe one day I will be able to because I just, you know, know my topic so well inside and out [laughs] that I can roll with the punches, as you say. JOËL: Open Q&A is just...it's a roll of the dice. Sometimes, you get some really good conversation topics there, and sometimes, it's just a waste of everyone's time. STEPHANIE: I like that take [laughs]. JOËL: Maybe that should go into the things I believe about software. So, other than receiving feedback about your RailsConf talk, what is new in your world? STEPHANIE: Yeah, so I am wrapping up a pretty large project on my client work that we're hoping to release soon. And, in fact, it's actually being released along with a big announcement from the client company to their customers. Essentially, at a conference, they're going to say like, "Hey, like, we now have this new feature." And so, I think there's some hype generated around it. And this past week, we've been doing a lot of internal testing of the feature because there are a lot of employees of my client company who are, like, pretty big users of the product, which is cool because I think we're getting, you know, we have easy access to people who can give us good feedback. But I am having a hard time with being on the receiving end of the feedback and figuring out, like, what is stuff I need to attend to now before, you know, this big release? And what is stuff that is just kind of, like, general feedback like, "Oh, like, I wish it did this," but, you know, it turns out that that's not really what we were building? And how do I just kind of, like, accept that? You know, it's coming from a good place, but I can't really help them there, at least right now. And that's hard for me because I like helping people, right? And so, if someone says something like, "Oh, like, I wish it did this," or like, "Oh, that's kind of weird," I'm like, "Oh, I want to just, like, fix that for you right now [laughs]." And I suspect that a lot of other devs can relate to this, especially if, like, you know, you've been working on something for a little bit, and it feels...I'm just going to say it: it feels a little precious to me. So, what I'm trying to do today, actually, is not look at any of the feedback at all [laughs] and come at it tomorrow with a bit of a calmer vibe and be able to separate out, like, you know, I think all feedback is informative, but not all of it is useful for you at any given moment. Like, if there are bugs, then those will be my immediate priority. If there's maybe some small tweaks that we can make the feature just a little bit more polished, then I also think those are good. But then we are discovering a few things, too, about, like, what this feature is or could be. And I think those are the things that, you know, need to be brought into a conversation with a broader group and think about, like, is this the direction we want to go? So, that's kind of how I'm bucketing that feedback right now. JOËL: How do you feel about receiving direct feedback versus having something filtered through something like a product team? STEPHANIE: Ooh, that's an interesting question. Because right now we're doing, I think, a mix of both that I'm not sure that I really like. On one hand, when it's filtered, it's hard to get to the root of what someone is asking for. And oftentimes, like, it may not even include enough information after the fact to be able to come at it from a dev perspective. But then direct feedback, I think, is just a little bit overwhelming sometimes. And it can be hard to figure out what to pay attention to if you don't have that, like, input from a product team about, like, what the roadmap is looking like or where, you know, strategically their heads are at. So, one thing that kind of has emerged from this is like, oh, I was getting, you know, notifications for the feedback coming in. And what we did was set up a meeting [laughs] so that we can...maybe all of us can, like, scan it together ahead of time and then come at it with a little bit of context about what's come in but then maybe coalesce around the things that we feel are important. JOËL: Well, you'll have to keep us updated on how that plays out, and we can kind of hear what is the balance that ends up working well for you. STEPHANIE: Yeah, I hope so. I think this is actually maybe something that's a bit underexplored from the dev perspective, you know, that in-between stage of you're not totally done because it's not shipped to the world yet, but, you know, you're starting to get a little bit of that input. And what you do with that? Because I think there is some value in being engaged in that process. JOËL: So, we were talking earlier about this note-taking system that I use and sort of a renewed excitement that I have about it. And one thing that I did when I was going through and finding clusters of things that hadn't been written about was I found that I had a cluster of notes on different mental models that I had for understanding Ruby enumerators, not the enumerable module, but the enumerator object. And I decided, you know what? This would probably make for a good blog post. So, I drafted a blog post, and I've been thinking about this a little bit more recently. So, I've been really hyped about digging into enumerators because of that experience. STEPHANIE: Yeah, that's very cool. I have to say that I feel like I did not know a lot about enumerators and the API for them kind of before you brought this topic up, and I did a bit of a deep dive in preparation for us to discuss it. I feel like most devs, you know, work with enumerators via methods on enumerable without totally knowing that they are. So, I think that this would be a really interesting episode for people to be like, oh, like, I've been using this stuff, you know, the whole time, and now I can have a different perspective or just more insight on what they can do. JOËL: Before we dig into individual mental models, though, I want to think a little bit about the concept of mental models as a whole. Years ago, someone gave me advice to sort of pay attention to mental models, ways I think about the world or different code structures, different code approaches, and that really stuck with me. So, I've since been, like, kind of, like, collecting mental models. And, in a way, they're like a, for me, a bit more of a concrete way to look at a particular topic. So, I can say I'm looking at this particular topic through the lens of a particular mental model that helps me build more clarity around it. And if I have three or four, then I can kind of look at it from three or four different perspectives. And now, all of a sudden, I feel like I'm seeing in three dimensions. STEPHANIE: Whoa, the Matrix even [laughs]. That's cool. Yeah, I really like that advice. I think I'm going to steal it and start kind of suggesting it to other people because I think, in a way, on this show, that has come through a lot. And talking about things on the podcast has helped me develop a lot of my mental models. And I think we've done a few, like, episodes in the past about various ones we have for just our work because it's like, that's infinite [laughs]. But what I really have been appreciating is that mental models just need to work for you. As long as you're able to understand something, then it's valuable. And that has really helped me also, like, just get on the same understanding with others because the goal is not necessarily to, like, explain it the way that I would think of it, but figure out what would help them kind of develop their own mental model for understanding something, and, you know, kind of as long as we both feel like we have that shared understanding, no matter what lens it's through. And, you know, sometimes it's even more effective when we are able to share it. But I feel like, you know, you can still find ways to collaborate on something with a diversity of mental models. JOËL: Yeah, they're a great way to build self-understanding. They're a great way to sort of build understanding between two people. So, I'm a huge fan of the concept. And part of what I've been doing with my note-taking system is trying to capture those as much as possible. If I'm ever, like, trying to understand a complex topic and I'm like, oh, I think I've got a breakthrough here; I understand it; it's kind of like this, or you can imagine it in this perspective, it's like, write that down. That's gold. STEPHANIE: Very cool. So, Joël, would you be able to share some of your mental models for enumerator? JOËL: So, one way that I look at it is the idea that an enumerator is effectively a cursor over a collection. So, you have an array and a regular array; you're either in the middle of iterating through it using something like each, or you're not. You just have a collection of items. Enumerator introduces the idea that you're actually sort of at a position in the array. So, you're sort of focused on, let's say, the third item or the fourth item. You have a cursor there, and you can move that cursor forward as you sort of step through. But the really cool thing is you can also kind of pause and just pass that cursor on to someone else, and someone else can move the cursor a few steps further down the collection, pause, pass it on to someone else. And it's totally fine. Nobody has to, like, go through an entire, like, each iteration. STEPHANIE: Yeah. So, when you were talking about cursors, that got me thinking a little bit because I actually have struggled with that concept, especially when it comes to, you know, things code-related. Like, when I've had to work with database things and stuff, like, the idea of a cursor was a little, like, difficult for me to wrap my head around. And I was looking at the methods on enumerator, like the instance methods on enumerator. And one of them actually is what helped me develop this mental model. And I'm excited to see what you think. But there is a rewind method that basically rewinds the sequence back to its beginning, right? And what that triggered for me was a VHS tape [laughs] and just those, like, car-shaped rewinders for tapes back in the '90s. I don't know if you ever had one in your house, but I did. And I just thought that was such a cool method name because it was very, I don't know, it was just like a word that we use in the English language, right? So, the idea of, like, tapes, you know, like, cassette tapes or VHS tape kind of also it sounds like it matches well with what you were sharing, too, where it's like, I could pass, I don't know, maybe I, like, listen to a few songs on my cassette tape, and then I give it to someone else, and they can pick up where I left off. And yeah, that was really helpful in understanding, like, a marker of a position a little more than cursor was able to for me. JOËL: That's really interesting because now I wonder, like, how far we could push that metaphor. So, musical data is encoded on magnetic tape. Cassette tapes typically there are sort of two spools. You start off with all of the tape wound up around one spool, and then as it sort of moves across the read head, it gets wound up on sort of the, I don't know, destination spool. I guess you can call them origin and destination. And because of that, you can sort of be in a, like, partly read state where, you know, half the tape is on the destination spool, half of it is on the origin spool, and you have that read head that's in the middle, and you're just kind of paused there. And you can kind of jump forward in that. So, I imagine something like that in your metaphor is like an enumerator. Contrast that to imagine just a single spool, which is just we have musical data encoded on magnetic tape, and we wrapped it up on a spool. I feel like that's almost more like a regular array because you don't have that concept of, like, position, or being able to read parts of it or anything like that. It's just, here's some data. STEPHANIE: Yeah. While you were talking about the two spools, I was thinking about, like, part of what is nice about enumerator is that you can go forward or backwards, right? And that feels a little more possible with that two-spool metaphor [laughs], rather than just unraveling something, where you are kind of discarding what has already been read. JOËL: The one caveat there is that enumerators can move forward one item at a time. They can only move backwards by jumping back to the beginning. So, you can't step forward or step back. STEPHANIE: Yeah, that's fair. JOËL: You step forward, or you, like, rewind to the beginning. I think, in my mind, I was thinking a little bit more about this metaphor. And I think it's also just a metaphor for what's called the External Iterator Pattern. It's one of the classic Gang of Four Patterns, which is what enumerator, the object in Ruby, is an implementation of. I feel like I always see that in the documentation, like, oh, enumerator is an implementation of the External Iterator Pattern. And I just kind of go, what? STEPHANIE: [laughs] JOËL: Or maybe I kind of understand the idea of, like, okay, it's a way to, like, be able to step through a collection. But thinking in terms of a cursor or even your model as a cassette tape, I think that gives me a model, not just for enumerators, but then for better understanding that external iterator pattern. Like, I'm now not going to think of if I'm ever reading through the Gang Of Four book, or some other languages say we're an doing External Iterator Pattern, and I'll immediately be like, oh, that's a cursor, or that's a cassette tape. STEPHANIE: Yeah, very cool. I like it. JOËL: Another mental model that I have is thinking of enumerator in terms of a lazy collection. This is something that you tend to see more in functional programming languages, so the idea that you have a collection of potentially infinite length, or it could even be unknown length. But each element only sort of comes into being as you attempt to read it. So, it's kind of, like, a potentially infinite chain of Schrodinger's boxes. And you've got to open each of them to find out what's inside. STEPHANIE: Do you know what this reminded me of? Like elementary school math questions that were like, "What comes next in this pattern?" And it has, like, you know, the first, like, four or five values in a sequence or something. And then, you have to figure out, like, what the next value is. But then, in some ways, you know, I think it can depend on whether your enumerator is using the previous value to determine the next one. But yeah, it's like, you can't just jump ahead to figure out what the 10th, you know, value in this pattern is without kind of knowing what's come before it. JOËL: And sort of that needing to step through the entire collection, sort of one element at a time. STEPHANIE: Yeah, exactly. JOËL: I think a way that that concept is interesting, to me, is situations where a collection might be expensive, and you don't necessarily need all of it. So, you might have a bunch of calculations, but you can stop when you've hit the first one that succeeds or that matches a certain criteria. And so, it's not worth it to calculate the entire array of calculations if you're going to stop at the third one. And you could do that with some sort of, like, loop or something like that. But having it as a collection means you get to just treat it like an array, and you can call detect on it and do all the nice things that you're used to. It just happens to be a little bit more efficient in terms of not creating more data than you need to. STEPHANIE: Yeah. And I think there's some really cool stuff you can do when you start chaining enumerators with this concept of it being lazy evaluated. So, one of the things I learned in my deep dive is that when you are using the lazy method, you're able to chain enumerators. And they work a bit differently, where the default functionality is, like, everything in the collection gets evaluated through the first method, and then it gets iterated over in the second method. Whereas if you use lazy, I believe how it works is that, like, the first value gets kind of processed by all of the methods. And then, you get, you know, the output before moving on to the second, like, the next value. Does that sound right? JOËL: Yes. And I think that's where there's often a lot of confusion because there's sort of plain enumerator, and then there's a lazy enumerator that Ruby provides. A plain enumerator is a lazy list in the sense that items don't get evaluated unless you try to reach for them. So, if you have an enumerator and you say, "Just give me the first five items," it will do that. And even if the collection was 200 items long, the next 195 don't get evaluated. So, that's very efficient there. Where you would get into trouble is that plain enumerators are not lazy when it comes to traversals. So, any method that would traverse the entire collection, so something like a map or a select, is not going to be lazy because it's going to traverse the entire collection, therefore forcing us to evaluate each of the items in there. Whereas something like enumerable lazy will not actually traverse the collection when you do your map or you're selecting. It will wait for you to say, "Give me the first item," or "Give me the first ten items," or something like that. But you don't always need lazy. You really only need lazy when you're doing a traversal method. STEPHANIE: Okay. Cool, cool, cool. That makes a lot of sense. JOËL: I think a sort of spinoff metaphor that I have there is this idea of a lazy list. Another concept that, in my mind, is very adjacent to lazy lists is the concept of streams. And streams I typically think of them in terms of, like, files or networking, things like that. But a thing that you can do let's say you're working on data that's in a very large file, so big that you can't fit it into memory, a common solution there is streaming it. So, you don't load the entire file into memory and then operate on it. Instead, little chunks of it are loaded into memory. You operate on them, and then you release that memory and load the next chunk. So, you sort of work through that file in chunks, but you'd only have, you know, 1 line or ten lines or however big your chunk is in memory at a time. An enumerator allows you to do that with things that are not files. So, this could be a situation where, let's say, you're reading a lot of data from the database. You just have too many rows. You can't load them all into memory at once. But you do want to traverse through them. You could chunk that using enumerator so that every, you know, it loads 100 rows at a time or 1,000 rows at a time, or something like that. And your enumerator allows you to treat that as though it's a single array, even though, in the background, it's being chunked into pieces so that you never have more than a thousand rows at a time in memory. So, it allows you to do some, like, really nice sort of memory performance things. STEPHANIE: When would you want to use this over kind of something like batching queries? JOËL: So, I think ActiveRecord findinbatches does something like this under the hood. STEPHANIE: Oh, cool. JOËL: I don't know if they use Ruby's enumerator or if they sort of build their own custom extension to it, but it's built on this idea. STEPHANIE: Okay, that's really neat. I have another mental model that I wanted to get your thoughts on. JOËL: Yeah! STEPHANIE: One of the ways that I looked up that you can construct an enumerator, an infinite enumerator like we were talking about a little bit earlier, was with the produce class method. And that actually got me thinking about a production line and this idea that, you know, you have this mechanism for, you know, producing some kind of material or, like, good or something like that. And it's just there and waiting and ready [laughs] for you to, like, kind of ask for it, like, what it needs to do. And you can do that, like, sometimes in batches, right? If you are asking for like, "Okay, I want a thousand units," and then the production line goes to work [laughs]. But yeah, that was another one of those things where I'm like, wow, they really, I think, came up with a cool method name that evoked, like, an image in my head. JOËL: That's the power of naming, right? And I think it's interesting you've mentioned twice how going through the method names on enumerator and finding different method names all of a sudden, like, turned on a light bulb in your mind. So, if you're naming things well, it can be incredibly useful for users of your library to pick up on what you're trying to do. So, I want to circle back to something that you mentioned earlier, the idea of elementary school quizzes where you have to, like, figure out the next item in the sequence. Because that, for me, is very similar to my mental model: the idea that an enumerator is a sequence generator. So, instead of thinking of it as, oh, it's like an array or it's some kind of collection, instead, think of it as a robot that I can just ask it, hey, give me a value, and it will give me a value. And then, it will, like, keep doing that as long as I keep asking it for it. And those values, you know, they could be totally random. You can build one of those. But you can also have it so that the values sort of come from a sequence. It's not like an array where you're like, oh, I'm going to, like, predefine an array of, I don't know, the Fibonacci sequence, and when someone asks me for the third value, I'll just go and read that third value from the array. Instead, it knows the algorithm, and it just says, "Oh, you want the next value in the Fibonacci sequence? Let me calculate it. Here it is. Oh, you want the next value? Here it is." And so, thinking from that perspective helped me really come to terms with the concept that values really do get calculated just in time. It's not really a collection. It's an object that can give you new values if you ask it. STEPHANIE: Yeah, okay. That is making a lot more sense kind of in conjunction with the lazy list model that you shared earlier, and even a little bit with the production line that I was kind of sharing where it's like, you know, in this case, kind of, it's, like, the potential for a value, right? JOËL: Right, exactly. And, you know, these are all mental models that converge on the same ideas because they're all just slightly different perspectives on what the same object does. And so, there is going to be some overlap, some converging between all of them. I have another fun one. Can I throw it at you? STEPHANIE: Please. JOËL: This one's a little bit different, and it's the idea that enumerators are a tool to bring your own iteration to a collection. So, imagine a situation where you're building your own, let's say, binary tree implementation. And there are multiple ways to traverse through a binary tree. In particular, let's say you're doing depth-first search. There are sort of three classic ways to traverse that are called pre-order, post-order, and in-order traversals. And it really is just sort of what order do you visit all the children in your tree? Now, the point of a collection, oftentimes, is you need a way to iterate through it. And a classic solution would be to include enumerable, the module. In order to do that, you have to define a way to iterate through your collection. You call that each. And then, enumerable just gives you all the other nice things for free. The question is, though, for something like a tree where there are multiple valid ways to traverse, which one do you pick to make it the each that gets sort of all the enumerable goodies, and then the others are just, like, random methods you've defined? Because if you define, let's say, pre-order traversal as each, now your detect and select and all those are going to work in pre-order, but the others are not going to get that. So, if you map over a tree, you're forced to map over in pre-order because that's what the library author chose. But what if you want to map over a tree in post-order or in-order? STEPHANIE: Yeah, well, I'm guessing that here's where enumerator comes in handy [laughs]. JOËL: Yes. The approach here is instead of designating sort of one of those traversals as the sort of blessed traversal that gets to have enumerable; you build three of these, one for each of these traversals. And then, what's really nice is that because enumerators are themselves enumerable, they have map and select and all of these things built in. Now you can do something like mytree dot preorder dot map or mytree dot postorder dot map. And you get all the goodies for free, but the users of your library get to basically choose which traversal they want to have. As a library author, you're not forced to pick ahead of time and sort of choose; this is the one I'm going to have. You sort of bring your own traversal by providing an enumerator, and then everything else just kind of falls into place. STEPHANIE: Bring Your Own Traversal (BYOT) [laughter]. I like it. Yeah, that's cool. I can see how that would be really handy. I have not yet encountered a situation where I needed to get that deep into how my iteration is traversed, but that's really interesting. And, I mean, I can start even imagining, like, having an each method defined in these different ways, and then all of that being able to be composed with some of the other...just other methods. And now you have, like, so many different ways to perhaps, like, help, you know, different performance use cases. JOËL: Yeah, it can be performance. I often tend to think of enumerator as a performance thing because of its sort of lazy properties because; it allows you to sort of stream or chunk data that you're working with. But in the case of this mental model of the Bring Your Own Traversal, it actually is more about flexibility and having sort of the beauty of Ruby without having to compromise on, oh, I have to pick a single way to traverse a collection. STEPHANIE: But I really appreciate kind of this discussion about enumerator because this was previously, like, I don't think I have really ever used the class itself to solve a problem, but now I feel a lot more equipped to do so with a couple of the different kind of perspectives. And I think what they helped me do is just prime myself. If I see a problem that might benefit from something being iterated in a lazy way, like, being like, oh, I remember this thing, this mental model. Now I can go kind of look at the documentation for how to use it. And yeah, like, I don't know how I would have stumbled across, like, reaching for it otherwise. JOËL: That's a really interesting thing to notice because we've been talking a lot about how mental models can be a tool for understanding. But once you build an understanding, even though it's somewhat fuzzy, they're also a great tool for sort of recall. So, not only are you thinking, okay, well, this mental model says enumerators are kind of like this, or they function in this way. On the flip side of it, you can say, "Well, lazy evaluation problems are often enumerator problems. Like, streaming or chunked data problems are often enumerator problems. Multiple traversals are enumerator problems." So, now, even though you don't, like, fully understand it in your mind, you've got that recall where you can enter it, where you can come across that problem, and immediately you're like, oh, I'm dealing with multiple traversals here. I don't remember exactly how, but somehow, in my mind, I've got a connection that says, "Enumerators are a solution for this. Let me dig into that." STEPHANIE: Yeah, especially as an alternative to where I would normally reach for something...a more kind of common enumerable method. Because I definitely know that feeling of like, oh, like, I wish it could just, like, do this a little bit differently, you know. And it turns out that, you know, something like that probably exists already. I just needed to know what it was [laughs]. JOËL: On that theme of I wish that I could have something that behaved just a little bit more...like, I'm doing something slightly weird, and I wish they would behave more, like, just plain Ruby does normally with my, like, collections I'm familiar with. I'm going to pitch a talk that I gave at RubyConf Mini called "Teaching Ruby to Count." Some of these mental models actually showed up there. But the whole idea is like, oh, if you're bringing in sort of more custom objects and all of that, how can you just tweak them a little bit so that they're just as joyful to use and interact with as arrays, and numbers, and ranges? And they just sort of fit into that beauty of Ruby that we get out of the box. STEPHANIE: Awesome. On that note, shall we wrap up? JOËL: Let's wrap up. STEPHANIE: Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeee!!!!!!! AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
Andrew Lenards illuminates the liminal spaces of his mind, from lo-fi, DIY, punk rock, meditation, & coaching to Joël's Triangle & The Mental Side of Programming.Thanks to our sponsor, Logistically. Email: elmtown@logisticallyinc.com.Music by Jesse Moore.Recording date: 2024.03.05.GuestAndrew LenardsShow notes[00:00:25] Sponsored by Logistically[00:00:58] Introducing Andrew"Is This the Way?" with Aaron Michael Marsh and Andy LenardsThe Do Nothing Projectwith Jeff Warren"The Mental Side of Programming"[00:01:32] Wrestling announcer Elm Town intro[00:04:44] From Julian Pistorius: Side roads with crucial impactElm Town 66 – A gateway to scientific research with Chris Martin[00:11:30] Helping others see between the paving stones"Periodic Face-to-Face" by Martin Fowlerxkcd[00:25:02] Discovering Elm, or "I don't want to know that there's a better way to do what I'm doing right now""Beating the averages" by Paul Graham[00:35:05] Elm & mental health"Make Reliable Web Apps Without JS Fatigue" by Jared M. SmithElm Slack"Idée Fixe" by David Nolen at GOTO 2017Against the Rules Season 2 hosted by Michael Lewis[00:55:17] Joël's TriangleAndrew's elm-arboriculture-zine (print it yourself!)Joël Quenneville on Thoughtbot[00:58:57] PicksAndrew's picksAgainst the Rules Season 2 hosted by Michael LewisCreate Content with ChatGPT and AI 2024 course by Kirby FergusonEmpathy-Driven Development"Type System Mythbusting with Alexis King" on Software Unscripted with Richard FeldmanJared's picksElm Town 57 – Brilliant ways to use Elm with Aaron StrickJust Let Go (YouTube) by Sturgill SimpsonZen Computer by Philip Toshio SudoPleasures of Small Motions: Mastering the Mental Game of Pocket Billiards by Bob FancherElm 3D Pool Game Collaboration
Host Victoria Guido welcomes Wendell Adams, CEO of PrimeLab.io, as he talks about his lifelong passion for technology and entrepreneurship. Wendell shares his experiences, from hacking electronics as a child to studying various fields in college and eventually starting his own business. He emphasizes the importance of understanding market needs and leveraging language to make technology accessible. Wendell's drive to improve encryption and data security led to the formation of PrimeLab; a company focused on making encryption functional and accessible without compromising performance. Wendell discusses PrimeLab's strategic direction and market fit. He outlines the challenges and opportunities in the entertainment industry, emphasizing the need for innovative solutions that respect user control and privacy. Wendell also shares insights into how PrimeLab's technology can democratize data access and enhance business processes. The episode concludes with a reflection on the future of AI and encryption technologies and Wendell's advice for aspiring entrepreneurs to think critically and creatively about their ventures. PrimeLab.io (https://primelab.io/) Follow PrimeLab.io on LinkedIn (https://www.linkedin.com/company/primelab-io/), or X (https://x.com/PrimeLab4). Follow Wendell Adams on LinkedIn (https://www.linkedin.com/in/wendell-a-83317895/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Transcript: AD: We're excited to announce a new workshop series for helping you get that startup idea you have out of your head and into the world. It's called Vision to Value. Over a series of 90-minute working sessions, you'll work with a thoughtbot product strategist and a handful of other founders to start testing your idea in the market and make a plan for building an MVP. Join for all seven of the weekly sessions, or pick and choose the ones that address your biggest challenge right now. Learn more and sign up at tbot.io/visionvalue. VICTORIA: This is the Giant Robots Smashing Into Other Giant Robots podcast, where we explore the design, development, and business of great products. I'm your host, Victoria Guido. And with us today is Wendell Adams, CEO at PrimeLab io. Wendell, thank you for joining us. WENDELL: Thanks for having me. So, question, actually, where'd you guys come up with the name? VICTORIA: You know, I have asked this before, and I think I remember the answer. I might have to go back to the 500th episode to get it, but I think it was just robots was already kind of a theme at thoughtbot. I mean, thoughtbot, obviously, has robot in the name. Joe might have the best answer. And we have our special co-host, Joe Ferris. Who better to answer? JOE: [chuckles] Yes, I'm not sure who better to answer, probably Chad. I don't remember the answer either, but happy to be here to speculate with the two of you. It comes from the blog. We named the blog Giant Robots Smashing Into Other Giant Robots and then used it for our podcast. But I don't remember where the blog name came from. WENDELL: It kind of reminds me of the Robot Wars thing, like, where they would have competitors driving around the robots and then smashing into each other, trying to flip them over and disable them. JOE: That was excellent. I also watched that. WENDELL: [laughs] VICTORIA: Yeah, it's a pretty great name. I really enjoy being a host. And, you know, I go out to local San Diego events and meet people and introduce myself as a co-host of Giant Robots Smashing Into Other Giant Robots. It's usually pretty funny [laughter], which is where I met you, Wendell; we met at a San Diego CTO Lunches, which was super fun. WENDELL: Yeah, I always enjoy any type of tech conversation or anything else. I thought that was a lot of fun to sit down and just talk with people and talk about what they're working on. VICTORIA: I love that, yeah. And before we dive into the tech and get to hear more about PrimeLab, I just want to start a little more socially question. What did you do last weekend, Wendell? WENDELL: It was my father-in-law's birthday party at Legoland. We took my daughters my mother-in-law, and we all went to Legoland. It was a lot of fun. Although, honestly, I prefer the San Diego Zoo over Legoland, so... VICTORIA: Can you please describe what Legoland is to people who may not know? WENDELL: Okay. Legoland is based in Carlsbad, and it's really ideal for, like, four to nine-year-olds. And they have, like, miniatures of all the different cities. Actually, the SF miniature that they have is crazy detailed with Chinatown and everything else. They did an amazing job there. They actually...I think they just redid the San Diego part of it. But the miniatures are really cool, seeing all this stuff. They have different rides performers, but it's definitely, like, one of those things that it's more for kids to go and kind of experience. If you're an adult, you're going to love a lot of the processes that go into place, like how they built things, but mostly, yeah, it's very much kid rides and stuff like that. VICTORIA: I imagined it to be, like, life-size Lego buildings, but maybe I'm...that's very interesting all those other things you could do there. WENDELL: Well, like, they have the One World Trade Center, and I think it's, like, 25 feet tall. It is, like, the replica of it. It's kind of interesting, too, because not all the Legos that they build, they're huge, are solid Legos. So, it's like, they'll do where it's like, on the outside, they'll do a base, and then they'll build it. There's a replica of a Lamborghini. That one's life-size. But it's heavy. It's, like, 2,000 pounds, something like that. VICTORIA: Is that as much as a regular Lamborghini weighs, too, 2,000 pounds? It can't be that far up. WENDELL: I don't know. No, I don't think it...no, it couldn't be. VICTORIA: I have no idea how much cars [laughs] weigh. What about you, Joe? Did you do anything fun this weekend? JOE: Not a lot. It was supposed to be my son's first soccer game ever, but it rained here in Boston, so they postponed it. Sunday he went to my parents' house for a grandma day, and so I did nothing. I ate cookies. WENDELL: [laughs] VICTORIA: Wait, what kind of cookies were they, though? JOE: They were chocolate chip cookies. VICTORIA: That's so good. JOE: They were good. They were brown butter chocolate chip cookies, I should say. VICTORIA: Were they homemade, or did you get them somewhere? JOE: They were. We made them in this home. VICTORIA: Oh, that's the best. Yeah, love that. I got some fancy cookies that someone else made, and they were also [laughs] very good. And then, yeah, I've just been having cookies pretty much every day. So, that's been my time. WENDELL: My mother-in-law recently made me peanut butter cookies, and those are my favorite kind of homemade cookies. VICTORIA: Okay. Noted. You'll get a post-podcast gift of peanut butter cookies [laughter]. I love that. It's so great to hear a little bit more about each of you as, like, in a personal way before we dive into AI. And tell me a little bit more about your background and what led you to PrimeLab. WENDELL: I've always kind of, like, been a hacker, so to speak, just from a technical standpoint. My one grandfather was an engineer. He worked for GM designing, like, assembly arms and stuff like that. And then my other grandfather was a master electrician. So, I've always been the person that, like, just worked on things, got stuff together. You know, there's a lot of stories. Like, there's the story about when I broke my grandmother's workbench, rocking bench out front, and it was all aluminum. I remember telling my grandfather, and he's like, "Oh, what are you going to do?" And I was like, "Buy a new one?" He's like, "You got money?" I said, "No." And he said, "Well, you better figure how to make it then." So, ironically, it's half aluminum, half wood. We took wood, sanded it down, and stuff. So, it's just like I've always been an entrepreneur. I've always been interested in this kind of stuff. I used to hack VCRs, and PlayStations, and all kinds of stuff. I always liked parts and components and rewiring things. And as I got older, I also really liked math and all those things. And I wanted to understand more about how the world works, so to speak, like why it works the way it does, not just from a technology standpoint. But why do people think the way that they do? Why do things behave the certain way they do? So, initially, I started going to college. I thought I might be a math professor, and then decided to get degrees in business, economics, finance, marketing, consumer product goods, and comparative religions. So, while I was in college, I started working on, like, hacking, different video games, writing JavaScript, writing Java, all kinds of stuff. And then, eventually, even writing mobile applications early on, and then just analyzing because I always liked to build phones, too. I would take apart phones. And I really was curious about, like, how to make things faster, more efficient, and better. So, now to bring it down, like, how to make things accessible, where it benefits some of the smallest people and make it where it's a greater opportunity for someone to come out ahead of something. Like, one thing that I learned from my marketing degree is language matters. So, it's like, all the marketing it's not anything special. It's just they intentionally create language barriers that cause people not to feel as accessible with it. And then, like, you hire a consultant or something to just basically teach you about those language barriers. And I think every industry has, like, SAT, or LTM, or something like these abbreviations that mean a lot of different things. And it causes bottlenecks if you don't speak the language. So, understanding the language but also learning about how was very helpful from a standpoint on the marketing side. And I always try to figure out how do I make this accessible to people who don't understand that language? VICTORIA: And what was the turning point where you decided to start PrimeLab, and what made you realize there was a company there? WENDELL: It was a project I've been working on since at least 2011, honestly. And just as a heads up, PrimeLab as a whole works with encrypted data for AI models and to speed that up and everything else. So, early on, I was very obsessed with how advertising works through, like, stealing user data, which stealing is different, here or there, the sense of privacy, the sense of, like, how things could run, and the sense of messaging. And initially, a lot of it was using encryption as an overlay in, like, the pixel application space, which is always a way to hack or get into it. And it slows everything down. So, I had always been working on trying to figure out how do you speed up and embed security so it's actually functional? And it took a while to figure out, like, give encryption functionality, like, make the encryption something that you could actually execute on. And, actually, one of the things that really helped is the blockchain space there's a lot of, like, hash trees and everything else, like, where people are innovating in that. That's really helped innovate encryption as a whole from understanding, like, Merkle trees, hash graphs, and everything else to make it more functional and faster. Because people are trying to speed up distributed networks and stuff, but the actual technology that they built, like Hedera is...What Hedera has done with Hashgraphs and everything else—really amazing. I'm glad that they open-source stuff like that. But it's also really interesting just to see how things push forward. So, like, when I first started, like, RAM was, like, 256 in a phone. So now, you know, you can get multiple gigabytes, which makes it a lot more capable to do encryption, decryption, and work more in the functional space of things. The bigger problem that you have on the data part is how an application communicates because there's so many levels of abstraction. Like, you have the Swift language that communicates into something else that then communicates into something else. Like, right now, we're talking on a system that's recording us over the internet through a browser, all those different things. And it's an approximation of what the data is and what we sound like. It's not an absolute. So, I was really interested in when you have absolutes, and you can verify those absolutes, what can you do with that? A few years ago, I felt like we got to a point where we could actually execute those things and actually deliver on that. So, therefore, I decided to start PrimeLab with my co-founder, who I really liked and enjoyed. And we've had a lot of really great advisors, where people have helped us continuously. Over, you know, the decade-plus of working on this, I've gotten a lot of input from some of the smartest people I know, from people who have designed full server racks for AWS to literally a good friend of mine that built cloud storage. His name's on the patent for it. So, that kind of stuff has really helped me understand and build this where it can communicate the lowest possible level. VICTORIA: Yeah, and to just recap and reflect that back a little bit, it sounds like you were always interested in how to make encryption faster and lighter weight, and so you could build it in and build in security without impacting the performance of the applications. And then meeting your co-founder and the advancement of technology, this time a couple of years ago, led you to think, okay, let's really go forward with this. WENDELL: Kind of rephrasing, I was always interested in control. So, like, one of the things that really interested me...so, I started a video game store buying and selling, like, video games and trading cards and stuff when I was roughly ten and a half or so, and then sold it roughly when I was 17, which is how I paid for quite a bit of college and likewise. But the things that really interested me about that is it went out of business three to four months afterwards because the person who basically bought the rest of it bought too much of Madden. And Madden, at this time, the margins were, like, a buck, as you go all the way through, and the price drops immensely. So, I wanted to really understand why that happened. What you kind of get to is, like, they didn't have control over it, just, like, the bulk orders methodology, where they would buy the whole entire supply. And what I've seen over the years, be it Apple, Google, or anything else, is, like, that was...in that example, that's a game publisher, EA, flexing control, right? But more and more companies are flexing control on a platform like now with Facebook or advertising. If you think about what Google used to do, Google used to provide a lot more insights when you had your own website. You used to know your own keywords. You used to know a lot of things about your users who come through. More and more, Facebook and Google try to stop that. And they're really the ones determining your own user personas for you. So, you become dependent upon them. So, I wanted to say, okay, from a business standpoint, how do you implement control and privacy where it's permissioned? And encryption was one of the answers that I came to. But then it was, how do you make encryption functional then to actually execute on control? Because unless the system is secure, faster, cheaper, better, it's never going to get adopted. VICTORIA: That makes sense. Thank you for sharing that. And you mentioned your founder. I'm curious, how does your founder kind of complete what you needed to be able to get the business up and running and off the ground? WENDELL: He has a robotics degree, so he had launched several products that had failed. And he wanted to learn marketing after they had failed. So, we have a similar like mindset about, like, control and functionality for how something may or may not work, and that allowed us to communicate well. So, like, I have a lot of friends and stuff. But the thing that allows me and my co-founder to work really well is that we come from things in different angles, but we have the same language that we speak. So, like, that's what I was talking about before, like, LTMs or otherwise, like, language really matters from how you can move something forward when you're talking in different industries. And just with him, there's a lot of stuff that you don't have to say. You can skip a lot of filler and then go straight to what something might be or a solution or something. Or if we have to jump to a tech abbreviation, to a market abbreviation, to a financial abbreviation, he's one that can follow along with me really quickly and then teach me a lot of things about operational execution because he's great at operations. I am not great at operations. VICTORIA: That's really interesting. And I think you're making a good point about, like, a shared language. And it reminds me of any product that you're building; if you want to sell it to a company and you want them to adopt it, you have to consider their language, their belief system, how to influence change within the organization. And I wonder if you could talk a little bit more about that with your experience at PrimeLab. WENDELL: I'll give you an example of a market that we decided to go after. So, instead of just working at, like, healthcare markets where you have, like, GDPR...for people who don't know GDPR or HIPAA, HIPAA is for the United States. GDPR is the EU privacy requirements, right? For the right to be forgotten and everything else. So, these are vernaculars that you need to know. But the requirements of each one is very different, and these are markets that we've learned being in tech and likewise. But we wanted to change it up. So, I wanted to go after the entertainment market as a whole, namely because after meeting with some select people, including a stunt man, this is going back a few years ago, I started to realize that the entertainment market was getting kind of screwed over quite a bit from a tech standpoint. Basically, tech goes through this thing where...someone wrote a great article about this. It's called Enshittification. But, basically, where they go they try to take over a whole entire market, where first they're providing great value to your users. And then, gradually, you enshittify your product to provide greater value to your investors. And then, gradually, you suck all of the value out of the room for both. Right now, if you look at Sora, what OpenAI is trying to do in entertainment, [inaudible 16:08], you kind of can see that happening. They're going, "Hey, here's a great value for it." And they're really pushing that stuff off. But the thing about the entertainment market that I think is really interesting is it's basically thousands and thousands of small businesses that are constantly going, it's so chaotic. It's not like tech and startups. There's a lot of overlay of, like, you know, people are looking for that top quartile film that's going to make the money back, and then long-term royalties that they can earn off of it, right? Whereas in tech, they're looking for those huge markups as well. So, I was really fascinated by it, but it was something that, like, we had to learn. Like it was something that I didn't know otherwise. So, it was literally...how we learned it was we took our tech stuff, and we would walk SAG-AFTRA strike lines. We would walk strike lines. We would go to entertainment events, and we would demo what we were trying to do, and we would show them. And then, oftentimes, we got really negative feedback right off the bat. And we're like, "No, no, no, so, you know, this is for you. Like, you could control. Like, this is going to help you." And then, after doing that enough times, talking to the SAG-AFTRA lawyers, and everything else from there, and all of the creatives, the creatives were coming to us and giving us ideas how to explain it because there's, like, three different formats. You have tech, business, creatives in the entertainment industry. And it's like, we could talk to the tech people. We could talk to the business people. But you really need the creatives. And, like, the wording of each one, like, each group of those is vastly different. So, having the creatives be able to explain something in 90 seconds that used to take me a couple of hours to dive into became really valuable. And also, in tech, like, you have this thing where it's feature creep, where you're like, oh, I'll add this, this, and this. Just to hear very coldly and bluntly, like, "If it does X, I'm interested. If it does Y, I'm not interested." That was very interesting or refreshing of, like, "Yes, you're going to solve these problems. But I need sign-off for everything in there." And it's kind of weird in the entertainment part, too. Like, you want to solve a problem without being a competitor to another vendor because you need so many different sign-offs. And if you're a competitor to another vendor, to a certain point, maybe that's going to cause a hiccup with sign-offs because there's 18 different cooks in the kitchen, so to speak, just so many different people that need to say, "Yes," all the way through with it. VICTORIA: Thank you. Yeah, that's really interesting. I'm curious, Joe, if you have an answer for that question as well, like, any experiences about navigating change and putting new products in place at different clients, different industries? JOE: I don't think I've had the same kind of resistance. Like, I haven't been on the front lines the way you described, like, literally in the, you know, going and talking to people on strike. I think I have more indirect experience talking to the people who are doing that. And certainly, like, I think there's generally a resistance to bringing in new technology without eliminating the old way of doing things if that makes sense. Like, people want the old ways of backup. Like they want to be able to go back to paper, which I empathize with. But that's frequently been a challenge for the people I've worked with is that they don't fully embrace the new process, which significantly reduces the value they would get from using it. I don't know if that's something you've encountered with PrimeLab. WENDELL: So, we were building another company of mine many, many, many years ago. I was building a website for this lumber company, and I remember showing up, and the owner was there. But it was his son that had commissioned it, and the owner didn't know about the website. And I was like, "Oh yeah, we'll get the website going." He goes, "Oh, this web thing it's a fad. It's never going to happen. You don't need websites. It's faxes." That's how everything would happen. But secretly, what was happening is they would get an order. They would print it off, and then they would fax it. So [laughs], I always thought that was crazy. VICTORIA: I mean, one of my local bars still just writes the order on a ticket and sends it on a clothesline down to the grill. So [laughs], sometimes old is good. But I think that you know, I want to hear more about where you found or how you found a product-market fit for PrimeLab and where that AI really becomes useful and ethical in the industry you're focusing on WENDELL: How I look at PMF (product-market fit)...and if you hear me just say PMF, that's what that means. So, how I look at PMF is I'm a little different in the fact that when I look at a product, or a technology, I don't just look at, like, so you have foundational tech. Like, okay, this is encryption. This is control, right? Now, where's the market that has the biggest problems with it? So, I like to go out and actually talk to those people. Because, like, when you're implementing tech, or you're implementing the product itself, it's different. So, you're like, you have the underlying infrastructure, but whether that's a button or a simple API that you need to build so it works different to hit that PMF...are you familiar with the term build a better mousetrap? VICTORIA: I don't think so. JOE: I'm familiar, but I'd still love to hear you describe it. WENDELL: So, in business school, and likewise, they will tell you "If you build a better mousetrap, people will come, and they will buy your product." So, like, it's a common thing where they're like, "Build a better mousetrap. People will come. They'll be there." And the thing that you learn with consumer product goods and marketing, though, is they actually built a better mousetrap, and it failed. And the reason why it failed is you had a mousetrap that was roughly a cent versus another mousetrap that was three cents. And I think this is in the '60s or so. The other mousetrap was reusable, so it executed a lot better, and everything else is more humane. But what they didn't understand is that it was wives most of the time that would have to actually handle this. And they didn't want the mouse alive, and they didn't want to reuse the trap. They wanted them to actually be disposed of right away. So, by not understanding the market, even though they built a better mousetrap, they'd missed the point. Like, the main problem to solve wasn't killing the mouse or having it be reusable. The main problem to solve was, like, getting rid of the mouse. So like, if you have a solution for getting rid of the mouse, the next thing is your execution for it. Like, does it hit the actual market, which is the fit aspect? Like, every product is a little bit different where you look at, like, how does this fit in? So, in this case, fit is very important for, like, disposing of the mouse, which is why you also have, like, you know, mouse poisons are popular, even though they're terrible because they die somewhere and, hopefully, you don't see them. And it's like sight unseen, right? Now, I'm glad, like, that's changing and stuff. But it's understanding even if you have a solution to something, you need to understand what your market wants out of your solution, and it's not going to be an abstract. It's going to be an emotional, like, execution-based process. So, you kind of have to go, all right, this is my market. This is kind of my fit. But the actual product I'm building is going to change to make sure it works all the way through with this. I was advising a startup many, many years ago, and they were building this CRM software on Android for South America. And I think they were building it for Android 6 or 7 at the time. But the market that they were targeting, they all ran Android 4.1. So, they spent a little over a million dollars building for the wrong version of Android that wouldn't even work on that version of the system. Like, it was one of those things where they were required to build it for that. But they didn't understand the actual market, and they didn't spend enough time researching it. So, it's like you get the Bay Area groupthink. If they had actually spent the time to analyze that market and go, "Oh, they run, you know, an inexpensive phone. It's 4.1. It's low RAM," now you can design a product. If you want it to be a CRM, you're going to, like, chunk up the system more. Like, you're going to change all that instead of just wasting a million dollars building something that now you basically have to start over again from scratch. VICTORIA: That seems like he got off cheap, too. People make way bigger mistakes that cost way more money [laughs] because they [inaudible 24:13] WENDELL: Well, that wasn't me. That was an investor that -- VICTORIA: Oh no. I mean, yeah, not just them. Yeah. WENDELL: He's like, "What would you do?" And I was like, "You should sell this company or sell your stake ASAP because that's a really bad sign." JOE: I have found that the answer nobody ever wants when you're doing product validation or testing product fit is, "You should not build this product." The idea that the software just shouldn't be written is universally unpopular. WENDELL: Yes [laughs]. That's, you know, that's part of the reason why it took me so long to do PrimeLab is because, like, it took a long enough for the software to actually need to be written, if that makes sense. Mid-Roll Ad: When starting a new project, we understand that you want to make the right choices in technology, features, and investment but that you don't have all year to do extended research. In just a few weeks, thoughtbot's Discovery Sprints deliver a user-centered product journey, a clickable prototype or Proof of Concept, and key market insights from focused user research. We'll help you to identify the primary user flow, decide which framework should be used to bring it to life, and set a firm estimate on future development efforts. Maximize impact and minimize risk with a validated roadmap for your new product. Get started at: tbot.io/sprint. VICTORIA: What does success look like now versus six months or even five years from now? WENDELL: I take a different approach to this because I have so many friends that have sold their businesses. They raise and everything else. I look at success as instead of an exit or another large thing, like, literally, we turned down a billion-dollar term sheet offer. I didn't like the terms. I didn't like what it would do from the control standpoint of the technology. What I care about is go-to-market and, like, adoption and actually getting the tech out there in a way that has market penetration but, like, that adds value to every person's life. VICTORIA: Yeah, maybe say more about that. Like how do you see AI and this technology you have with PrimeLab benefiting people and benefiting the industry that you're working within? WENDELL: So, the current AI models are kind of weird. They're basically just filter systems because they communicate in pixel space and then go down to functional space. It's the GPU. GPUs are actually terrible to use for AI. This is why you have dedicated AI chips getting built. Hopefully, the RISC-V chipset does actually do something because that's a chipset that I think it's an open-source chipset, but you can actually especially build models on it. So, I think that we're going to see a lot more in the RISC-V chipset where it's like, this is just for one particular image, or this is just for explosions, or this is just for touching up all these different points in the actual individual, like, microcontroller module data that ends up compiling to move forward with it. But the AI models now it's like you took the internet, and you're trying to ask it a probability question, what I was talking about before, where it's not an absolute. So, it's like, if I want to do an OCR system or anything, I take an image. It's got to say, "This is..." letters; it's going to recognize that. So, there's, like, multiple models and algorithms that need to run on that whole entire process. You even have artificial data, but all of that information is an approximation. It's not an absolute. If you want absolute, you can get a lot of absolute data from the actual hardware devices themselves. You know, take a Sony camera. You could see the lighting. You could see the raw information, everything else there. But because of how expensive it is, people compress it. Like, take YouTube where it's compressed, and now you're training off of it. You're trying to compress it more and then run an algorithm so that you don't have to actually process those large, raw files all the way through. That's just a bad infrastructure for compute. You're trying to reduce, but you're also trying to utilize what you own for rights, same thing, contextual, or anything else there. There's no value in a model. Once a model is out there, it's just weights moving it back and forth. The value is in the data and the applications. So, the actual data itself that's going in. So, if you have just lava scenes, like, having all that data for lava, and I want to put it in a background, now I can do that, but more importantly, it's not about just adding it into the background. The thing that is often missed is contextually the output. So, like, say I want to do a financial report. Rather than having the data of all financial reports out there, what I want as the input is my financial data. And what I want as, like, a fine-tuning output is an example of the reports that were generated. And I don't want those reports as the input to inform the output because that's where you get a hallucination. Maybe it starts grabbing financial data from someone else. And I also think we're in store for a lot more hacks because with not just poisoning data, which we do in the functional space, if someone tries to access it. But, I mean, literally, there's the story...I think the guy was in Hong Kong, where they faked his board all the way through with it. Because you have agents acting and executing on people's behalf, you're going to have systems where people go onto the hardware and start generating fake financial numbers. And now that's going to get reported. Or you pay an invoice that you weren't supposed to pay because someone manipulated your AI agent. And a lot of the stuff that we're seeing now from Microsoft and everything else that's not really where the models will go. It's great to do it, but it's kind of like we're in the dial-up stage of AI. Like [chuckles], dial-up has its use cases and stuff, but it's nowhere near what the tech will look like in the future, and it's nowhere near how it will function. And one of the big pushbacks that you see, like, from Google, from all these different places, like, they want your attention. But at the end of the day, Google's an ad company. Facebook's an ad company. It's not in their best interest to have hyper-localized data that you control for your models and likewise. They want it in the cloud. They want it used there, where they can control that data, and they can monetize and advertise for you. But at the same time, like AI models work the best, and AI applications work the best when the data set is limited, so it can't hallucinate, and when the outputs are actually controlled to what it should be from an informed standpoint. So, where we're at this is just in the beginning stages of stuff. VICTORIA: That's really interesting. Thank you so much for sharing. I think if you could go back in time when you first started PrimeLab and give yourself some advice, what would you say? WENDELL: You know, I lived through the Great Recession. The Great Recession informed me a lot more. The things that I didn't understand this time...like the Great Recession, was market contributors doing stuff that impacted everyone with their spend and their adoption, and how those things were. But the Fed raising interest rates, which is, you know, Silicon Valley Bank failed and stuff like that, that dynamic of those startups and, like, how much startups power everything, like, I would have advised myself to pay more attention to the Fed and those market dynamics going forward. Because what changed is it's not just the Silicon Valley Bank failed it, you know, Rippling went down, for instance, which would pay therapists in Florida and all kinds of stuff. Like, it broke so many different things. It caused bottlenecks in business that we're still going through. Like, everyone's like, "Oh, we're getting back to normal." Really not. It's still, like, delayed all the way through it. The AI aspect is really getting back to normal, where people are really pushing AI. But if you look at SaaS and other industries, it really, really slowed down. And the reason why that matters is, like, in my field, production and timelines matter. So, when you have that plus, you know, the entertainment strike and everything else, you have things where the actual production of things starts slowing down immensely. Whereas AI is one of the few things that you still have innovations because that never really slowed down, same thing with the models. But all the rest of the industries and stuff have really slowed down. And understanding what that means from an operational execution standpoint...it's a good thing I have my co-founder [inaudible 32:24]. It matters quite a bit because it means your team sizes have to change, how you handle certain clients has to change. Because once those companies start downsizing or laying off people for whatever reason like, that's going to change how you're working with them, and their requirements are going to change as well. VICTORIA: And what do you see on the horizon as a challenge or a big hurdle that you face as a company or as an industry? WENDELL: You know, the entertainment market's really interesting from all the different sign-offs. The challenge is more execution of timeline. So, like, if you're doing something with, like, Nvidia and the healthcare thing, it could take years. If you're doing something in, like, the IoT space, you know, also years. If you do something in the entertainment space, it could take weeks to months, except the large studios. The larger studios, it could take a couple of years as well. But going to market, I think, is a very big challenge, not just for us but the whole entire industry. I mean, there's a reason why Sam Altman came down to LA to meet with studios, to try and get stuff moving forward. And I think one of the things that he's forgetting is like, you think of Netflix. Netflix is streaming. In order for that to work, they needed Roku, and they needed Kevin Spacey because [chuckles]...it's crazy to say that, but House of Cards is kind of what made it, right? And Hollywood was mostly boxing them out quite a bit. Same thing with Blockbuster otherwise. They had to drop a hundred million dollars, a large enough bankable star at the time that would really push something forward. And they had to basically really push Roku out there so that they had PMF across the board. What that means, though, is, like, Netflix is paying for content like crazy, right? So, this is kind of enshittification in a process. So, they're paying for content like crazy. So, now Hollywood's making money. They like it. At the studios, they don't love it when their stuff's going there because maybe it's less money, but now they start cutting the seasons short. They start cutting...it's a lot more algorithmic-driven. You have the ad systems that sort of come out. So, now, like, Netflix is not just doing ads where the customer experience is getting worse, but now, also, the business experience for those partners selling stuff is also getting worse, and all that value is getting driven to Netflix. Like, that's the tech system and Hollywood's learned that. But, like, when you're looking at the next adoption, like, they're hesitant for that. Just like a lot of stuff with AI, they're hesitant because they're thinking about all the power and control that they gave up. But you have to show how they're going to make money. You can't just cut costs, right? If you can't show how they're going to make money, you're not going to get adopted. That's kind of what I like there because so much of tech is about saving costs and being more efficient. In the entertainment industry, it's not just those two things. It's how can I make more money? And it's going to, like, ooh, you can monetize your content through training samples and stuff like that. So, our model goes exactly against what the large tech companies have where they want to take content, train on it, like the search engine does, suck the value off Sam Altman's Sora. Ours goes, all right, this is your content. Only you own this. You can take your own content, train it, and then perform this operation on it that is more efficient likewise. And if you choose to monetize it in any way, shape, or form, we can just take the functional space, not all the images and no one will ever see it, and take that functional space for training so that you can actually monetize from that as well. VICTORIA: I love that. Super interesting. Thank you so much for sharing. And do you have any questions for me or for Joe? WENDELL: I've noticed a lot of differences on, like, applications and how systems are built. So, I'm kind of curious about you guys' standpoint about applications, you know, the Apple Vision Pro. Facebook just said they'd start licensing out their AI system, or Meta, whatever. So, you have the comparisons to Android versus iOS that's happening, stuff like that. So, I'm really curious about, like, you guys' thoughts on the Vision Pro and that ecosystem. JOE: Well, I can't speak for all of thoughtbot, but I can say that, to me, it was interesting to see that get released. And it's been interesting to see how aggressively Meta and Apple have been pursuing the various VR markets. Like it reminds me of when television companies and studios worked really hard to get 3D movies to be a thing. WENDELL: [laughs]. JOE: Because I think they just ran out of things that people are asking for. Like, people were interested in getting better resolutions up to a point. Like, they wanted better packaging. But it got to a point where it was like, they didn't want to give anybody anything they were asking for. So, they were like, what if it's in 3D? And, like, for years, it seemed like Apple was really on top of seeing what people really wanted, and being able to present a very well-prepared version of that product before other companies were able to. And, personally, it's not what I saw with the Apple Vision Pro. Like, it wasn't the obvious missing space that was there when the iPhone or the iPad showed up. WENDELL: Yeah, I always go back to, like, the "Why?" question. You know, previously when...even just before we had talked, I was talking about comparative religions, and why that's so valuable is because it really teaches you...again, I've had this conversation before, but the comparative religions, if you think about religion as a tech company, they're always trying to solve why. Like, why did the sun come up? Why did this happen, right? And you always have to do that. So, apply that to technology, Google or Apple, why does this product exist? And when you get to, like, it just existed to make money, I think that's really the 3D thing. Whereas, like, why did the iPhone exist? It existed to solve this problem of being portable on the go and getting information in the way that we communicated, too. VICTORIA: Yeah. I think the Apple Vision Pro appeals to a very specific market segment and that that segment is not me [laughter]. I, actually, during COVID...after...it was, like...yeah, we're still in COVID. But during the pandemic, I moved from DC to California. And to connect with some old friends, I bought a VR headset and decided to go to virtual coffee with them. And it just makes me nauseous. And it actually affects...quite a lot of women get nauseous in VR. For some people, the look—the capability is really exciting. They have the extra money to spend on gadgets, and that's what they like. And it's very appealing, and the, like potential, is really interesting. I just find it for myself. Personally, I'm more drawn to tech that's not maybe cutting edge but solves problems for actual people. And kind of why I'm interested in PrimeLab, what you were mentioning is just how artists can use this technology to protect their creative work. To give that power back to people and that control over their content, I think, is really interesting rather than...I'm not really sure what I would do with the Apple Vision Pro [laughs]. Like, the early ones, I mean, it's cool. It's fun. I definitely enjoy it. Like, I sometimes like to learn about it, but it's not my passionate genre of tech that I normally go for. WENDELL: Going back to what you just said about, like, control, like, part of the thing is because of the hash IDs that we put into place, like, you don't need analytics. You don't need cookies or anything else, like the content holder. Basically, like, if you have a TV set or something and you want to stream content to it, you can actually see that information directly yourself. So, it takes the person generating it and the person viewing it. It forms...we call them function access keys. It forms a one-to-one relationship, basically, where you guys know if you want to know what you want to know, but then you choose to give access to the platform if you want to, which changes the dynamic of control quite a bit. And it's interesting because when you look at platforms like the Apple Vision Pro, and you look at Apple's whole entire system as a whole, just trying to lock in people, I think it's interesting because something like what I just described, Apple can't really stop. It's how compute works. So, if people want to use it, there's nothing they could do to stop it from being used. So, I'm really interested in the product stuff and just more about, like, how...and I'm curious what you guys think on this, too. Especially as you see phones and processors and everything else, I'm really interested in, like, how these things come about, like, how things are actually built and developed and the why for that, like, in the everyday use. So, like, the Apple Watch it started off as a fashion thing, which looked like a money grab, and then the why was, oh yeah, fitness. So, just curious if you guys have seen any other products out there that you're like, oh, this really resonates with me and the why. JOE: Yeah, I'm not really a gadget person, but I think the idea of taking some of the capabilities that we've gotten with the internet and with phones and making them hands-free was interesting. And that, to me, was what I think started pushing the development of products like the Apple Watch or Google Glass. Like, I think that hands-free capability, the trade-off became rewarding in the fitness field, but I think it's more generically applicable. I think that technology it's too obtrusive in other scenarios and too bad at its job to do some of the things it could do. And people got creeped out by Google Glass. But it doesn't really seem like the Vision Pro fits in there. Something being successful hands-free means it becomes less obtrusive, whereas the Vision Pro is like you become a cyborg. VICTORIA: Do you have anything else you would like to promote? WENDELL: I wouldn't say necessarily promote as much as like people with ideas or aspirations, like, I think it's important that you think counter to what everyone else is doing. There's that line of, like, when everyone else is running in one direction, run the other. And it's like, if you have a business or startup idea, really think about your market. Like, think about why you're doing what you're doing, and don't be afraid to just go out there and talk to people. You will get value no matter who you talk to. So, like, I'm a hugely tech-based person. My wife is a therapist, and I learn from her everyday things about emotional intelligence and all kinds of things that I would be an idiot otherwise. But also, learn, like, you can always learn something from someone. Like, take the time to listen to them. Take the time to actually, like, try and figure out what's one thing I can learn from someone, even if, you know, I learn stuff from my daughters even. Like, don't put things in boxes. Like, try to think outside of like, how can I ask a question to learn? VICTORIA: I love that advice. That's great. WENDELL: Have you guys used Suno before? VICTORIA: That's music, right? Music AI. WENDELL: All right, I got to show you guys this. We're going to create you a quick theme song. Like, this is what I mean by, like, it's an interesting solution for why. VICTORIA: That does sound fun. I like the ones...like my friend's a doctor, and she uses AI to take her conversation she's having with patients and automatically fill out her notes. And it saves her, like, 20 hours of documentation every week. Like, I like that kind of app. I'm like, oh, that makes a lot of sense. WENDELL: What's a style of music that you guys really like? JOE: Swedish pop VICTORIA: Like ABBA [laughs]? I'm down for an ABBA Giant Robots theme song. Sounds great. WENDELL: I think you're going to like this. [Music Playing] VICTORIA: These are awesome. They're super fun. Thank you so much. You can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have questions or comments, you can email us at hosts@giantrobots.fm. And you can find me on X @victori_ousg. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Thanks for listening. See you next time. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions. Special Guest: Joe Ferris.
Joël shares his preparations for his RailsConf talk, which is D&D-themed and centered around a gnome character named Glittersense. Stephanie expresses her delight in creating pod-related puns within thoughtbot's internal team structure, like "cross-podination" for inter-pod meetings and the adorable observation that her pod resembles "three peas in a pod" when using the git co-authored-by feature. Together, Stephanie and Joël discuss bringing one's authentic self to work, balancing personal disclosure with professional boundaries, and fostering psychological safety. They highlight the value of shared interests and personal anecdotes in enhancing team cohesion, especially remotely, and stress the importance of an inclusive culture that respects individual preferences and boundaries. Transcript: We're excited to announce a new workshop series for helping you get that startup idea you have out of your head and into the world. It's called Vision to Value. Over a series of 90-minute working sessions, you'll work with a thoughtbot product strategist and a handful of other founders to start testing your idea in the market and make a plan for building an MVP. Join for all seven of the weekly sessions, or pick and choose the ones that address your biggest challenge right now. Learn more and sign up at tbot.io/visionvalue. STEPHANIE: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Stephanie Minn. JOËL: And I'm Joël Quenneville. And together, we're here to share a bit of what we've learned along the way. STEPHANIE: So, Joël, what's new in your world? JOËL: So, at the time of this recording, we're recording this the week before RailsConf. I've been working on some of the visuals for my RailsConf talk and leaning on AI to generate some of these. So, my talk is D&D-themed, and it's very narrative-based. We follow the adventures of this gnome named Glittersense throughout the talk as we learn about how to use Turbo to build a D&D character sheet. And so, I wanted the AI to generate images for me. And the problem I've had with a lot of AI-generated images is that you're like, okay, I need a gnome, you know, in a fight doing this, doing that. But then, like, every time, you get, like, totally different images. You're like, "Oh, I need an image where it's this," but then, like, the character is different in all the scenes, and there's no consistency. So, I've been leaning a little bit more into the memory aspect of ChatGPT, where you can sort of tell it, "Look, these are the things. Now, whenever I refer to Glittersense, whenever you draw an image, do it with these characteristics that we've established what the character looks like." Sometimes I'll have, like, a text conversation kind of, like, setting up the physical characteristics. And then, it's like, okay, now every time you draw him, draw him like this, or now every time you draw him, draw him with this particular piece of equipment that we've created. And so, leaning into that memory has allowed me to create a series of images that feel a little bit more consistent in a way that's been really interesting. STEPHANIE: Cool. Yeah, that makes sense because you are telling a story, right? And you need it to have a through line and the imagery be matching as you progress in your presentation. I actually don't know a lot about how that memory works. Does it persist across sessions? Do you have to do it all in one [laughs] go, or how does that work? JOËL: So, there's, like, a persistent chat. So, you can start sort of multiple conversations, but each conversation is its own thread with its own memory. And it will sort of keep track of certain things. And sometimes I'll even say, "Hey..." instead of, like, prompting it for something to get a response, you could prompt it to add things to its memory. So say like, "From now on, when I ask you these types of questions, I want you to respond in this way," or, "From now on, when I ask you to generate an image, I want it done in this format." So, for example, RailsConf requires all of their slides to be 16 by 9. If I want, like, a kind of cover image or, like, something full-screen, I need an image that is 16 by 9. So, one of the things I prompt the AI with is just, "From now on, whenever you generate an image, give me an image in 16:9 aspect ratio." STEPHANIE: Cool. I also was intrigued by your gnome's name, Glittersense. And I was wondering what the story behind that character is. JOËL: The story behind the name is that I was playing D&D with a friend who was this very kind of eclectic Dragonborn character. And I did some sort of valiant deed and got the name Glittersense bestowed upon me by this Dragonborn for having helped him out in some, like, cool way. So, that's a fun name. And so, when I was searching for a name for my character in this talk, I was like, you know what? Let's bring back Glittersense. I like that. I think it captures a little bit of, like, the wonder and the whimsy of a gnome. STEPHANIE: That's really cute. I like that a lot. JOËL: So, Stephanie, what's been new in your world? STEPHANIE: So, lately, I've been having a lot of fun with coming up with names of things. You know the saying how naming is one of the hardest things in software? Well, okay, I'm not actually going to talk about anything that I named very particularly well in my code, but I've been just coming up with a lot of puns. It's just, I don't know, my brain is kind of in that space. And one thing that...I can't recall if I have talked about this on the show before, but our team at thoughtbot is experimenting with kind of smaller sub-teams within it called pods. We have now kind of been split into pods with other people who are working on maybe similar client projects. I have been having some really good naming ideas around [laughs] pod-related puns. So, one thing that we did as part of this experiment was setting up meetings for pods to meet each other, and spend time together, and kind of share what each other was up to. And I was the first to coin the term cross-podination, kind of like cross-pollination. And I think I just, like, said it offhand one day, and then it caught on. And I was very pleasantly surprised to see that people just leaned into it and started naming those meetings cross-podination meetings. And then, another one that came about recently was my pod there's three of us in it, and we were pairing, or I guess it's not really called a pairing if there's three. We were mobbing or ensembling, whatever you want to call it. And sometimes we like to use the git co-authored-by feature where you can attribute, you know, commits to people that you worked on them with. And in GitHub when you, you know, add people's emails to the commit, you know, you see your little GitHub profile picture in a little circle. And when you have multiple people shared on a commit, it is just, like, squished together. And since we're a trio, I was like, "Oh, it's like we're, like, three peas in a pod." JOËL: [chuckles] STEPHANIE: And I realized that it was an excellent missed opportunity for our pod name. We're something else. But I am hereby reserving that name for the next pod that I am in. You heard it here first [laughs]. It looked exactly like just three snug little peas. And I, yeah, it was very cute. I was very delighted. And yeah, that's what's new for me. JOËL: I'll also point out the fact that you are currently talking on a podcast. STEPHANIE: Whoa, whoa. So, you and I are a pod [laughter]. We're a podcasting pod [laughs]. Wow, I didn't even think about that. My world is just pods right now [laughs], folks. JOËL: How do you feel about puns as an art form? STEPHANIE: [laughs] Wow, art form is a strong phrase to use. I don't hate them. I think it depends. Sometimes I will cringe, and other times I'm like, that's great. That's excellent. Yeah, I think it depends. But I guess, clearly, I'm in my pun era, so I've just accepted it. JOËL: Are you the kind of person who is, like, ashamed but secretly proud when you make a really good pun? STEPHANIE: Yeah, that's a very good way to describe it. I'm sure there are other people out there [laughs]. JOËL: What's interesting with puns, right? Like, some people love them, some people hate them. Some people really lean into them, like, that becomes almost, like, part of their personality. We had a former teammate who his...we made a custom Slack emoji with his face, and it was the pun emoji because he always had a good pun ready for any situation. And so, that's sort of a way that I feel like sometimes you get to bring an aspect of your personality or at least a persona to work. What parts of yourself do you like to bring to work? What parts do you like to maybe leave out? STEPHANIE: Yeah, I am really excited about this topic because I feel like it's a little bit evergreen, maybe was kind of a trendy thing to talk about in terms of team culture in the past couple of years, but this idea of bringing an authentic or whole self to work as, like, an ideal. And I don't know that I totally agree with that [laughs] because, like you said, sometimes you have a different kind of persona, or you have a kind of way that you want to present yourself at work. And that doesn't necessarily mean it's a bad thing. I personally like some kind of separation in terms of my work self and my rest of life self [laughs]. Yeah, I just think that should be fine. JOËL: So, you might secretly be the pun master, but you don't want your colleagues to know. STEPHANIE: [laughs] That's true. Or I save my puns only for work [laughter]. If I ever have, like, a shower thought where I think of a really good pun, I will, like, send a Slack message to myself to find [laughs] the perfect opportunity to use this pun in a meeting [laughs]. I don't actually do that, but that would be very funny. JOËL: I feel like there's probably a sense in which nobody is a hundred percent their authentic self or their full self in a work situation, you know, it varies by person. But I'm sure everybody, to a certain extent, has a professional persona that they inhabit during work hours. STEPHANIE: Yeah, and I like that the way we're talking about it, too, is a professional persona doesn't necessarily mean that you're just a little...matching kind of a business speak bot [laughs], where it's kind of devoid of personality, but just using all the right language in their emails [laughs] and the correct business jargon or whatever. To me, what is important is that people are able to choose how they show up or present themselves at work. That's, like, an active choice that they're making, not out of obligation or fear of consequences. You know, like, it's fine to be a little more private at work if that's just how you want to operate. And it's also fine to be more open about sharing things going on in your personal life. Because I've seen ways in which both have been more enforced or, like, there's pressure to perform one way or another. And that could mean, like, when people kind of encourage others to try to be more of themselves or, like, share more things about personal life. That's not always necessarily a good thing if it's not something that people are comfortable with. And I suspect that we have kind of pulled back a little bit from that, but there was certainly a time when that was a bit of an expectation. And I'm not sure that that was quite [chuckles] what we wanted to aim for in terms of just the modern workplace. JOËL: It is interesting because I think there can be some advantages to maybe building connection with people by sharing a little bit more about your life. But, again, if there's pressure to do it, that becomes really unwholesome. STEPHANIE: Yeah. Unwholesome is a good word to use. Like, I want that wholesome content [laughs] at work. And I actually have a couple of thoughts about how I prefer to share, like, just personal things with my team members. And I'm curious kind of where you fall on this as well. But a couple of things that our team does that I really like is we have a quarterly newsletter that one of our team leads puts together. She has an open call for submissions, and people just share any, like travel plans, any professional wins, any kind of personal life things that they want to share. People love talking about their home improvement adventures [laughs] on our team, which is really fun. And yeah, like, just share photos and a little blurb about what they've been up to. And this happens every quarter. And it's always such a delight to remember a little bit like, oh yeah, my co-workers have lives outside of work. But I really like that it's opt-in and also not that frequent, you know? It's kind of like, this is the time to share any like, special things that have happened in the past three months. And yeah, I think every time a new dispatch of it comes out, everyone kind of gets the warm and fuzzy feelings of appreciating their co-workers and what they've been up to. JOËL: Do you think that that kind of sharing sort of maybe helps personalize a little bit of our colleagues, especially because we're all remote and we're interacting with each other through a screen? STEPHANIE: Yes. Yeah. That's another good distinction. I think it is, like, a little more important that there are touch points like these when we are working remote because, yeah, the water cooler conversation just doesn't really happen nearly as much as it does when you're in an office. And I feel like that's the kind of thing that I would talk about at the water cooler [laughs]. It's like, "Oh yeah, I went to Disney World, or traveled for this conference, or I built new garden beds for my yard," just stuff like that. I don't know, I don't find that...like, when you're just communicating over Slack and email, there's not a good place for that kind of stuff. And that's why I really like the newsletter. JOËL: One thing that's interesting about the difference between in-person and remote is that, in person, a way that you can express personality in the office is you can do some things with your workspace. You might have some items on your desk that are of personal interest. And, you know, you might still do that when you're working remote, but those don't get captured by your webcam unless it's in your background. Your background you can get real creative with. But you can also, like, really curate that to, like, show practically nothing. Whereas if you were putting things on your desk in the office, there's kind of no way for your colleagues not to see that. So, you had to be...like, it had to be things that you were willing for everyone to see. But at the same time, sometimes it's nice to be able to say, hey, I'm going to put a touch of, like, things that are meaningful to me in my work life. STEPHANIE: Yeah, I really like that. I mean, Joël, your background is always these framed maps on the wall, hanging on the wall, and that is very you, I think. Did you kind of think about how they'll just be your background whenever you're in a meeting, or they just happened to be there? JOËL: So, these I had set up pre-pandemic. I like the décor. And then, when I started working from home in 2020, I was trying to figure out, like, where do I want to be to take meetings? And I was like, you know what? The math wall is pretty cool. I think that's going to be my background. I guess now it's almost become, like, a bit of a trademark. STEPHANIE: Yeah, I feel that. My trademark...I have a few because I like to move around when I take meetings. So, when I'm at my desk, it's the plants in my office. When I'm in my kitchen, it's either my jars [laughs]. So, I have, like, open shelving and just all of these jars of, you know, some of it is ingredients like nuts, and grains, and stuff like that, and some of it is just empty jars that I use for drinking water. So, I have my jar collection. And then, occasionally, if I'm sitting on the other side of the table [chuckles], all of my pots and pans are hanging in the background from above my stove. So, yeah, I'm the jars, pots, and plants person [laughs] at the company. JOËL: You know, we were talking earlier about the idea that it's harder to see your sort of workspace in a remote world. And I just remembered that we do a semi-regular...there's, like, a thread at thoughtbot where people just share pictures of their workspace, and it's opt-in. You don't have to put anything in there. But you get a little bit of, like, oh, the other side of the camera. That's pretty cool. STEPHANIE: Yeah, I love seeing those threads. And I think a lot of people in our industry are also gear nerds, so [laughter] they love to see people's, like, fancy monitor and keyboard setups, maybe some cool lighting, oh, like, wire organization [laughs]. JOËL: Cable management. STEPHANIE: Yep. Yep. Those are fun. And I actually think another one that we've lost since going remote is laptop stickers because that was such a great way for people to show some personality and things that they love, like programming stuff, maybe, like, you know, language stickers or organizations like thoughtbot stickers, too, and also, more personal stuff if they want. At a previous company, we were also remote, and someone came up with a really fun game where people anonymously submitted pictures of their laptop stickers. And we got together and tried to guess whose laptop belonged to who just based on the stickers. JOËL: Oh, that's fun. STEPHANIE: Yeah, that was really fun. I keep forgetting that I wanted to organize something like that for thoughtbot. But now I'm just thinking about it, and I feel the need to decorate my laptop with some stickers after this [laughs]. JOËL: One thing I do want to highlight, though, is the fact that several years back, when people were talking a lot about the importance of bringing your sort of authentic or whole self to work, one of the really valuable parts of that conversation was giving people the ability to do that, not forcing people to sort of hide parts of themselves, especially if they don't fit into a dominant culture or demographic, in order to be able to even function at work, right? That's a sort of key aspect of, I guess, basic inclusivity. And so, I think that's still a hundred percent true today. We want to build cultures that are inclusive, both in our in-person professional situations and for remote teams. STEPHANIE: Yeah, 100%. I think, for me, what I think is a good measure of that is, you know, how comfortable are people disagreeing at the company kind of in public or sharing an alternative perspective? Like, that should be okay and celebrated, even, and considered, you know, with equal weight as kind of what you're saying, the dominant identity or even just opinion. Like, especially in tech, I think people have very strongly held opinions, and when they're disagreed with...I've become a little skeptical of the idea of, like, this is how we do things here or, like, we don't do that. And I think that rather than sticking to a, like, stance like that, there's always room to incorporate, like, new approaches, new perspectives, new ways of thinking to a given problem. And that can only happen when people are comfortable with going there, you know, and kind of saying, like, "This is important to me," or, like, "This is how I feel about it." And that, in and of itself, is just equally valid [laughs] as whatever is taking the airtime currently. JOËL: That's really interesting because I feel like now you've leaned into almost the idea of psychological safety for a team. And if you're having to sort of repress or hide elements of the way you think, or maybe even sort of core elements of your identity to fit in with a team, that's not psychologically safe, and you can't have those deeper conversations. STEPHANIE: Yeah, 100%. I think it's two sides of the same coin, you know, it's like two ways of saying the same thing, that people should be able to conduct themselves in the way they choose to [laughs]. And I can't imagine anyone really disagreeing with a statement like that. JOËL: So, I know you choose to not always share everything about your life or sort of...I don't want to say bring your authentic self but, like, bring everything about yourself to the workplace. Do you have a sort of a heuristic for what you decide to share or not share? STEPHANIE: Yeah. I don't know if it's necessarily a heuristic so much as it's just what I do [laughs]. But I tend to do better with, like, smaller groups, and, actually, that's why I think pods has been working really well for me personally because I can share personal information just in a more intimate setting, which is helpful for me. And yeah, I tend to, like, find once, like, either Slack channels or Spaces, meetings are starting to get into the, like, 10, 11, 12 people territory is when I hold it back a little bit more, not because of any sort of, like, reason that I don't want to share. It's just, like, that's just not the venue for me. But I do love when other people are, like, open, even in, like, larger spaces like that. I appreciate when other people do it just to, you know, signal that it's okay [laughs]. And I enjoy throwing a reaction or responding in a thread about, you know, something that someone shared in a bigger channel. And I think that diversity is actually really helpful because it conveys that, like, there's different ways of existing online in your work environment and that they're all acceptable. What about you? How do you kind of choose where to share things about your personal life? JOËL: I think, kind of like you, I don't really have a heuristic. I just sort of go with gut feeling. I think I, sort of by nature, have always been maybe a little bit of having, like, separate professional and personal lives and keeping those a little bit more distinct. And, you know, there's some things that kind of cross over, like, oh, you know, I tried out this fun, new restaurant, or I did a cool activity over the weekend, or something like that. I think I've come to see that there can be a lot of value in sharing parts of yourself with other colleagues. And so, from time to time, I'll, like, maybe bring in something a little bit deeper. And, like you said, sometimes that's more easily done in a smaller context. And then yeah, for some things, it's like, okay, I'm going to share photos from a vacation in that, you know, quarterly newsletter. That's kind of fun. But also knowing that there's no pressure that's nice. STEPHANIE: Yeah. I think you're really good about finding the right avenues for that. I like, love when you show photos in the travel channel, even though I have that channel muted [laughs]. You'll, like, send me the link to the post in that channel. And yeah, I love that because it's a way for you to kind of, like, find the right place for it, and then also share it with any particular people if you choose to. JOËL: I think, also, personal connections can be a way to build deeper relationships, especially in smaller groups. And you can form deeper connections with colleagues over a particular project, or a particular technology, or a tech topic, or, you know, just a passion about mechanical keyboards, or something like that. But if you're people who chat kind of more on the regular for different things, maybe separate from a client project you're on or something like that, and you do find yourself exchanging a little bit more about, oh, you know, what you're doing in your life, or what are the things that are going on for you, that often does tend to build, I think, a deeper connection between colleagues, which can be really nice. STEPHANIE: Yeah. And I like that those relationships can also change. Like, there's different seasons in which you're more connected to some people and then less connected. Sometimes a colleague that you have shared interests with becomes someone that you kind of are in touch with more regularly, and then maybe you switch projects, and you aren't so much kind of as up to date. But, I don't know, I always think that there's, like, the right time for that kind of stuff, and it emerges. JOËL: I'm going to throw a bit of a buzzword at you, and I'd love to get your reaction. The idea of belonging, the feeling of belonging on a team, is that a good thing, something that we should seek out? And if so, how much of that is responsibility of, like, management or, like, a property of the team or the group to make you sort of feel that belonging? And how much of that is on you having to maybe disclose things about yourself or share a little bit of your personal life to, like, create that sense of belonging? STEPHANIE: Whoa. Yeah, that is a good way to frame it. I think there's a balance. There've been some, like, periods of my work life where I'm like, oh, I need more of a detachment from work and other times where I'm like, oh, I feel really disconnected, like, I want to feel like more of a part of this team. But I do think it's a management responsibility. And one thing that I know people to be cautious of is, you know, becoming too close at work. I don't know if your work being treated like a family, like, that kind of language can be a little bit borderline. JOËL: Almost manipulative. STEPHANIE: Right. Yeah, exactly. I do think there's something to be said about community at work and feeling like that kind of belonging, right? But also, that you can choose how much, like, you want to engage with that community and that being okay. I don't think it necessarily needs to be only through what you share about yourself. Like, you can have that sense of connection just by being a good colleague [chuckles], right? Like, even if the things you talk about are just within the realm of the project you're working on, like, there's still a sense of commitment and, yeah, in that relationship. And I think that is what matters when it comes to belonging. In the past, ways that I've seen that work well in regards to kind of how you share information is just, like, I don't know, share how you're doing. Like, you don't have to provide too many details. But it could be like, "Oh, I'm kind of distracted in my personal life right now, and that's why I wasn't able to get this done." People should be understanding of that, even if you don't kind of let them in on the more personal aspects of it. JOËL: Right. And you don't have to give any details, right? STEPHANIE: Yeah. JOËL: You should be in a place where people are comfortable with not knowing and not be like, "Ooh, what's going on with Stephanie's life? " STEPHANIE: [laughs] Yeah. But I do also think, like, the knowing that, like, something is going on is, like, also important context, right? Because you don't necessarily want that to impact the commitments you do have at work. JOËL: Right. And people tend to be a little bit more understanding if you're having to maybe shift some meetings around, or if you're struggling to focus on a particular day, or something like that. STEPHANIE: Yeah. 100%. JOËL: Yeah, we should normalize it of just like, "Hey, I'm having a hard day. I don't want to give details, but you know." STEPHANIE: Yeah. Yeah. I think a way that that is always kind of weird is how people communicate they're taking a sick day [laughs]. I actually had someone tell me that they really appreciated a time when I just said, "You know, I need to take care of myself today," and didn't really say anything else [laughs] about why. Because they're like, "Oh, like, that helped normalize this idea that, like, that is fine just kind of as is." There's no need to, you know, supply any additional reasoning. JOËL: Sometimes I feel like people almost feel the need to like, justify taking sick time. So, you've got to, like, say just how bad things are that now I'm actually taking sick time. STEPHANIE: Yeah, which is...that's not the point, right? You know, we have it because we need it [laughs]. So, yeah, I'm glad you mentioned that because I think that's actually a really good example of the ways that people, like, approach kind of bringing themselves to work like that. JOËL: Yeah, sometimes it's setting a boundary. An aspect I'm curious to look at is you, and I do a little bit of this with this podcast, right? Every week, we share a little bit of what's new in our world, and it goes out into the public internet. How do you tend to pick those topics and, like, how personal are you willing to get? STEPHANIE: Yeah. Oh, that's so hard. It's always hard [laughs], I think. I generally am pretty open. You know, I have talked about plans that I have for moving. I don't know, things about my gardening. I think I've also been a little vulnerable on the show before when I've, like, had a challenge, like, at work. But yeah, it's important, to me, I think, to be, like, true. Like, I think part of what our listeners like about this show is that we show up every week, and it's just a chat between two friends [laughs]. JOËL: Uh-huh. STEPHANIE: It also is kind of weird to know that it's just, like, out there, right? And I don't really know who's listening on the other side. I do know that, like, a lot of my friends listen. And, in some ways, I like to think that I'm talking to them, right? But yeah, sometimes I think about just, like, in a decade [laughs], it will still be out there. And on one hand, I think maybe it's kind of cool because I can listen back and be like, oh, like, that's what was going on for me in 2024. And other times I'm like, oh my God, what if I'm one day just, like, deeply embarrassed by things I've talked about on this show [laughs]? But that's a risk, I guess, I'm willing to take because I do think that the sense of connection that we foster with our audience is really meaningful. And it gives me a lot of joy whenever I meet a listener who's like, "Oh, you, you know, talked about this one thing, and I really related to it." And yeah, I guess that's what I do this for. What about you? JOËL: Yeah, I think kind of similar to you; tend to talk about things at work, interesting technical challenges, interesting sort of work, or even sometimes client-related challenges. Of course, you know, never calling out any clients by name, you know, talk about some hobbies and things like that. I think where I tend to draw the line a little bit is things that are a little bit more people-oriented in my personal life. So, I tend to not talk about family, and friends, and relationships, and things like that. And, you know, there are some times where there's like, those things intermix a little bit, where I'll, like, have shared, like, "This is what's new in my world." And then, like, off air, I'll follow up with you and say, "So, I didn't tell the whole story on air. STEPHANIE: [laughs] Yeah. JOËL: Here's what actually happened." Or, you know, "Here's this extra anecdote that I wanted you to know, but I didn't want everyone in the audience to hear." STEPHANIE: Yeah. I think the weirdest part for me, too, is I certainly have my, like, parasocial relationships with people that I follow on the internet [laughs], like, people on YouTube, or other podcasts, and stuff like that. But I haven't thought a whole lot about just, like, what that looks like for me as a host of a podcast. I think, kind of the size of the show now it feels right for me, where it's like I run into people who listen at conferences and stuff like that, but it is kind of contained to a work-related thing. So, that feels good because it, I think, for me, helps just give the work stuff a little bit of a deeper meaning, but otherwise isn't spilling over to my regular life. JOËL: And it's always fun when, you know, we get a listener email connecting to, you know, one of the random hobbies or something we've talked about and sharing a little bit of their experiences. I think last spring, I talked about getting a pair of bike shorts and, like, trying it out and seeing how that worked. And a listener called in and shared their experience with bike shorts, and, like, that's a lot of fun. It kind of creates that connection. So, I do enjoy that aspect. STEPHANIE: Yeah. And just to plug, you can write in to us at hosts@bikeshed.fm, and if you have anything you want to share that was inspired by what you heard us talk about on the show. JOËL: We'd love to have you. STEPHANIE: On that note, shall we wrap up? JOËL: Let's wrap up. STEPHANIE: Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeee!!!!!!! AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
Stephanie shares an intriguing discovery about the origins of design patterns in software, tracing them back to architect Christopher Alexander's ideas in architecture. Joël is an official member of the Boston bike share system, and he loves it. He even got a notification on the app this week: "Congratulations. You have now visited 10% of all docking stations in the Boston metro area." #AchievementUnlocked, Joël! Joël and Stephanie transition into a broader discussion on data modeling within software systems, particularly how entities like companies, employees, and devices interconnect within a database. They debate the semantics of database relationships and the practical implications of various database design decisions, providing insights into the complexities of backend development. Christopher Alexander and Design Patterns (https://www.designsystems.com/christopher-alexander-the-father-of-pattern-language/) Rails guide to choosing between belongsto and hasone (https://edgeguides.rubyonrails.org/association_basics.html#choosing-between-belongs-to-and-has-one) Making impossible states impossible (https://www.youtube.com/watch?v=IcgmSRJHu_8) Transcript: We're excited to announce a new workshop series for helping you get that startup idea you have out of your head and into the world. It's called Vision to Value. Over a series of 90-minute working sessions, you'll work with a thoughtbot product strategist and a handful of other founders to start testing your idea in the market and make a plan for building an MVP. Join for all seven of the weekly sessions, or pick and choose the ones that address your biggest challenge right now. Learn more and sign up at tbot.io/visionvalue. JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. STEPHANIE: And I'm Stephanie Minn. And together, we're here to share a bit of what we've learned along the way. JOËL: So, Stephanie, what's new in your world? STEPHANIE: So, I learned a very interesting tidbit. I don't know if it's historical; I don't know if I would label it that. But, I recently learned about where the idea of design patterns in software came from. Are you familiar with that at all? JOËL: I read an article about that a while back, and I forget exactly, but there is, like, a design patterns movement, I think, that predates the software world. STEPHANIE: Yeah, exactly. So, as far as I understand it, there is an architect named Christopher Alexander, and he's kind of the one who proposed this idea of a pattern language. And he developed these ideas from the lens of architecture and building spaces. And he wrote a book called A Pattern Language that compiles, like, all these time-tested solutions to how to create spaces that meet people's needs, essentially. And I just thought that was really neat that software design adopted that philosophy, kind of taking a lot of these interdisciplinary ideas and bringing them into something technical. But also, what I was really compelled by was that the point of these patterns is to make these spaces comfortable and enjoyable for humans. And I have that same feeling evoked when I'm in a codebase that's really well designed, and I am just, like, totally comfortable in it, and I can kind of understand what's going on and know how to navigate it. That's a very visceral feeling, I think. JOËL: I love the kind of human-centric approach that you're using and the language that you're using, right? A place that is comfortable for humans. We want that for our homes. It's kind of nice in our codebases, too. STEPHANIE: Yeah. I have really enjoyed this framing because instead of just saying like, "Oh, it's quote, unquote, "best practice" to follow these design patterns," it kind of gives me more of a reason. It's more of a compelling reason to me to say like, "Following these design patterns makes the codebase, like, easier to navigate, or easier to change, or easier to work with." And that I can get kind of on board with rather than just saying, "This way is, like, the better way, or the superior way, or the way to do things." JOËL: At the end of the day, design patterns are a means to an end. They're not an end in of itself. And I think that's where it's very easy to get into trouble is where you're just sort of, I don't know, trying to rack up engineering points, I guess, for using a lot of design patterns, and they're not necessarily in service to some broader goal. STEPHANIE: Yeah, yeah, exactly. I like the way you put that. When you said that, for some reason, I was thinking about catching Pokémon or something like filling your Pokédex [laughs] with all the different design patterns. And it's not just, you know, like you said, to check off those boxes, but for something that is maybe a little more meaningful than that. JOËL: You're just trying to, like, hit the completionist achievement on the design patterns. STEPHANIE: Yeah, if someone ever reaches that, you know, gets that achievement trophy, let me know [laughs]. JOËL: Can I get a badge on GitHub for having PRs that use every single Gang of Four pattern? STEPHANIE: Anyway, Joël, what's new in your world? JOËL: So, on the topic of completing things and getting badges for them, I am a part of the Boston bike share...project makes it sound like it's a, I don't know, an exclusive club. It's Boston's bike share system. I have a subscription with them, and I love it. It's so practical. You can go everywhere. You don't have to worry about, like, a bike getting stolen or something because, like, you drop it off at a docking station, and then it's not your responsibility anymore. Yeah, it's very convenient. I love it. I got a notification on the app this week that said, "Congratulations. You have now visited 10% of all docking stations in the Boston metro area." STEPHANIE: Whoa, that's actually a pretty cool accomplishment. JOËL: I didn't even know they tracked that, and it's kind of cool. And the achievement shows me, like, here are all the different stations you've visited. STEPHANIE: You know what I think would be really fun? Is kind of the equivalent of a Spotify Wrapped, but for your biking in a year kind of around the city. JOËL: [laughs] STEPHANIE: That would be really neat, I think, just to be like, oh yeah, like, I took this bike trip here. Like, I docked at this station to go meet up with a friend in this neighborhood. Yeah, I think that would be really fun [laughs]. JOËL: You definitely see some patterns come up, right? You're like, oh yeah, well, you know, this is my commute into work every day. Or this is that one friend where, you know, every Tuesday night, we go and do this thing. STEPHANIE: Yeah, it's almost like a travelogue by bike. JOËL: Yeah. I'll bet there's a lot of really interesting information that could surface from that. It might be a little bit disturbing to find out that a company has that data on you because you can, like, pick up so much. STEPHANIE: That's -- JOËL: But it's also kind of fun to look at it. And you mentioned Spotify Wrapped, right? STEPHANIE: Right. JOËL: I love Spotify Wrapped. I have so much fun looking at it every year. STEPHANIE: Yeah. It's always kind of funny, you know, when products kind of track that kind of stuff because it's like, oh, like, it feels like you're really seen [laughs] in terms of what insights it's able to come up with. But yeah, I do think it's cool that you have this little badge. I would be curious to know if there's anyone who's, you know, managed to hit a hundred percent of all the docking stations. They must be a Boston bike messenger or something [laughs]. JOËL: Now that I know that they track it, maybe I should go for completion. STEPHANIE: That would be a very cool flex, in my opinion. JOËL: [laughs] And, you know, of course, they're always expanding the network, which is a good thing. I'll bet it's the kind of thing where you get, like, 99%, and then it's just really hard to, like, keep up. STEPHANIE: Yeah, nice. JOËL: But I guess it's very appropriate, right? For a podcast titled The Bike Shed to be enthusiastic about a bike share program. STEPHANIE: That's true. So, for today's topic, I wanted to pick your brain a little bit on a data modeling question that I posed to some other developers at thoughtbot, specifically when it comes to associations and associations through other associations [laughs]. So, I'm just going to kind of try to share in words what this data model looks like and kind of see what you think about it. So, if you had a company that has many employees and then the employee can also have many devices and you wanted to be able to associate that device with the company, so some kind of method like device dot company, how do you think you would go about making that association happen so that convenience method is available to you in the code? JOËL: As a convenience for not doing device dot employee dot company. STEPHANIE: Yeah, exactly. JOËL: I think a classic is, at least the other way, is that it has many through. I forget if you can do a belongs to through or not. You could also write, effectively, a delegation method on the device to effectively do dot employee dot company. STEPHANIE: Yeah. So, I had that same inkling as you as well, where at first I tried to do a belongs to through, but it turns out that belongs to does not support the through option. And then, I kind of went down the next path of thinking about if I could do a has one, a device has one company through employee, right? But the more I thought about it, the kind of stranger it felt to me in terms of the semantics of saying that a device has a company as opposed to a company having a device. It made more sense in plain English to think about it in terms of a device belonging to a company. JOËL: That's interesting, right? Because those are ways of describing relationships in sort of ActiveRecord's language. And in sort of a richer situation, you might have all sorts of different adjectives to describe relationships. Instead of just belongs to has many, you have things like an employee owns a device, an employee works for a company, you know because an employee doesn't literally belong to a company in the literal sense. That's kind of messed up. So, I think what ActiveRecord's language is trying to use is less trying to, like, hit maybe, like, the English domain language of how these things relate to, and it's more about where the foreign keys are in the database. STEPHANIE: Yeah. I like that point where even though, you know, these are the things that are available to us, that doesn't actually necessarily, you know, capture what we want it to mean. And I had gone to see what Rails' recommendation was, not necessarily for the situation I shared. But they have a section for choosing between which model should have the belongs to, as opposed to, like, it has one association on it. And it says, like you mentioned, you know, the distinction is where you place the foreign key, but you should kind of think about the actual meaning of the data. And, you know, we've talked a lot about, I think, domain modeling [chuckles] on the show. But their kind of documentation says that...the has something relationship says that one of something is yours, that it can, like, point back to you. And in the example I shared, it still felt to me like, you know, really, the device wanted to point to the company that it is owned by. And if we think about it in real-world terms, too, if that device, like, is company property, for example, then that's a way that that does make sense. But the couple of paths forward that I saw in front of me were to rework that association, maybe add a new column onto the device, and go down that path of codifying it at the database level. Or kind of maybe something as, like, an in-between step is delegating the method to the employee. And that's what I ended up doing because I wasn't quite ready to do that data migration. JOËL: Adding more columns is interesting because then you can run into sort of data consistency issues. Let's say on the device you have a company ID to see who the device belongs to. Now, there are sort of two different independent paths. You can ask, "Which company does this device belong to?" You can either check the company ID and then look it up in the company table. Or you can join on the employee and join the employee back under company. And those might give you different answers and that can be a problem with data consistency if those two need to stay in sync. STEPHANIE: Yeah, that is a good point. JOËL: There could be scenarios where those two are allowed to diverge, right? You can imagine a scenario where maybe a company owns the device, but an employee of a potentially different company is using the device. And so, now it's okay to have sort of two different chains because the path through the employee is about what company is using our devices versus which company actually owns them. And those are, like, two different kinds of relationships. But if you're trying to get the same thing through two different paths of joining, then that can set you up for some data inconsistency issues. STEPHANIE: Wow. I really liked what you said there because I don't think enough thought goes into the emergent relationships between models after they've been introduced to a codebase. At least in my experience, I've seen a lot of thought go up front into how we might want to model an ActiveRecord, but then less thought into seeing what patterns kind of show up over time as we introduce more functionality to these models, and kind of understand how they should exist in our codebase. Is that something that you find yourself kind of noticing? Like, how do you kind of pick up on the cue that maybe there's some more thought that needs to happen when it comes to existing database tables? JOËL: I think it's something that definitely is a bit of a red flag, for me, is when there are multiple paths to connect to sort of establish a relationship. So, if I were to draw out some sort of, like, diagram of the models, boxes, and arrows or something like that, and then I could sort of overlay different paths through that diagram to connect two models and realize that those things need to be in sync, I think that's when I started thinking, ooh, that's a potential danger. STEPHANIE: Yeah, that's a really great point because, you know, the example I shared was actually a kind of contrived one based on what I was seeing in a client codebase, not, you know, I'm not actually working with devices, companies, and employees [laughs]. But it was encoded as, essentially, a device having one company. And I ended up drawing it out because I just couldn't wrap my head around that idea. And I had, essentially, an arrow from device pointing to company when I could also see that you could go take the path of going through employee [laughs]. And I was just curious if that was intentional or was it just kind of a convenient way to have that direct method available? I don't currently have enough context to determine but would be something I want to pay attention to. Like you said, it does feel like, if not a red flag, at least an orange one. JOËL: And there's a whole kind of science to some of this called database normalization, where they're sort of, like, they all have rather arcane names. They're the first normal form, the second normal form, the third normal form, you know, it goes on. If you look at the definition, they're all also a little bit arcane, like every element in a relation must depend solely upon the primary key. And you're just like, well, what does that mean? And how do I know if my table is compliant with that? So, I think it's worth, if you're Googling for some of these, find an article that sort of explains these a little bit more in layman's terms, if you will. But the general idea is that there are sort of stricter and stricter levels of the amount of sort of duplicate sources of truth you can have. In a sense, it's almost like DRY but for databases, and for your database schema in particular. Because when you have multiple sources of truth, like who does this device belong to, and now you get two different answers, or three different answers, now you've got a data corruption issue. Unlike bugs in code where it's, you know, it can be a problem because the site is down, or users have incorrect behavior, but then you can fix it later, and then go to production, and disruption to your clients is the worst that happened, this sort of problem in data is sometimes unrecoverable. Like, it's just, hey, -- STEPHANIE: Whoa, that sounds scary. JOËL: Yeah, no, data problems scare me in a way that code problems don't. STEPHANIE: Whoa. Could you...I think I interrupted you. But where were you going to go about once you have corrupted data? Like, it's unrecoverable. What happens then? JOËL: Because, like, if I look at the database, do I know who the real owner of this...if I want to fix it, let's say I fix my schema, but now I've got all this data where I've got devices that have two different owners, and I don't know which one is the real one. And maybe the answer is, I just sort of pick one and say, "Oh, the one that was through this association is sort of the canonical one, and we can just sort of ignore the other one." Do I have confidence in that decision? Well, maybe depending on some of the other context maybe, I'm lucky that I can have that. The doomsday scenario is that it's a little bit of one, a little bit of the other because there were different code paths that would write to one way or another. And there's no real way of knowing. If there's not too many devices, maybe I do an audit. Maybe I have to, like, follow up with all of my customers and say, "Hey, can you tell me which ones are really your devices?" That's not going to scale. Like, real worst case scenario, you almost have to do, like, a bit of a bankruptcy, where you say, "Hey, all the data prior to this date there's a bit of a question mark on it. We're not a hundred percent sure about it." And that does not feel great. So, now you're talking about mitigation strategies. STEPHANIE: Oof. Wow. Yeah, you did make it sound [laughs] very scary. I think I've kind of been on the periphery of a situation like this before, where it's not just that we couldn't trust the code. It's that we couldn't trust the data in the database either to tell us how things work, you know, for our users and should work from a product perspective. And I was on a previous client project where they had to, yeah, like, hire a bunch of people to go through that data and kind of make those determinations, like you said, to kind of figure out it out for, you know, all of these customers to determine the source of truth there. And it did not sound like an easy feat at all, right? That's so much time and investment that you have to put into that once you get to that point. JOËL: And there's a little bit of, like, different problems at different layers. You know, at the database layer, generally, you want all of that data to be really in a sort of single source of truth. Sometimes that makes it annoying to query because you've got to do all these joins. And so, there are various denormalization strategies that you can use to make that. Or sometimes it's a risk you're going to take. You're going to say, "Look, this table is not going to be totally normalized. There's going to be some amount of duplication, and we're comfortable with the risk if that comes up." Sometimes you also build layers of abstractions on top, so you might have your data sort of at rest in database tables fully normalized and separated out, but it's really clunky to query. So, you build out a database view on top of that that returns data in sort of denormalized fashion. But that's okay because you can always get your correct answer by querying the underlying tables. STEPHANIE: Wow. Okay. I have a lot of thoughts about this because I feel like database normalization, and I guess denormalization now, are skills that I am certainly not an expert at. And so, when it comes to, like, your average developer, how much do you think that people need to be thinking about this? Or what strategies do you have for, you know, a typical Rails dev in terms of how deep they should go [laughs]? JOËL: So, the classic advice is you probably want to go to, like, third to fourth normal form, usually three. There's also like 3.5 for some reason. That's also, I think, sometimes called BNF. Anyway, sort of levels of how much you normalize. Some of these things are, like, really, really basic things that Rails just builds into its defaults with that convention over configuration, so things like every table should have a primary key. And that primary key should be something that's fixed and unique. So, don't use something like combination of first name, last name as your primary key because there could be multiple people with the same name. Also, people change their names, and that's not great. But it's great that people can change their names. It's not great to rely on that as a primary key. There are things like look for repeating columns. If you've got columns in your schema with a number prefix at the end, that's probably a sign that you want to extract a table. So, I don't know, you have a movie, and you want to list the actors for a movie. If your movie table has actor 1, actor 2, actor 3, actor 4, actor 5, you know, like, all the way up to actor 20, and you're just like, "Yeah, no, we fill, like, actor 1 through N, and if there's any space left over, we just put nulls in those columns," that's a pretty big sign that, hey, why don't you instead have a, like, actor's table, and then make a, like, has many association? So, a lot of the, like, really basic normalization things, I think, are either built into Rails or built into sort of best practices around Rails. I think something that's really useful for developers to get as a sense beyond learning the actual different normal forms is think about it like DRY for your schema. Be wary of sort of multiple sources of truth for your data, and that will get you most of the way there. When you're designing sort of models and tables, oftentimes, we think of DRY more in terms of code. Do you ever think about that a little bit in terms of your tables as well? STEPHANIE: Yeah, I would say so. I think a lot of the time rather than references to another table just starting to grow on a certain model, I would usually lean towards introducing a join table there, both because it kind of encapsulates this idea that there is a connection, and it makes the space for that idea to grow if it needs to in the future. I don't know if I have really been disciplined in thinking about like, oh, you know, there should really...every time I kind of am designing my database tables, thinking about, like, there should only be one source of truth. But I think that's a really good rule of thumb to follow. And in fact, I can actually think of an example right now where we are a little bit tempted to break that rule. And you're making me reconsider [laughter] if there's another way of doing so. One thing that I have been kind of appreciative of lately is on my current client project; there's just, like, a lot of data. It's a very data-intensive and sensitive application. And so, when we introduce migrations, those PRs get tagged for review by someone over from the DevOps side, just to kind of provide some guidance around, you know, making sure that we're setting up our models to scale well. One of the things that he's been asking me on my couple of code changes I introduced was, like, when I introduced an index, like, it happened to be, like, a composite index with a couple of different columns, and the particular order of those columns mattered. And he kind of prompted me to, like, share what my use cases for this index were, just to make sure that, like, some thought went into it, right? Like, it's not so much that the way that I had done it was wrong, but just that I had, like, thought about it. And I like that as a way of kind of thinking about things at the abstraction that I need to to do my dev work day to day and then kind of mapping that to, like you were saying, those best practices around keeping things kind of performant at the database level. JOËL: I think there's a bit of a parallel world that people could really benefit from dipping a toe in, and that's sort of the typed programming world, this idea of making impossible states impossible or making illegal states unrepresentable. That in the sort of now it's not schemas of database tables or schemas of types that you're creating but trying to prevent data coming into a state where someone could plausibly construct an instance of your object or your type that would be nonsensical in the context of your app, kind of trying to lock that down. And I think a lot of the ways that people in those communities think about...in a sense, it's kind of like database normalization for developers. So, if you're not wanting to, like, dip your toe in more of the sort of database-centric world and, like, read an article from a DBA, it might be worthwhile to look at some of those worlds as well. And I think a great starting point for that is a talk by Richard Feldman called Making Impossible States Impossible. It's for the Elm language. And there are equivalents, I think, in many others as well. STEPHANIE: That's really cool that you are making that connection. I know we've kind of briefly talked about workshops in the past on the show. But if there were a workshop for, you know, that kind of database normalization for developers, I would be the first to sign up [laughs]. JOËL: Hint, hint, RailsConf idea. There's something from your original question that I think is interesting to circle back to, and that's the fact that it was awkward to work through in Ruby to do the work that you wanted to do because the tables were laid out in a certain way. And sometimes, there's certain ways that you need the tables to be in order to be sort of safe to represent data, but they're not the optimal way that we would like to interact with them at the Ruby level. And I think it's okay for not everything in Ruby to be 100% reflective of the structure of the tables underneath. ActiveRecord gives us a great pattern, but everything is kind of one-to-one. And it's okay to layer on some things on top, add some extra methods to build some, like, connections in Ruby that rely on this normalized data underneath but that make life easier for you, or they better just represent or describe the relationships that you have. STEPHANIE: 100%. I was really compelled by your idea of introducing helpers that use more descriptive adjectives for what that relationship is like. We've talked about how Rails abstracted things from the database level, you know, for our convenience, but that should not stop us from, like, leaning on that further, right? And kind of introducing our own abstractions for those connections that we see in our domain. So, I feel really inspired. I might even kind of reconsider the way I handled the original example and see what I can make of it. JOËL: And I think your original solution of doing the delegation is a great example of this as well. You want the idea that a device belongs to a company or has an association called company, and you just don't want to go through that long chain, or at least you don't want that to be visible as an implementation detail. So, in this case, you delegate it through a chain of methods in Ruby. It could also be that you have a much longer chain of tables, and maybe they don't all have associations in Rails and all that. And I think it would be totally fine as well to define a method on an object where, I don't know, a device, I don't know, has many...let's call it technicians, which is everybody who's ever touched this device or, you know, is on a log somewhere for having done maintenance. And maybe that list of technicians is not a thing you can just get through regular Rails associations. Maybe there's a whole, like, custom query underlying that, and that's okay. STEPHANIE: Yeah, as you were saying that, I was thinking about that's actually kind of, like, active models are the great spot to put those methods and that logic. And I think you've made a really good case for that. JOËL: On that note, shall we wrap up? STEPHANIE: Let's wrap up. Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeee!!!!!!!!!! AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions.
In today's episode, Jason, Chris, and Andrew, along with their guest, Irina Nazarova, CEO of Evil Martians, engage in a candid discussion that covers the intricacies of using Rails and integrating it with technologies like React, and the challenges of marketing developer-facing products. The discussion also touches on open-core business models, the relevance of Docker in current tech companies, and the future of software deployment. Also, Irina touches on a new tool from Thoughtbot called Superglue, a new open source product called Skooma, and she invites listeners to come to RailsConf and some Ruby meetups in San Francisco coming soon. Press download to hear more! Panelists:Jason CharnesChris OliverAndrew MasonGuest:Irina NazarovaSponsor:HoneybadgerLinks:Jason Charnes X/TwitterChris Oliver X/TwitterAndrew Mason X/TwitterIrina Nazarova X/TwitterEvil Martians X/TwitterEvil MartiansEvil Martians SkoomaThoughtbot SuperglueThrusterSupabase“Image processing servers benchmark”-imgproxy blogRailsConf -May 7-9, 2024Rails World-Sept 26-27, 2024RubyConf AU-April 11-12 2024Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.
In this episode, Ran Craycraft, Managing Director at Thoughtbot and I discuss consulting at Thoughtbot, the process of finding new clients, setting rates as a consultant, consulting vs becoming a full-time employee, earning a positive reputation as a consultant through thought leadership and referrals, the enduring popularity of Ruby on Rails, and work-life balance.Thoughtbot.comThoughtbot on LinkedInRan Craycraft on LinkedInSin City Ruby
In this episode of the Giant Robots Smashing Into Other Giant Robots podcast, hosts Will Larry and Victoria Guido discuss the intricacies of product design with thoughtbot's Senior Designers, Rami Taibah and Ferdia Kenny. They delve into the newly launched Product Design Sprint Kit by thoughtbot, which is designed to streamline and enhance product development. Ferdia and Rami explain how the kit aims to compress the design process into a focused five-day sprint, allowing teams to move from idea to user-tested prototype efficiently. They discuss the genesis of the kit, its components, and the rationale behind making it openly available. Towards the end of the episode, the conversation shifts towards the broader implications of design in product development, the iterative nature of design sprints, and the value of user feedback in guiding product decisions. Rami and Ferdia share real-world examples where product design sprints led to significant pivots or refinements in product strategy, emphasizing the critical role of user testing in uncovering genuine user needs versus presumed functionalities. Follow Rami Taibah on LinkedIn (https://www.linkedin.com/in/ramitaibah/). Follow Ferdia Kenny on LinkedIn (https://www.linkedin.com/in/ferdiakenny/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: WILL: This is the Giant Robots Smashing Into Other Giant Robots podcast, where we explore the design, development, and business of great products. I'm your host, Will Larry. VICTORIA: And I'm your co-host, Victoria Guido. And with us today are Rami Taibah, Senior Designer at thoughtbot, and Ferdia Kenny, Senior Designer at thoughtbot, here to talk to us about the newly released Product Design Sprint Kit from thoughtbot. Ferdia and Rami, thank you for joining us. Why don't you introduce yourselves a little bit, tell us a little bit about each of your background while we get started? FERDIA: I'm Ferdia. I'm a product designer at thoughtbot. I've been with the company for nearly three years now. I'm based in Dublin in Ireland, but I'm from the West Coast of Ireland. Happy to be on the podcast. It's my first time coming on, so that'll be a new experience. RAMI: Yeah, so I'm Rami Taibah, and I am also a senior designer at thoughtbot for nearly two years. I'm also from the West Coast, like Ferdia, but I didn't move. I'm still where I'm from [laughs]. VICTORIA: Yeah, so just to get us warmed up here, why don't you tell us something interesting going on in your lives outside of work you want to share with the group? FERDIA: For me, I'm trying to do a bit of traveling at the moment. So, one of the benefits, obviously, of working with thoughtbot is that we are a fully remote company. As long as we're kind of staying roughly within our time zones, we can kind of travel around a little bit. So, I'm actually in France at the moment and going to Spain in March. So yeah, I'll be working from a couple of different spots, which is really cool and a lot of fun. RAMI: Yeah, it's pretty cool. I always see Ferdia, like, having these meetings in, like, these different locations. Just a few months ago, you were in Italy, right? FERDIA: Yeah. Yeah [laughs], that's right, yeah. RAMI: Yeah. So, for me, well, first of all, I got a new baby, new baby girl, exactly on New Year's Day, so that's interesting, going back home every day and seeing how they evolve very quickly at this age. Another thing is I've been doing a lot of Olympic weightlifting. It's probably one of the consistent things in my life since COVID. I was a CrossFitter. I got out of that, thankfully. But coming back into, like, after quarantine, weightlifting seemed like a good choice because it doesn't have the social aspect of CrossFit, and I can just do it on my own. WILL: How is your sleep? RAMI: I'm a heavy sleeper, and I feel guilty about it, so no problems here [laughs]. WILL: Yeah, that was one thing I'm still trying to recover from–sleep. I love my sleep. And so, I know some people can do with little sleep, but I like sleep. And so, I'm just now recovering, and we're almost two years since my baby boy, so [chuckles]... RAMI: Yeah, I'm a heavy sleeper. And I tell my wife, like, we have this understanding, like, if you ever need anything from me besides...because she has to be up for, like, breastfeeding, just kick me. I'll wake up. I'll do whatever you need [laughs]. WILL: That's awesome. VICTORIA: So, my understanding is that if you want to get better at any sport, if you get better at deadlifting, that will help you progress in your sport pretty much. That's my [laughs] understanding. I don't know if you all feel that way as well. RAMI: Oh, I never heard that. But I do know that these three, like, three or four basic lifts just basically boosts you in everything else, like, deadlifts, back squats. And what was the third one? Bench press, I guess. FERDIA: And pull-ups as well, I think, is a compound exercise. I just hate like this. I look for an excuse to skip them, so...[chuckles] VICTORIA: Yeah, the four essential exercises, but it doesn't mean that they're fun, right? FERDIA: [chuckles] VICTORIA: Yeah. And then, Will, I heard you were also training for a new activity, the 5k. WILL: Yeah, I'm going to run a 5k with my best friend. He's coming into town. So, I'm excited about it. I've always tried to do running, but my form was horrible, and I'll get injured, tried to do too much. And I think I finally figured it out, taking it slow, stretching, making sure my form is correct. So, it's been good. I've enjoyed it. And it's interesting looking at what I'm doing now versus when I first started. And I was like, whoa, like, when I first started, I couldn't even run a mile, and I'd be out of breath and dying and just like, ah, and then now it's like, oh, okay, now I'm recovered, and I can walk it off. So, one thing it's taught me is just consistent, being consistent because I feel like with working out and running, you have this, like, two-week period that it's just hard. Everything hurts. Your body is aching. But then after that, your body is like, okay, you're serious. Okay, then, like, I can adjust and do that. And then once you get over that two weeks, it's like, oh, okay, like, still, like, sometimes I still push it and get sore, but for the most part, my body is like, okay, I get it. Let's do this. And then now, compared to before, now I'm just like, I can't stop because I don't want to go back through that two weeks of pain that I started at, at the very beginning. So, yeah, it's been a very good journey. I don't know how far I'm going to go with it. I don't know if I'm going to go a full marathon or a half marathon. I will increase it and do multiple races, but yeah, I don't know how far I'm going to go with it. VICTORIA: Well, it's interesting. It reminds me how, like, anytime you do something new, you're forming new neural pathways in your brain, then you can get in a routine, and it becomes easier and easier every time you do it. So, I'm going to try to relate this back to our Product Design Sprint Kit. It's like a set of exercises you can learn how to do that might be difficult at first, but then it becomes a part of the way that you work and how you build products, right? So, why don't you tell me a little bit about it? Like, what is it? What is the product design kit that you just came out with? FERDIA: The PDS kit or the Product Design Sprint Kit it was something that I'd kind of been playing around with in investment time for a while, and then spoke to Rami about it a couple of months ago, and he got on board. And it really accelerated what we were doing. And it was basically, like, a product design sprint is a known process in design and product design and product development. I think it was started by Google. And, essentially, the concept is that you can take an idea that you have for something new and, in five days, go from that idea to creating something that can be user tested, and so getting real kind of validated feedback on your idea. Yeah, so try to do it in a compressed timeframe. That's why it's called a sprint. So, you're trying to do it within five days. And the concept for kind of creating a kit that we could share to people beyond thoughtbot was that we tend to repeat a lot of the same instructions in each sprint, so we're running very similar exercises. The outcomes are slightly different, obviously, depending on the customer, but the exercises themselves are pretty similar. So, the [inaudible 06:42] kind of when we're talking to the customer are often very much the same. And we just thought that we get a lot of inquiries from start-ups, I think probably maybe even more so in Europe, before they're funded and looking kind of for the first step. Like, what can they do? So, a lot of them, if they're not in a position to, say, pay for some of our design team to come on with them and run a sprint with them, we thought it'd be cool to be able to give them, well, you know, this is something free that you can run yourself with your team and will kind of get you on the ladder. It will hopefully give you something that you can then take to an investor or somebody that could potentially fund a kind of bigger sprint or maybe even an MVP build. WILL: Let me ask you this: Why is design so important? So, if I'm a developer, or a CTO, or a CEO of whatever, why should I be an advocate for design? RAMI: Well, over here at thoughtbot, we do a lot of iterative design. I think that's a key factor that we should take into consideration. With iterative design, it's the idea of designing something based on a validation or based on a user and doing it quickly and testing it to get feedback from the user or from the market and adjust from there, instead of just designing something in, like, a silo and releasing it after six months and then discovering that you went off course four months ago. And that will cost you a lot of time, a lot of money, a lot of agony, I guess [laughs]. And it just generally will become a very frustrating process. I've seen clients before thoughtbot where they come in and they've been working on this thing for six months, and they're just not releasing and pushing the release for month on month just because the CEO does not feel like it's at par with what he's using on, like, everyday apps. And he's, like, looking at, oh, I want to look like Instagram, or feel like Instagram, or feel like whatever they like when, in reality, products don't evolve that way. And Instagram has already, I don't know, 12 years of development and design behind it. And you can't possibly expect your app that you're launching for your startup to feel the same, look the same, and all that stuff. That's why design is important. So, you just discover early on that you are on the right path and always correcting course with different design techniques, including the PDS. FERDIA: What you're talking about there just de-risks a lot of stuff for people when they're trying to create something new. You could have the, you know, a really, really impressive product under the hood that can do a lot of really technical stuff. But if it's very hard to use, or if it's very hard to kind of tap into that magic that you've built on the development side, people just won't use it, and you won't be able to generate the revenue you want. So yeah, the user experience and kind of the design around that is really important to get people actually using your product. VICTORIA: Yeah, I can relate to what you all have said. I've talked with founders before, who they maybe have a lot of experience in the industry and the problem that they are trying to solve. They think I know what it should look like. I just need developers to build it. But the activities you described about the product design sprint and creating something where you can go out and test that theory, and then incorporate that feedback into your product, and doing it within five days, it seems like a really powerful tool to be able to get you on the right path and avoid hundreds of thousands of dollars of development spend, right? FERDIA: Yeah, 100%, yeah. And, like, a typical outcome for a product design sprint will never be a fully polished, like, perfect design. That's just...it's not realistic. But what you will hopefully have by the end of that five days is you will know, okay, these are, like, five or six things that we're doing right, and these are things we should keep going with. And maybe here are three or four things that we thought users would like, or potential customers would like, and we are actually wrong about those. So, we need to change those things and maybe focus on something else. So, as Rami said, design is an iterative process that is like your first iteration. But getting that feedback is so helpful because, as Rami said, if you spend six months developing something and figure out that 4 of the ten things that you built weren't needed or were wrong, or customers just didn't want them, that's a really, really expensive exercise. So, a design sprint, kind of if you're to do them on a continuous basis or every couple of months, can be a really helpful way to check in with users to make sure what you're committing your resources to is actually going to benefit them in the long run. RAMI: Yeah. And I would also like to add, like, one of the outputs of a design sprint is a prototype. To me, I'm always like, seeing is believing. It's just better to have a prototype as a communication tool within the team with clients, with customers, with users, instead of having, like, a document or even just wireframes. It just doesn't really deliver what you're trying to do, like a prototype. FERDIA: Yeah, 100%, Rami. And, like, on the prototype, like, a good comparison that people, if they're not in product development, might have seen it's like if you're building a house, like yourself, Victoria, a lot of architects will give you two-dimensional plans. And for people that aren't in the building industry, plans can be difficult to read or difficult to visualize what those actually look like. But if you can give someone a 3D representation of the house, you know, they can see, oh yeah, this is what it's going to kind of look like and what it's going to feel like. And the prototype that Rami is talking about gives you exactly that. So, it's not just this is our idea; it's, this is actually what the thing could look like, and what do you think of that? So yeah, it's definitely a valuable output. VICTORIA: We're having this debate about whether or not we need a designer for our renovation project. And I'm very much pro [laughs] designer. And maybe that's from my background and being in software development and, like, let's get an expert in here, and they will help us figure it out [laughs], and then we'll make less mistakes and less expensive mistakes going forward. So, I think there's a lot of analogies there. So, this product design sprint is a service that we offer at thoughtbot as well, right? We do workshops and meetings together with the client, and you all have this idea to record the videos and put all the content out there for free. So, I'm curious how that conversation went within management at thoughtbot and how did the idea really get started and get some traction going. FERDIA: The benefit of the Product Design Sprint Kit what you get out of it won't replace, say, doing a product design sprint with thoughtbot because you will have expert product designers or developers in the room with you to kind of share their ideas and their experience. So, the output you're going to get from running a sprint with thoughtbot will be more beneficial, definitely. But what we were trying to, I suppose, cater for was people that fall in the gap, that they're not quite ready to bring thoughtbot on board, or they don't have enough funding to bring thoughtbot on board to do a product design sprint, or a longer discovery sprint, or something like that. But we want to be able to give those people in kind of the software community something actionable that they can actually take and use. So, the first three days, I think, of the Product Design Sprint Kit will be really, really valuable to people. It'll really help them identify the problem that they're trying to solve and then to come up with a lot of different solutions and to try to pick one of those. And probably where it's going to be a bit more challenging if you don't have experience in design or in development will be around the prototype, which Rami had spoken about. You can kind of do some offline things, and there are ways to test things without, say, a high-fidelity prototype, but those high-fidelity prototypes, again, are something that could be helpful. But thoughtbot has always had an approach of kind of giving stuff for free to the community, either open source or just letting people, yeah, letting people learn from our resources and from what we know. And so, yeah, this is just a way to, hopefully, cater to people that we currently can't work with for a variety of reasons but that this is something that they could maybe use in the meantime. MID-ROLL AD: Are you an entrepreneur or start-up founder looking to gain confidence in the way forward for your idea? At thoughtbot, we know you're tight on time and investment, which is why we've created targeted 1-hour remote workshops to help you develop a concrete plan for your product's next steps. Over four interactive sessions, we work with you on research, product design sprint, critical path, and presentation prep so that you and your team are better equipped with the skills and knowledge for success. Find out how we can help you move the needle at tbot.io/entrepreneurs. WILL: So, can you break down...you said it's five days. Can you break down what is walking you through, like, each day? And, like, what experience do I have? Because I know, I've tried to get in Figma sometimes, and it's not easy. It's a pain at times. You're trying to maneuver and stuff like that. So, what do I have to do? Like, do you show me how Figma? Do you give me a template with Figma? Like, how do you help me with those things? And I know Miro and those things. So, like, walk me through each step of the sprint. RAMI: Yeah, well, I mean, Figma and Miro are just tools that just became popular, I guess, after COVID. Design sprints used to be physical, in the same room as sprints. You would get the clients or the stakeholders in a room and do all that stuff. But Figma, FigJam, and, you know, kind of...I don't know if this was part of their, like, product thinking, but it kind of allowed doing full-on design sprints in their tools. So, the first step or the first day would be, like, the understanding day where basically we gather information about the product, the users, what's out there, and just come up with a general plan on how to go forward. And the second day would be divergent where we just look at what's out there and come up with these crazy ideas, kind of, like, a brainstorming thing but in a more inclusive, I guess, way and in a more organized way. So, you don't have people shouting over each other. Like, being anonymous also is important on this day, so nobody really knows what you're doing or saying. It's just ideas to remove bias. Then, we'd have a converge day where we take all these ideas and consolidate them, which will be an input into the prototype phase. And the last day is the test phase. I mean, each of these days you can talk...have a full podcast. VICTORIA: I'm curious about when you're testing and when you're, like, I'll say thoughtbot is a global company, right? And so, there's lots of different types of users and groups that you might be wanting to use your app. I'm thinking, you know, sometimes, in particular, some of the applications I've been looking at are targeting people who maybe they don't have an iPhone. They maybe have lower income or less means and access to get products and services. So, how does your design sprint talk to designing for different types of communities? FERDIA: I think that's a great question, Victoria. I would say the first thing on it is that we'd often get a lot of people with a startup idea, and they would come in and say, "You know, this app could be used by everybody. So, like, we have kind of no beachhead market or no target market. Like, this would be great for the whole world." That's a very nice thought to have if it is something that could potentially be used by everyone. But we would generally say you should pick a smaller niche to try to establish yourself in first and hit a home run basically with that niche first, and then kind of grow from there. We would normally say to people as, like, again, this is going back to what Rami said about the iterative process. If at the end of the five days, you've picked the wrong beachhead market and it doesn't hit home with them, that's fine. You can just do another sprint next week or next month on a different kind of subsection of the market. So, I think picking a fairly niche sector of the market is a good starting point. You then run your product design sprint with that niche in mind and try to talk to five users from that. And, generally, we say five because, generally, if you have less than or fewer than five people contributing, you probably won't get enough data. You know that you could...if you only test with two people, you probably wouldn't get a thorough enough data set. And then, normally, once you go over five, you kind of start seeing the patterns repeating themselves. You get kind of diminishing returns, I guess, after five. So, that would generally be the approach. Try to identify your beachhead market, the one you want to go into first, and then you will try to talk to five people generally from the founding team's network that match the criteria of that beachhead market. And, in some ways, just the final point, I guess, is the fact that you have to pull them from your network is actually beneficial to kind of make you narrow down and pick a niche market that's accessible to you because you know people in it. RAMI: And maybe if you don't know anybody, then maybe you're in the wrong industry. FERDIA: Yeah. Great point. Great point because, yeah, it makes it a lot easier. It's nice to have loads of industries that you could go into, but it makes it so much easier if the founding team have contacts in an industry. Yeah, it makes a big difference. WILL: Yeah, I was going through the different days and kind of what you were talking about. So, like, one day is brainstorming, then converge, and then prototyping, and user testing kind of on that last day. It seems like it's completely laid out. Like, you're giving away all the keys except experience from the actual designer. It seems like it's all laid out. Was that the goal to, like, really have them fully laid out? Hey, you can do this from point A to point B, and this is what it looks like. Is that something that you're...because that's what it looks like as my experience with designers and stuff. And if that's the case, what was your reasoning behind that, to give it away? For someone, like you said, like a startup they can do this because you pretty much laid it all out. I'm not a designer, and I don't claim to, but it looks like I can do this from what you laid out. RAMI: Well, first of all, like, at thoughtbot, we're really big into open source, and open source is not always just development. It can be these kinds of things, right? It's not a trade secret. It's not something we came up with. We maybe evolved it a little bit from Google, I think it was Google Ventures, but we just evolved it. And, at the end of the day, it's something that anybody can do. But, actually, taking the output from it is something that we do as thoughtbot. Like, okay, you have a prototype. That's great. You tested it, but okay, now we want to make it happen. If you can make it happen, then great, but the reality is that a lot of people can't, and that's why there are, like, a gazillion agencies out there that do these things. So, the reasoning, I guess, and Ferdia can expand on, is, like, if somebody takes this and comes up with a great prototype and feels confident that they actually want to develop this idea, who else would be better than thoughtbot who actually gave them the keys to everything? FERDIA: Yeah, 100%, Rami. Yeah, it's essentially just helping people get on the first rung of the product development ladder with fewer barriers to entry, so you don't have to have a couple of thousand dollars saved up to run a sprint. This kind of gives you a really, really low entry point. And I guess there's another use case for it where you would often have potentially founders or even companies that want to release a new product or feature. And they might reach out to thoughtbot because they want to develop something, and they're very sure that this is what we want to develop. And, you know, maybe they don't want to engage with a product design sprint or something like that if they think they know their market well enough. And this could be a handy tool just to say to them, "Okay, if you can go away, take this free resource for a week, run a product design sprint with your team, and come back to us and tell us that nothing has changed, you know that you've correctly identified the right market and that you've validated your theories with them," then we can kind of jump into development from there. But yeah, it can be a good way, I suppose, to show the value of doing a product design sprint. As I said, a lot of people come in, and they have great ideas, and they can be fairly certain that this is going to work. But a product design sprint is really, really valuable to validate those before you dive into building. VICTORIA: And can you give us an example from your experience of a client who went through a product design sprint and decided to pivot maybe their main idea and go in a different direction? FERDIA: I'm not sure off the top of my head, Victoria, if I can pick one that pivoted in a completely different direction, but definitely, like, some of the clients that we worked with on the Fusion team in thoughtbot ended up changing direction or changing the customer that they were going after. So, some people might have had an idea in their head of who they wanted to tackle and might have had a particular, say, feature prioritized for that person. And through the product design sprint, we were able to validate that, actually, this feature is not that important. This other feature is more important, and it's more important to a different group than kind of what you initially thought. That would happen fairly regularly on a product design sprint. Like, I think if you look at the potential outcomes, one being that everything's exactly as you thought it was and you can proceed as planned, or the opposite end of the spectrum where nothing is as you thought it was and, you know, you kind of have to go back to the drawing board, it's very rare that you're on either end of those after a product design sprint. Most of the time, you're somewhere in the middle. You've changed a few things, and you're able to keep a few things, and that's kind of normally where they land. So, I would say nearly every customer that we've done a product design sprint with has changed some things, but never kind of gone back to the drawing board and started from scratch. RAMI: It's usually prioritization and just understanding what to do and also, like, get into the details of how to do it. That's where the value comes in. But, like, completely pivoting from a food delivery app to, I don't know, NFTs [laughs] never really happened. VICTORIA: Yeah, and it doesn't have to necessarily be a big pivot but looking for, like, a real-world example, like, maybe you're building an e-commerce site for a plant marketplace or something like that. RAMI: Yeah. Well, we had a self-help app where they already had the app in the market. It was a progressive web app, and they were really keen on improving this mood tracker feature. But then we did a product design sprint, and they had a bunch of other features, and that exercise kind of reprioritized. And the mood tracker ended up not being released in the first version of the actual mobile app because we were also developing a native app. VICTORIA: Gotcha. So, they were pretty convinced that this was an important feature that people wanted to track their mood in their app. And then, when they went through and tested it, users were actually like, "There's this other feature that's more important to me." FERDIA: One example of another client that we did, which was a kind of a wellness app, they wanted it to feel like a friend in your pocket. So, they were looking at ways to integrate with WhatsApp that you'd get notifications via WhatsApp. So, they would kind of be, like, friendly messages to people as if it's your friend, you know, texting you to check in. And that was kind of an idea going into it, and users did not like that at all. Like, they really didn't like that. So, we ditched that [inaudible 25:49] completely. But, again, that could have been something that they would have spent a long time developing to try to implement, and then to have users say this would have been a very, very costly waste of time. So, we figured that out in a few days, which was a money saver for the team. VICTORIA: And it must be pretty emotional to have that feedback, right? Like, it's better to get it early on so that you don't invest all the money and time into it. But as a founder, I'm sure you're so passionate about your ideas, and you really think you have the answers from your experience, most likely. So, I'm curious if there's any kind of emotional management you do with clients during this product design sprint. FERDIA: I think it definitely is. I think people, as I said, often come in with very strong opinions of what they feel will work. And it might even be a product that they specifically want, or they might be one of those potential users. And I actually think, say, engaging an agency like thoughtbot to design something like that, if we felt that they were going down the wrong path, that could be actually quite difficult to do. But because of product design sprints, you are user-testing it. The founders are hearing this feedback from the horse's mouth, so to speak. They're hearing it directly from potential customers. So, it's a lot more black and white. Now, sometimes, it might still be a case that a founder then doesn't want to proceed with that idea if it's not kind of going to be the way that they wanted it to be, and that's fair enough as well. But the feedback, as I said, it tends not to be that the idea is completely scrapped. It just means that you move a couple of things around. As Rami said, you deprioritize some things and prioritize other things for the first version, and that tends to be the outcome of it. VICTORIA: Are the users always right, or is it sometimes you can have an idea that persist, despite the early feedback from users? RAMI: Interesting question. Like, I see the parallels you're doing with the customer is always right, yeah. But the thing is, like, that's just my opinion, I think. We tested with users, and we kind of observe how they react to it and how they use the prototype. So, it's not like an opinion session or, like, a focus group where they're actually giving...a user can say something and do something else or react in a different way. But yeah, it's a fine line, I think. But I would be really surprised if ten users would agree on something and say something, and their behavior also would reflect that, and we won't pick up on. VICTORIA: Yes, I like the distinction you're making between what they say and then what the behavior shows, right? FERDIA: I think something important there as well, like you'll often hear it in design communities, is that you should listen to the feedback from customers but maybe not the solutions that they're proposing. Because, at the end of the day, like, thoughtbot have experts in product design and product development, so we want to figure out from the user's perspective what they want to achieve and maybe what their problems are, but not necessarily take into account or just, I suppose, not necessarily just follow exactly what they say the solution should be. You're kind of looking for the problems and the things that they're struggling with. You're trying to pick those up rather than just to do the solution that the customer is telling you. And you'll see that in a lot of startups as well that, you know, it's the famous Henry Ford quote about, you know, "If I'd listened to my customers, I'd have designed a faster horse." Sometimes, you need to listen to the problem, and the problem is getting from A to B faster, and then you come up with a solution for that rather than the solution that's been recommended to you. WILL: I want to pivot a little bit and ask you both, why did you get into design? FERDIA: I actually did architecture in university, and there were aspects of that I liked. Funnily enough, it's a fairly similar process to designing for software, and then it's an iterative approach. You're given a brief and yet you kind of take a concept forward. But then, when you apply for planning, you have to make changes. And when you kind of put [inaudible 29:41], you make changes. So, you're constantly, I suppose, designing iteratively. And then I got into startups and was kind of wearing a lot of different hats in that startup sort of world. But the product was the one area that always kind of got me excited. So, you know, if you tried to make a sale with a particular customer and they didn't want to go over something, like, coming home and trying to figure out, okay, how can I fix that problem with the product so that next time when I go to a customer, and they'll say, "Yes"? That was kind of what always gave me the adrenaline. So yeah, comparatively, between architecture and software, the turnaround times in software is so much faster that I think it's more enjoyable than architecture. You kind of can really see progress. Product design sprint in five days. You can kind of take something a long way whereas designing a building is a bit slower, but it's always kind of been some area of interest. Well, what about you, Rami? RAMI: Well, I wanted to become a hacker, but I ended up to be a designer [laughs]. No, really, when, like, in middle school, I really wanted to be a hacker and kept looking up what is it. Like, I see it in all these movies really cool, and I wanted to understand, like, how it's done online. And I saw, like, everybody is talking about this weird, little thing called command line. And it turns out, like, all these hacking, quote, unquote, "hacking tutorials" were done on Linux. So, I started looking into Linux and got into Linux. From there, I started blogging about Linux, and then I just really got into technology. I was in marketing. By then, I was a marketing major. So, that got me into blogging into, like, Linux and open source, which kind of triggered in my head, okay, I need to maybe pivot to a different career path. So, I did a master's degree in information management. Over there, I stumbled into design. The information management school that I was in, like, it was an interdisciplinary school at, like, design, coding, and business all mixed in. So, I stumbled in design there. VICTORIA: That's how you all got started. And now you've put this product out there pretty recently. I'm curious if you have thought about how you would measure the success of this effort. So, how do you know that what you put out there in the product designs kit is helping people or achieving the goals that you had originally set out to? FERDIA: Initially, Victoria, we obviously like to see the view counts going up on YouTube, and we're always open to feedback. So, like, at the end of each video and in the resources and stuff, we've got contact us kind of links and stuff. So, if people have feedback on how we could make it better or more useful, that would be really, really welcome. So, do feel free to reach out to us. And kind of the ultimate success metric for us would be to have somebody come to us in future and say, "Oh, we used that Product Design Sprint Kit that you produced before, and we either got funding or, you know, we got so much value out of it that we'd like to do a full product design sprint or an MVP build, or something like that." And the equivalent that we would kind of have a lot of in thoughtbot would be, say, gems in development where we would get people reaching out and say, "We use that gem all the time. We know about thoughtbot because of that." That kind of is a way to establish trust with potential customers. So, we're hoping that this is somewhat of an equivalent on the design side. WILL: Oh, it's been great chatting with both of you about design and what you came up with this. I really like it. I'm going to look more into it. VICTORIA: Yes. Thank you both for joining us. And I had one question. So, the sprint is the short-term. What would be, like, a product design marathon? Like, what's [chuckles] the big picture for people who are building products? Maybe that's a silly question, but... RAMI: No, it's not, I mean, but I would guess it's actually building the product and having a successful product in the market and iterate over it for years and years. VICTORIA: Yeah. So, it's a one-week sprint, and you could do it over and over again for many years just to fine-tune and really make sure that your product is meeting the needs of the people you were hoping to reach. Wonderful. All right. Well, thank you both so much for joining us. WILL: You can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have questions or comments, email us at hosts@giantrobots.fm. You can find me on Twitter @will23larry. VICTORIA: And you can find me on Twitter @victori_ousg. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Thanks for listening. See you next time. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions.
Robby has a chat with the Software Development Team Lead at Thoughtbot, Jeanine Soterwood. Unraveling the intricacies of Ruby on Rails, they explore the often overlooked importance of keeping apps up-to-date and maintaining a robust test suite. The conversation weaves through the delicate balance between enticing features and the long-term needs of software maintenance, shedding light on the aspects clients may not find thrilling.Drawing from their experiences in the consulting realm, Robby and Jeanine share valuable insights on being a commendable guest in another team's code base. From deciphering a client's process and team culture to navigating the challenge of conveying that software is an ever-evolving entity, the episode unfolds with practical tips. The duo advocates for proposing experiments over permanent decisions, emphasizing the art of gaining buy-in. Additionally, they tackle the nuances of pairing with junior developers and unravel Jeanine's journey of embracing non-DRY tests. Wrapping up with a deep dive into managing a technical debt backlog and Jeanine's impactful work on Ruby for Good projects, this episode will be a treasure trove for any software engineer who is navigating the elusive path of effective project maintenance.Book Recommendations:A Little Life by Hanya YanagiharaHelpful Links:Jeanine on LinkedInThougthbotThe Case for WET TestsThanks to Our Sponsor!Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and soon, other frameworks. It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications. Keep your coding cool and error-free, one line at a time! Check them out! Subscribe to Maintainable on:Apple PodcastsOvercastSpotifyOr search "Maintainable" wherever you stream your podcasts.Keep up to date with the Maintainable Podcast by joining the newsletter.
If you missed the other episodes with thoughtbot Incubator Program partcipants and founders Mike Rosenthal and Chris Cerrito of Goodz, you can listen to the first episode (https://podcast.thoughtbot.com/s3e2incubatorgoodz) and the second episode (https://podcast.thoughtbot.com/s3e4incubatorgoodz), and the third episode (https://podcast.thoughtbot.com/s3e6incubatorgoodz) to catch up! Lindsey Christensen and Jordyn Bonds catch up with the co-founders of Goodz, Chris Cerrito and Mike Rosenthal, where they share insights from their journey during the Incubator program, including the usefulness of the application process in aligning their vision and the challenges and benefits of user interviews and the importance of not overreacting to single user feedback and finding a balance in responding to diverse opinions. They reveal the varied reactions of users to Goodz's product, highlighting the different market segments interested in it. As the Incubator program nears its end for Goodz, Chris and Mike reflect on their achievements and future plans. They've made significant progress, such as setting up an e-commerce site and conducting successful user interviews. The co-founders discuss their excitement about the potential of their product and the validation they received from users. Mike mentions the importance of focusing on B2B sales and the possibility of upcoming events like South by Southwest and Record Store Day. Transcript: LINDSEY: Thanks for being here. My name's Lindsey. I head up marketing at thoughtbot. If you haven't joined one of these before, we are checking in with two of the founders who are going through the thoughtbot Startup Incubator to learn how it's going, what's new, what challenges they're hitting, and what they're learning along the way. If you're not familiar with thoughtbot, we're a product design and development consultancy, and we hope your team and your product become a success. And one way we do that is through our startup incubator. So, today, we are joined by our co-founders, Mike Rosenthal and Chris Cerrito, Co-Founders of the startup Goodz. And we also have another special guest today, Danny Kim, from the thoughtbot side, Senior Product Manager at thoughtbot. So, I think, to start off, we'll head over to the new face, the new voice that we've got with us today. Danny, tell us a little bit about your role at thoughtbot and, specifically, the incubator. DANNY: Yeah, sure. First of all, thanks for having me on, and thanks for letting me join in on all the fun. I'm one of the product managers at thoughtbot. I typically work for the Lift-Off team. We usually work with companies that are looking to, like, go into market with their first version MVP. They might have a product that exists and that they're already kind of doing well with, and they kind of want to jump into a new segment. We'll typically work with companies like that to kind of get them kicked off the ground. But it's been really awesome being part of the incubator program. It's my first time in helping with the market validation side. Definitely also, like, learning a lot from this experience [laughs] for myself. Coming at it specifically from a PM perspective, there's, like, so much variation usually in product management across the industry, depending on, like, what stage of the product that you're working in. And so, I'm definitely feeling my fair share of impostor syndrome here. But it's been really fun to stretch my brand and, like, approach problems from, like, a completely different perspective and also using different tools. But, you know, working with Mike and Chris makes it so much easier because they really make it feel like you're part of their team, and so that definitely goes a long way. LINDSEY: It just goes to show everyone gets impostor syndrome sometimes [laughter], even senior product managers at thoughtbot [laughter]. Thanks for that intro. It's, you know, the thoughtbot team learns along the way, too, you know, especially if usually you're focused on a different stage of product development. Mike, it's been only three weeks or a very long three weeks since last we checked in with you, kind of forever in startup time. So, I think the last time, we were just getting to know you two. And you were walking us through the concept, this merging of the digital and physical world of music, and how we interact with music keepsakes or merchandise. How's my pitch? MIKE: Good. Great. You're killing it. [laughter] LINDSEY: And has anything major changed to that concept in the last three weeks? MIKE: No. I mean, I can't believe it's only been three weeks. It feels like it's been a long time since we last talked. It's been an intense three weeks, for sure. No, it's been going really well. I mean, we launched all sorts of stuff. I'm trying to think of anything that's sort of fundamentally changed in terms of the plan itself or kind of our, yeah, what we've been working on. And I think we've pretty much stayed the course to sort of get to where we are now. But it's been really intensive. I think also having sort of Thanksgiving in there, and we were kind of pushing to get something live right before the Thanksgiving break. And so, that week just felt, I mean, I was just dead by, you know, like, Thursday of Thanksgiving. I think we all were. So, it's been intense, I would say, is the short answer. And I'm happy, yeah, to get into kind of where things are at. But big picture, it's been an intense three weeks. LINDSEY: That's cool. And when we talked, you were, you know, definitely getting into research and user interviews. Have those influenced any, you know, changes along the way in the plan? MIKE: Yeah. They've been really helpful. You know, we'd never really done that before in any of the sort of past projects that we've worked on together. And so, I think just being able to, you know, read through some of those scripts and then sit through some of the interviews and just kind of hearing people's honest assessment of some things has been really interesting. I'm trying to think if it's materially affected anything. I guess, you know, at first, we were, like, we kind of had some assumptions around, okay, let's try to find, like...adult gift-givers sounds like the wrong thing, adults who give gifts as, like, a persona. The idea that, like, you know, maybe you gift your siblings gifts, and then maybe this could be a good gift idea. And I think, you know, we had a hard time kind of finding people to talk in an interesting way about that. And I think we've kind of realized it's kind of a hard persona to kind of chop up and talk about, right, Chris? I don't know [crosstalk 04:55] CHRIS: Well, it also seemed to, from my understanding of it, it seemed to, like, genuinely stress out the people who were being interviewed... MIKE: [laughs] CHRIS: Because it's kind of about a stressful topic [inaudible 05:03], you know, and, like, especially -- LINDSEY: Why? [laughs] CHRIS: Well, I think, I don't know, now I'm making assumptions. Maybe because we're close to the holiday season, and that's a topic in the back of everybody's mind. But yeah, Danny, would you disagree with that? Those folks, from what we heard, seemed like they were the most difficult to kind of extract answers from. But then, if the subject changed and we treated them as a different persona, several of those interviews proved to be quite fruitful. So, it's just really interesting. DANNY: Yeah. It really started, like, you kind of try to get some answers out of people, and there's, like, some level of people trying to please you to some extent. That's just, like, naturally, how it starts. And you just, like, keep trying to drill into the answers. And you just keep asking people like, "So, what kind of gifts do you give?" And they're just like, "Oh my goodness, like, I haven't thought about buying gifts for my sister in [laughs], like, you know, in forever. And now, like [laughs], I don't know where to go." And they get, like, pretty stressed out about it. But then we just kind of started shifting into like, "All right, cool, never mind about that. Like, do you like listening to music?" And they're like, "Yes." And then it just kind of explodes from there. And they're like, "This last concert that I went to..." and all of this stuff. And it was much more fruitful kind of leaning more towards that, actually, yeah. LINDSEY: That's fascinating. I guess that speaks to, especially at this stage and the speed and the amount of interviews you're doing, the need for being, like, really agile in those interviews, and then, like, really quickly applying what you're learning to making the next one even more valuable. MIKE: Yeah. And I think, you know, like, we launched just a little sort of website experiment or, like, an e-commerce experiment right before Thanksgiving. And I think now, you know, we're able to sort of take some of those learnings from those interviews and apply them to both sort of our ad copy itself but also just different landing pages in different language on the different kind of versions of the site and see if we can find some resonance with some of these audience groups. So, it's been interesting. LINDSEY: Are you still trying to figure out who that early adopter audience is, who that niche persona is? MIKE: I think we -- CHRIS: Yes, we are. I think we have a good idea of who it is. And I think right now we're just trying to figure out really how to reach those people. That, I think, is the biggest challenge right now for us. MIKE: Yeah. With the e-commerce experiment it was sort of a very specific niche thing that is a little bit adjacent to what I think we want to be doing longer term with Goodz. And so, it's weird. It's like, we're in a place we're like, oh, we really want to find the people that want this thing. But also, this thing isn't necessarily the thing that we think we're going to make longer term, so let's not worry too hard about finding them. You know what I mean? It's been an interesting sort of back and forth with that. CHRIS: From the interviews that we conducted, you know, we identified three key personas. Most of them have come up, but I'll just relist them. There's the sibling gift giver. There was the merch buyers; these are people who go to concerts and buy merchandise, you know, T-shirts, albums, records, things along those lines to support the artists that they love. And then the final one that was identified we gave the title of the 'Proud Playlister'. And these are people who are really into their digital media platforms, love making playlists, and love sharing those playlists with their friends. And that, I would say, the proud playlister is really the one that we have focused on in terms of the storefront that we launched, like, the product is pretty much specifically for them. But the lessons that we're learning while making this product and trying to get this into the hands of the proud playlisters will feed into kind of the merch buyers. MIKE: Yeah. And I think that, you know, it's funny, like, this week is kind of a poignant week for this, right? Because it's the week that Spotify Wrapped launched, right? So, it's like, in the course of any given year, it's probably, like, the one week of the year that lots and lots and lots of people are thinking about playlists all of a sudden, so trying a little bit to see if we can ride that wave or just kind of dovetail with that a bit, too. LINDSEY: Absolutely. And do you want to give just, like, the really quick reminder of what the product experience is like? MIKE: Oh yeah [laughs], good call. CHRIS: This is a prototype of it. It's called the Goodz Mixtape. Basically, the idea is that you purchase one of these from us. You give us a playlist URL. We program that URL onto the NFC chip that's embedded in the Good itself. And then when you scan this Good, that playlist will come up. So, it's a really great way of you make a playlist for somebody, and you want to gift it to them; this is a great way to do that. You have a special playlist, maybe between you and a friend or you and a partner. This is a good way to commemorate that playlist, turn it into a physical thing, give that digital file value and presence in the physical world. LINDSEY: Great. Okay, so you casually mentioned this launch of an e-commerce store that happened last week. MIKE: It didn't feel casual. LINDSEY: Yeah. Why [laughter]...[inaudible 09:45] real casual. Why did you launch it? How's it going? MIKE: I don't know. Why did we launch it? I mean, well, we wanted to be able to test some assumptions. I think, you know, we wanted to get the brand out there a little bit, get our website out there, kind of introduce the concept. You know, this is a very...not that we've invented this product category, but it is a pretty obscure product category, right? And so, there's a lot of sort of consumer education that I think that has to go on for people to wrap their heads around this and why they'd want this. So, I think we wanted to start that process a little bit correctly, sort of in advance of a larger launch next year, and see if we could find some early community around this. You know, if we can find those core people who just absolutely love this, and connect with it, and go wild around it, then those are the people that we're going to be able to get a ton of information from and build for that persona, right? It's like, cool, these are the people who love this. Let's build more for them and go find other people like this. So, I think, for us, it was that. And then, honestly, it was also just, you know, let's test our manufacturing and fulfillment and logistics capabilities, right? I mean, this is...as much as we are a B2B, you know, SaaS platform or that's what we envision the future of Goodz being, there is a physical component of this. And, you know, we do have that part basically done at this point. But we just, you know, what is it like to order 1,000 of these? What is it like to put these in the mail to people and, you know, actually take orders? And just some of that processing because we do envision a more wholesale future where we're doing, you know, thousands or tens of thousands of this at a time. And so, I think we just want to button up and do some dry runs before we get to those kinds of numbers. CHRIS: I think it also it's important to remember that we are talking in startup time. And while this last week seems like an eternity, it's been a week [laughs] that we've had this in place. So, we're just starting to learn these things, and we plan on continuing to do so. MIKE: Yeah. But I think we thought that getting a website up would be a good way to just start kind of testing everything more. LINDSEY: Great. Danny, what went into deciding what would be in this first version of the site and the e-commerce offering? DANNY: I mean, a lot of it was kind of mostly driven by Chris and Mike. They kind of had a vision and an idea of what they wanted to sell. Obviously, from the user interviews, we were starting to hone in a little bit more and, like, we had some assumptions going into it. I think we ultimately did kind of feel like, yeah, I think, like, the playlisters seem to be, like, the target market. But just hearing it more and hearing more excitement from them was definitely just kind of like, yeah, I think we can double down on this piece. But, ultimately, like, in terms of launching the e-commerce platform, and the storefront, and the website, like, just literally looking at the user journey and being like, how does a user get from getting onto a site, like, as soon as they land there to, like, finishing a purchase? And what points do they need? What are the key things that they need to think through and typically will run into? And a lot of it is just kind of reflecting on our own personal buyer behavior. And, also, as we were getting closer to the launch, starting to work through some of those assumptions about buyer behavior. As we got there, we obviously had some prototypes. We had some screenshots that we were already working with. Like, the design team was already starting to build out some of the site. And so, we would just kind of show it to them, show it to our users, and just be like, hey, like, how do you expect to purchase this? Like, what's the next step that you expect to take? And we'd just kind of, like, continue to iterate on that piece. And so... LINDSEY: Okay. So you were, before launching, even showing some of those mockups and starting to incorporate them in the user interviews. DANNY: Yeah, yeah. I mean, we tried to get it in there in front of them as early as possible, partially because, like, at some point in the user interviews, like, you're mostly just trying to first understand, like, who are our target customers? Who are these people? And we have an assumption of or an idea of who we think they are. But really, like, once you start talking to people, you kind of are, like, okay, like, this thing that I thought maybe it wasn't so accurate, or, like, the way that they're kind of talking about these products doesn't 100% match what I originally walked into this, you know, experiment with. And so, we, like, start to hone in on that. But after a certain point, you kind of get that idea and now you're just like, okay, you seem to be, like, the right person to talk to. And so, if I were to show you this thing, do you get it, right? Like, do you understand what's happening? Like, how to use this thing, what this product even does. And then also, like, does the checkout experience feel intuitive for you? Is it as simple as, like, I just want to buy a T-shirt? So, like, I'm just going to go by the T-shirt, pick a size, and, you know, move on with my life. Can we make it as seamless as that? LINDSEY: And so, you mentioned it's only been a week since it's been live. Have you been able to learn anything from it yet? And how are you trying to drive people to it today? MIKE: Yeah, I think we learned that sales is hard [laughs] and slow, and it takes some time. But it's good, and we're learning a lot. I mean, it's been a while since I've really dug deep in, like, the analytics and marketing kind of metrics. And so, we've got all the Google Tag Manager stuff, you know, hooked up and just, you know, connecting with just exploring, honestly, like the TikTok advertising platform, and the YouTube Pre-Rolls, and Shorts. And, like, a lot of stuff that I actually, since the last time I was heavily involved in this stuff, is just totally new and different. And so, it's been super interesting to see the funnel and sort of see where people are getting in the site, where people are dropping off. You know, we had an interesting conversation in our thoughtbot sync yesterday or the day before, where we were seeing how, you know, we're getting lots of people to the front page and, actually, a good number of people to the product page, and, actually, like, you know, not the worst number of people to the cart. But then you were seeing really high cart abandonment rates. And then, you know, when you start Googling, and you're like, oh, actually, everybody sees very high cart abandonment rates; that's just a thing. But we were seeing, like, the people were viewing their cart seven or eight times, and they were on there sort of five times as long as they were on any other page. And it's this problem that I think Danny is talking about where, you know, we need to actually get a playlist URL. This gets into the minutiae of what we're building, but basically like, we need to get them to give us a playlist URL in order to check out, right? And so, you sort of have to, like, put yourself back in the mind of someone who's scrolling on Instagram, and they see this as an ad, and they click it, and they're like, oh, that thing was cool. Sure, I will buy one of those. And then it's like, no, actually, you need to, you know, leave this, go into a different app, find a play...like, it suddenly just puts a lot of the mental strain. But it's a lot. It's a cognitive load, greater than, as you said, just buying a T-shirt and telling what size you want. So, thinking through ways to really trim that down, shore up the amount of time people are spending on a cart. All that stuff has been fascinating. And then just, like, the different demographic kind of work that we're using, all the social ads platforms to kind of identify has been really interesting. It's still early. But, actually, like, Chris and I were just noticing...we were just talking right before this call. Like, we're actually starting to get, just in the last 12 hours, a bunch more, a bunch, but more people signing up to our email newsletter, probably in the last 12 hours that we have in the whole of last week. Yeah, I don't know, just even that sort of learning, it's like, oh, do people just need time with a thing, or they come back and they think about it? CHRIS: Yeah. Could these people be working on their playlists? That's a question that I have. MIKE: [chuckles] Yeah, me too. CHRIS: It's like, you know, I'm making a playlist to drop into this product. It's really interesting. And I think it gives insight to kind of, you know, how personal this product could be, that this is something that takes effort on the part of the consumer because they're making something to give or to keep for themselves, which is, I think, really interesting but definitely hard, too. DANNY: Yeah. And I also want to also clarify, like, Chris just kind of said it, like, especially for viewers and listeners, like, that's something that we've been hearing a lot from user interviews, too, right? Like, the language that they're using is, like, this is a thing that I care about. Like it's a representation of who I am. It's a representation of, like, the relationship that I have with this person that I'm going to be giving, you know, this gift to or this playlist to, specifically, like, people who feel, like, really passionate about these things. And, I mean, like, I did, too. Like, when I was first trying to, like, date, my wife, like, I spent, like, hours, hours trying to pick the coolest songs that I thought, you know, were like, oh, like, she's going to think I'm so cool because, like, I listen to these, like, super low-key indie rock bands, and, like, you know, so many more hours than she probably spent listening to it. But that's [laughs] kind of, like, honestly, what we heard a lot in a lot of these interviews, so... LINDSEY: Yeah, same. No, totally resonates. And I also went to the site this week, and I was like, oh damn, this is cool. Like, and immediately it was like, oh, you know, I've got these three, you know, music friends that we go to shows together. I'm like, oh, this would be so cool to get them, you know, playlists of, like, music we've seen together. So, you might see me in the cart. I won't abandon it. MIKE: Please. I would love that. CHRIS: Don't think about it too long if you could -- [laughter]. LINDSEY: I won't. I won't. CHRIS: I mean, I would say I'm really excited about having the site not only as a vehicle for selling some of these things but also as a vehicle for just honing our message. It's like another tool that we have in our arsenal. During the user interviews themselves, we were talking in abstract terms, and now we have something concrete that we can bounce off people, which is, I think, going to be a huge boon to our toolset as we continue to refine and define this product. MIKE: Yeah, that's a good point. LINDSEY: Yeah. You mentioned that they're signing up for, like, email updates. Do you have something you're sending out? Or are you kind of just creating a list? Totally fine, just building a list. MIKE: [laughs] No. CHRIS: It's a picture of Mike and I giving a big thumbs up. That's, yeah. [laughter] MIKE: No. But maybe...that was the thing; I was like, oh great, they're signing up. And I was like, gosh, they're signing up. Okay [laughter], now we got to write something. But we will. LINDSEY: Tips to making your playlist [crosstalk 19:11] playing your playlist -- MIKE: Yeah [crosstalk 19:13]. CHRIS: Right. And then also...tips to making your playlists. Also, we're advancing on the collectible side of things, too. We are, hopefully, going to have two pilot programs in place, one with a major label and one with a major artist. And we're really excited about that. LINDSEY: Okay. That's cool. I assume you can't tell us very much. What can you tell us? MIKE: Yeah. We won't mention names [chuckles] in case it just goes away, as these things sometimes do. But yeah, there's a great band who's super excited about these, been around for a long time, some good name recognition, and a very loyal fan base. They want to do sort of a collection of these. I think maybe we showed the little...I can't remember if we showed the little crates that we make or not, but basically, [inaudible 19:52] LINDSEY: The last time, yeah. MIKE: So, they want to sell online a package that's, you know, five or six Goodz in a crate, which I think will be cool and a great sort of sales experiment. And then there's a couple of artists that we're going to do an experiment with that's through their label that's more about tour...basically, giving things away on tour. So, they're going to do some giveaway fan club street team-style experiments with some of these on the road. So, first, it's ideal, provided both those things happen, because we definitely want to be exploring on the road and online stuff. And so, this kind of lets us do both at once and get some real learnings as to kind of how people...because we still don't know. We haven't really put these in people's hands yet. And it's just, like, are people scanning these a lot? Are they not? Is this sort of an object that's sitting on their shelf? Is it...yeah, it's just, like, there's so much we're going to learn once we get these into people's hands. LINDSEY: Do you have the infrastructure to sort of see how many times the cards are scanned? CHRIS: Mm-hmm. Yep, we do. MIKE: Yeah. So, we can see how many times each one is scanned, where they're scanned, that sort of thing. CHRIS: Kind of our next step, and something we were just talking about today with the thoughtbot team, is building out kind of what the backend will be for this, both for users and also for labels and artists. That it will allow them to go in and post updates to the Goodz, to allow them to use these for promotion as people, you know, scan into them to give them links to other sites related to the artists that they might be interested in before they move on to the actual musical playlist. So, that's kind of the next step for us. And knowing how users use these collectibles, both the kind of consumer Good and the artist collectibles that we were just talking about, will help inform how we build that platform. LINDSEY: Very cool. And right now, the online store itself that's built in Shopify? MIKE: Yeah. The homepage is Webflow that Kevin from the thoughtbot team really spearheaded in building for us. And then, yeah, the e-commerce is Shopify. LINDSEY: Y'all have been busy. MIKE: [laughs] LINDSEY: Is there anything else maybe that I haven't asked about yet that we should touch on in terms of updates or things going on with the product? MIKE: I don't know. I don't think so. I think, like Chris said, I mean, we're just...like, now that the site has kind of stood up and we're really switched over to kind of marketing and advertising on that, definitely digging into the backend of this kind of SaaS platform that's going to probably be a big focus for the rest of the, you know, the program, to be honest. Yeah, just some other things we can do on the next front that could eventually build into the backend that I think can be interesting. No, I guess [laughs] the short answer is no, nothing, like, substantial. Those are the big [crosstalk 22:26] LINDSEY: Yeah. Well, that was my next question, too, which is kind of like, what's next, or what's the next chunk of work? So, it's obviously lots more optimization and learning on the e-commerce platform, and then this other mega area, which is, you know, what does this look like as a SaaS solution? What's the vision? But also, where do we start? Which I'm sure, Danny, is a lot of work that you specialize in as far as, like, scoping how to approach these kinds of projects. DANNY: Yeah. And it's interesting because, I mean, we were just talking about this today. Like, part of it is, like, we can, like, really dig into, like, the e-commerce site and, like, really nailing it down to get it to the place where it's like, we're driving tons more traffic and also getting as low of a, like, cart abandonment rate as possible, right? But also, considering the fact that this is in the future, like, large-scale vision. And there's, like, also, like, we're starting to, I think, now iron out a lot of those, like, milestones where we're kind of like, okay, like, we got, like, a short-term vision, which is, like, the e-commerce site. We got a mid-term vision and a potential long-term vision. How do we validate this long-term vision while also still like, keeping this short-term vision moving forward? And, like, this mid-term vision is also going to, like, help potentially, either, like, steer us towards that long-term or maybe even, like, pivot us, like, into a completely different direction. So, like, where do you put your card, right? Like, how much energy and time do we put into, like, each of these areas? And that's kind of, like, the interesting part of this is starting to talk through that, starting to kind of prioritize, like, how we can maximize on our effort, like, our development and design effort so that things just kind of line up more naturally and organically for our future visioning, so... MIKE: Yeah. A lot of different things to juggle. I saw there was a question. Somebody asked what the URL is, but I don't seem to be able to [crosstalk 24:10]. LINDSEY: The same question as me. We got to drop the link for this thing. MIKE: Yeah, getthegoodz.com. CHRIS: That's G-O-O-D-Z. LINDSEY: Get in there, folks MIKE: Yeah, get [crosstalk 24:23]. LINDSEY: And let us know how it goes. MIKE: Yeah, please [laughs]. Any bugs? Let us know. Yeah. I think that those...yeah, I mean, it's a good point, Danny, in terms of juggling kind of the near-term and longer-term stuff. You know, it's a good kind of reminder our big focus, you know, in the new year is going to be fundraising, right? We're already talking to some investors and things like that. So, it's like, okay, yes, as you said, we could tweak the cart. We could tweak the e-commerce. Or, like, can we paint the big picture of what the longer-term version of this company is going to be in a way that makes it compelling for investment to come in so that there can be a long-term version of this company? And then we can build those things. So yeah, it's definitely a balance between the two. LINDSEY: Oh, also, just casual fundraising as well. [crosstalk 25:06] MIKE: Yeah, yeah. LINDSEY: [laughs] MIKE: But it's hard. It's like, you wake up in the morning. It's like, do I want to, like, write cold emails to investors? Or do I want to, like, look at Google Analytics and, like, tweak ad copy? That's actually more fun. So, yes. LINDSEY: Yeah, life of the founder, for sure. All right. So, that's getthegoodz (Goodz with a z) .com. Check it out. We'll tune in and see what happens with the e-commerce site, what happens with the SaaS planning the next time that we check in. But Chris, Mike, Danny, thank you so much for joining today and sharing what's been going on over the last few weeks: the good, the bad, the challenge, the cart abandonment. And, you know, best of luck to you over the next few weeks, and we'll be sure to check in and see how it's going. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Transcript: LINDSEY: Thank you to our viewers and listeners. We are catching up once again with one of the startups going through the thoughtbot Incubator. My name is Lindsey Christensen. I'm joined today by Jordyn Bonds, who heads up the thoughtbot incubator, as well as our Co-Founders of Goodz, Chris Cerrito and Mike Rosenthal. Welcome, everybody. MIKE: Thanks, Lindsey. LINDSEY: Before we get started, before we put Chris and Mike back in the hot seat, at the top here, Jordyn, we have a special announcement for our viewers and listeners. JORDYN: Application window is open for session 1 of 2024, folks. You can go to thoughtbot.com/incubator and apply. And Chris and Mike can tell you how easy or hard applying was. MIKE: It was easy. It was totally easy. It's a very straightforward process. CHRIS: Yeah, it was way more straightforward than a lot of applications that we've dealt with in the past, for sure. JORDYN: Ha-ha. And if you've got a business idea that involves software but you haven't gotten anything out there yet, come talk to us. We will help you make sure that it's a good idea and that there are people who might buy it, and maybe get you even a little further than that. MIKE: We actually have a friend who's considering applying. I'll tell him applications are open. He's worried his idea is not big enough to actually be a business idea, so we'll see. CHRIS: Even the process of doing the application was really helpful for us because it helped us get aligned on exactly what we were doing, yeah. JORDYN: I love that. And I found that to be true when I was a founder applying to some of these things, in particular, applying for an SBIR grant was one of the most challenging things that we did, but it was so productive. I was so annoyed by it at the time, and then I cribbed from that thing. It actually sort of forced us to make a business plan [laughs], and then, basically, we ran it, and it was great [laughs]. CHRIS: Yeah. I think that was, for us, that was our point where we were like, "Is this idea fleshed out enough to move forward?" And we were like, "Yes, it is. Let's go. Let's do this." JORDYN: So, use the application as a forcing function, everybody. It will help you clarify your thinking. LINDSEY: Yeah. Jordyn, what would you say to Mike's friend who's questioning if their idea is big enough? How do you respond to that sentiment? JORDYN: That is a fascinating sentiment because I feel like so much more often, I am trying to help founders with the opposite problem where they think this thing is so big that they are not thinking about what step 1 is going to look like. They're just, like, in 10 years, we're going to be the next Amazon, and I'm like, "Maybe [laughter]. Let me help you figure out how to get to that giant vision." So, I don't come across the "Is this big enough to be a business?" question as often. And, I don't know, what would I say? I guess I need the details. LINDSEY: It could be a perfect fit MIKE: It could be. JORDYN: It could be a perfect fit. LINDSEY: In a way, that's what you're answering, right? MIKE: Right. LINDSEY: In some of this work. MIKE: That is true. So, yeah, you guys would certainly...just thinking through the process we've gone through the last two months, it would definitely help them flesh that out. LINDSEY: Which is a great segue. MIKE: Great segue. LINDSEY: Chris and Mike, we're actually coming up to the end of your incubator time. CHRIS: It's so sad. LINDSEY: Can you believe it? MIKE: It's gone by really fast. I mean, eight weeks is not a long time, but it has gone by very, very fast. CHRIS: It felt like a very long time in the middle of it. MIKE: [laughs] CHRIS: But now that it's over, it feels like a blink that it's coming to a close. MIKE: I don't know. It's funny. I think we had some note in our retro today that was like, maybe the very end of the year is not the best time to do an accelerator just because you have, like, the holidays kind of jumping in here in the end. So, that might have helped make it feel like a... I feel like the end of the year always feels like a rush anyway. So, I think just life gets a little bit busier this time of year, too, but yeah. CHRIS: Yeah, my gingerbread man decorating game is, like, really down this season because we've been so busy. Tragic. LINDSEY: Chris, can you remind our viewers and listeners who might not be familiar what was the idea that you and Mike have been exploring with the incubator or, like, what did you come in with? CHRIS: So, with Goodz, what we're trying to do is make little, physical collectibles objects that connect back to the digital content that a user loves. The idea being that today, we are awash in these digital files, links, so many things on our desktops, on our phones, on our devices, and it's really hard to tell which part of those are really, really important to us. So, by giving them a presence in the physical world, that denotes that's something that's really important, worth keeping, worth sharing, and showing off to your friends and family. And to start this off, mostly because Mike and I are both kind of music nerds, we're starting off with a music focus, but at some point, we're hoping to move into other realms, too. LINDSEY: And a lot of the incubator, as repeat listeners will know, is focused on really kind of evolving user interviews all the way through and narrowing in on, you know, a core audience, a core market. Mike, how has that evolution been? I think the last time we chatted was around three weeks ago. What has the latest iteration of user interviews looked like in terms of the people you're talking to and even what you're asking them? MIKE: It's been a really fascinating process. I mean, I'm trying to think of where we were exactly the last time we talked to you, but I think we'd probably just launched the e-commerce site that we had been experimenting with putting up. LINDSEY: Yeah, exactly. MIKE: And so, and we really then started cranking on user interviews kind of once that was live. And so, moving away from the conceptual and more into like, "Okay, share your screen. Here's the link. Like, tell me what you think is going on here," and really sort of getting users who had never, you know, never heard our pitch, never been involved with us to sort of try to wrap their heads around what we are and what we're doing just based on that website and trying to sort of make iterative changes based on that. You know, for me, because I had not done user interviews very much in the past, like, it's very tempting, like, you get sort of 1 note from 1 person in 1 interview, and you're like, oh, we need to change this word. That word didn't make any sense to them, or this thing needs to be blue instead of pink. I think, for me, it was like, all right, how do we kind of synthesize this data in a responsible way? And it emerged naturally, which, I mean, Jordyn and all thoughtbot folks said that it would, but you sort of started hearing the same things again and again. And we never really got to a place where, like, you heard the exact same things from everyone. But there were enough buckets, I feel like, where we're like, okay, like, this part really isn't making that much sense to people, or, like, we do really need to, you know, structure this differently to convey. So, it was a bunch of that kind of work over the last three weeks or so and sort of just getting a sense of like, are we conveying our message? It's hard. I mean, it's a new, like, we're not the only people making physical products with NFC chips in them, but it is not the most common, like, product. Like, it is kind of a new category out there. And so, really trying to understand just right off the bat, do people get it? And you get wildly different answers [laughs] as to whether they get it or they don't, which has been fascinating, too. JORDYN: Yeah. [crosstalk 7:12] LINDSEY: Chris or Jordyn, anything to add there? JORDYN: Yeah. You get the best, like, bootcamp in the don't overreact to a single user interview experience in some ways because we [laughs]...it would literally be like, interview in the morning someone says this thing. Interview in the afternoon, someone says the exact opposite thing [laughter]. And you're like, okay [laughs], like, which one of these things are we going to respond to, if either of them? CHRIS: Yeah. It's hard. As somebody with, like, a strong desire to please, it's hard to reign yourself in and want to change things immediately, but it definitely makes sense to do so in the long run. MIKE: But yeah, but, I mean, like I said, I do feel like it kind of came down to buckets. It's like, okay, you're that. I can, like, categorize you with all those other people and you with all those other people. And yeah, I hear you. I'm like, yeah, it's tempting to want to please them all. But I think with this one, we're fighting hard to be like...or we sort of have a philosophy that this product is emphatically not for everyone because, at the end of the day, you get a lot of people who are like, "Wait, you're just putting a link to a streaming playlist on a physical object? Why don't I just text someone the link?" And sometimes that breaks down by age group, like, 18-year-olds being like, "What are you talking about, old man? LINDSEY: [laughs] MIKE: Like, why the hell would I do that? It makes no sense." But it sort of skews all over the age ranges. But then there'll be other people who are 18 or 20 years old who are like, "Wow, I never had cassettes when I was growing up," or "I never got to make, you know, mixtapes or CD-Rs for people." And like, you know, so it's, yeah, it's about finding the people who are the early adopters. As Jordyn has said a lot, it's like, we need to find those early adopters and, like, make them love us, and then other people will come later. CHRIS: I mean, some of the most gratifying moments, I think, are there's been some interviews where people have been so excited that after the interview, they've gone and purchased our products, which is just, like, the coolest feeling ever. LINDSEY: Wow. MIKE: Yeah, it's pretty cool. LINDSEY: Are you open to sharing a little bit more about what those buckets or what those segments look like? CHRIS: I mean, I think there's folks who outright just get it almost immediately, and I think those people tend to be hardcore music collectors, hardcore music fans, Jordyn and Mike, please feel free to jump in if you disagree with any of this. They just get it right off the bat. Then I think there's, in my experience, there's another bucket of people who are a little more hesitant, and maybe they wouldn't buy it, but they seemed really excited about the idea of getting one as a gift, which is really interesting. They're like, "I don't know if I'd buy this, but I'd really like to have one." And then there is another segment, like, which Mike just mentioned, of folks who just don't see the value in this whatsoever, which is totally fair. MIKE: Yeah, totally. I think it's also...I see it almost as, like, a matrix. There's, like, desirability, and, like, technical understanding because people were like, "I technically understand what this is, and I do not want it in my life." Or like, "I get what this is and, oh my God, I have to have that," or like, "I don't really understand what you're talking about, but, man, I love physical stuff. Like, sure I want..." you know, it's like, it goes across those two planes, I think. JORDYN: I will say that it, I think you alluded to this before, Mike, but, like, we're going to run a whole analysis of...because we did a ton of interviews, and we haven't actually done that, like, sort of data-driven thing of like, are there trends in the demographics somewhere that we're not getting? Because the pattern has not been there. Like, someone will talk to an 18-year-old, you know, at 1:00 p.m. who is just, like, "Why on earth would I ever want this?" And then I, like, you know, will talk to a 21-year-old who is like, "I love this." And it's like, why? Like, this is the answer. The thing we're trying to get out now is, like, what is the difference between those two people? It's not a demographic thing that we can see from the outside, so what is it instead? But with consumer stuff like this, often, you don't necessarily...you don't need that in such great detail when you're starting. You just kind of, like, throw it out there and see who grabs it, and then you start to build sort of cohorts around that. And that is kind of what these interviews have shown us is that there are people who will grab it, and that was part of what we were trying to validate. Are there people who Mike and Chris do not know personally who will, like, get this and be psyched about it immediately? And that is, you know, check unequivocally true. Like Chris said, there are people that we were, you know, that we had recruited on this user interviews platform [chuckles] who then just turned around and bought the product because they were so psyched about it. One of the guys I interviewed was like, "Can I invest in your company right now?" Like, during the interview, and I was like, "Maybe?" [laughs] CHRIS: There was, like, another person who wanted to work for us immediately... JORDYN: Yes, great. CHRIS: Which was really interesting and kind of awesome. JORDYN: Yeah, they're like, "Are you hiring?" You're just like, okay. So, it's validating that there are people all over that spectrum. Like, where those trends lie, though, which is, I think, what you were asking, Lindsey, not as straightforward and in a fascinating way. So, we still have a little more, like, number crunching to do on that, and we may have an answer for you later. LINDSEY: That's exciting. Exactly. I'm curious: what are the connecting dots between the folks who are really into it, and how might that impact how you approach the business? MIKE: Yeah, it's hard. It's definitely going to be a niche to start. And so, we got to figure out kind of got to crack the code on how we find those people. LINDSEY: And, Mike, I think you had also mentioned last time that, you know, you or both of you have a network kind of in the music industry, and you've been floating the idea past some people there. Have you been having more of those conversations over the last few weeks, too? MIKE: We have, yeah. Well, so yeah, we've had a couple more just kind of straight-up pitch calls versus like, "Hey, there's this cool thing we're doing," and having those people be like, "Cool. Let's do a pilot." And so, they're ordering, you know, 500 or 1,000 units at a time, which is rad. LINDSEY: Whoa. MIKE: For the first...yeah. LINDSEY: Okay, very cool. MIKE: Yeah. The first two or three of those should happen in January or maybe early February, but yeah, those are done and in production and arriving soon. So, that's really exciting with some cool bands. We won't say the names in case it doesn't [laughs] work out, but it does look like it's going to work out. LINDSEY: And so, it's specific bands that are creating merch for their fans. MIKE: Yeah, yeah. So, we're working with one artist manager on a band that he manages, and then we're working with a record label. And they're going to try with a couple of smaller artists. And so, yeah, it's actually really good for us. One is going to be straight-up sales, most likely, and it's, like, selling these things. And the other ones will be given away as kind of promo items on tour artists, which is also a really interesting use case for us, too, that we're excited about and using them as a way to sort of get email addresses and, like, fans engaged and stuff, so... And then yeah, then I had another conversation, and they want to talk about doing some pilots. So far, like, that side of things is going great. We're sort of 3 for 4 in terms of initial calls leading to pilots right off the bat, which is kind of unheard of from [laughs] my experience. LINDSEY: Yeah, I'd say so. No, a lot of very good signals. MIKE: Really good signals. But then we were able to turn some of those into user interview conversations, actually, as well over the course of the last couple of weeks, which has been really helpful, like, talking to manager and label-type people about what they might want out of a software product that is associated with this because we're not just thinking about making physical products but sort of coupling that with an online toolset. And that part, we haven't gotten as far along as we did with the direct-to-consumer e-commerce, but it's been fascinating. LINDSEY: So, what has been happening with the online shop? As you noted the last time we talked, it was just a baby less than a week-old Shopify site getting, you know, some first hits of people going around maybe putting things in their basket. I'm sure a lot has happened over the last few weeks. What kind of work, what kind of insights have you seen around the site? CHRIS: We've been, I mean, we've been selling stuff at a slow but steady pace. It's been great because it's enough to, you know, because our product really straddles the line between physical and digital; there's a lot of physical aspects to this that we need to figure out and kind of the level of orders that we've been getting have been really...it's, like, the perfect number to think about fulfillment issues, things like what kind of package does this go in? How do we mail this out? Things along those lines, just very basic, practical questions that needed to be answered. But yeah, it's been great. We actually, I mean, we hit our goal for the amount of these that we wanted to get in people's hands before Christmas, which is pretty awesome. And we continue now with the lessons learned. I think our plan is to try and make a push for Valentine's Day because these seem like they would be a great Valentine's Day present: make a playlist; share it with your loved one; share it with a friend; share it with somebody you don't like at all. Who knows? LINDSEY: [laughs] CHRIS: But yeah, that's kind of our next sales push, we think. LINDSEY: The hate playlist. CHRIS: [inaudible 15:40] hate playlist. MIKE: Yeah, perfect. Real passive-aggressive. CHRIS: Just Blue Monday, like, by New Order, like, 14 times. LINDSEY: [laughs] Yeah, every song is just like a sub-tweet... MIKE: [laughs] LINDSEY: About something they've done and [inaudible 15:53] Have you updated the site? Like, how do you decide what gets updated on the site? [laughter] Everyone laughed. MIKE: It was a little haphazard, I would say, there for a minute. But -- CHRIS: We got the site up very, very quickly. And from my perspective, I've been dealing a lot with the physical side of things, just getting great product photos up there, which is, like, something that thoughtbot has actually been super helpful with. You know, everybody on the team is starting to submit photos of their Goodz in the real world and using their Goodz, which is great. And we continued to update the site with that but also making sure our text made sense, refining copy in response to things that people said during user interviews. The checkout process, the process of adding the URL that we point the Good to that, we did a bunch of experimentation there based on what people were saying during user interviews. So, it has been a little haphazard, but we have made a bunch of changes. LINDSEY: Jordyn, has there been any experiment, like, structured experimentation around the site or how you're getting people to the site? JORDYN: Mike actually did a little bit of ad funnel work that I don't think we've, like, even remotely scratched the surface of. So, I wish I could say that was conclusive, but I think we've found a little bit more...here are plenty of sales that are from people that nobody here knows. MIKE: True. JORDYN: So, people are finding out about this somehow [laughs]. But I think it's a little bit, like, word-of-mouth sort of chain of events is our sense so far. I wanted to say, though, about the site, we did get what Chris was saying about, like, this experiment was, in part, about fulfillment and figuring out how fulfillment would work and packaging, and not just messaging and not just closing the sale with consumers, but also, just, like, how do you fulfill these? But one of the really fun things we've managed to do in the last, since we talked last time, which I can't even believe...I feel like this wasn't even a gleam in our eyes for this project, but we managed to get out, like, stood up and out the door, and working in production in the last few weeks is a way for folks to actually assign the URL to their mixtape themselves. Previously, the plan had just been for Chris and Mike to do that, which is fine but a little bit unscalable, right? CHRIS: That was a huge dream or, like, that was high on our wish list. And we didn't think we'd get to it. And it's been pretty amazing that we have, yeah. JORDYN: Yeah, so that was one thing that is an update to the site. So, then we had to do a little bit of, like, micro iterating, on, like, the messaging around that. Like, how do you communicate to people? This is, like, a little bit of an abstract challenge, right? Like, here's this object. It's going to point to a digital thing. How do you tell the physical object which digital thing it's pointing to [laughs]? So, a lot of our recent interviewing has been to sort of get inside the mind of the consumer about how they're thinking about that and how we can best communicate that to them. So that's been a lot of the, like, recent iteration is getting that mechanism stood up and then the messaging around it. CHRIS: It's also really cool because it adds to the utility of the object itself in the sense that now our Goodz, when a user gets one, they can add a URL to their Good themselves, but they can also change that URL. So, it's much more malleable. JORDYN: Which is something that in one of our early user interviews was, like, a hot request [laughs], and we were like, "Someday, someday." And it's, you know, I should actually go back to her and be like, "Someday is today." [laughter] MIKE: Well, yeah, and just as Chris was saying, it just makes it so much easier to ship these out without having to manually load them, and you could sell them, and yeah, retail outlets, like, it just opens up a lot of opportunities for us for them. LINDSEY: And Mike mentioned that some of the, like, kind of future looking aspirations for the solution are, you know, how might you figure out the B2B, like, SaaS aspect of it? Jordyn, is that something that's been explored at all at this point, or is it early? JORDYN: That experiment I just described is actually sort of the link between the two projects. It sort of proves the concept and proves the value in some ways, and it has given us a little bit more visibility into sort of how we're going to execute some of this technical stuff. Like, how easy, how difficult is it going to be? These little experiments all build your confidence around your ability to do those things and what it's going to look like. And so, this experiment absolutely feeds into that question. But I would say it was really this week where we got to have a really fun brainstorming sort of blue sky conversation about that that I don't think would have been nearly as both creative and blue sky or rooted in reality as it was if we hadn't done these experiments and hadn't talked to so many...we had so much work...we could participate in a conversation like that so much more confidently and creatively because all of us had a lot more shared context. So, we really got to dream big, like, what is a SaaS platform built around these physical objects? And I don't want to, you know, I'm not going to give it away at this moment because we had a lot of, like, really cool ideas. It's one part talking to the B2B customer, which, you know, you mentioned earlier, getting what their pain points are, and what they're looking for, what they need, but then also dreaming big about now we understand the technology a little bit more and how it feels to use it. What does that unlock in our brains? The analogy I used in that conversation and that I use all the time is like, the users of Twitter invented hashtags, right? Twitter did not invent hashtags. And so, hey, everybody out there, newsflash: users invented hashtags, not Twitter or something else, if you didn't realize that Twitter was where those things kind of emerged. But there was just a user behavior that was happening in the wild, and Twitter was just very good at making that easier for them, looking at that and being like, "Oh, hey, is this a thing you all want to do? Here, we'll make that even more useful for you." And it was part of Twitter's early success that they were able to do that. And so, that was the kind of thinking we were trying to employ here is, like, now that we have these objects and we understand a little bit more how it feels to use them, you get these second order effects. What does that then make us think of? What is then possible to us that we wouldn't have been able to dream of previously because we didn't quite get it? So, that was really happening this week. LINDSEY: So, as the incubator time wraps up, what are the kind of final activities or deliverables, one, that Goodz wants and you know that they're going to get? What are the parting gifts as we send you out into the next phase? MIKE: Yeah, well, loads of stuff. I mean, we're getting all that code that [SP] Guillermo and the guys worked on to let people set their own playlist settings. And we've got that up in a GitHub repository now. And we've got a bunch of great design work that's all being handed over, like Chris was saying, product shots that a bunch of the team members were taking, synthesizing all the user interviews. We're actually sort of making some kind of final reports on those, so it's kind of more usable, actionable data for us. The whole website, you know, that didn't exist before. And that will sort of continue to grow as the entire website for Goodz moving forward. I don't know. That's a lot. What else was there, Chris? CHRIS: As a result of all that, I mean, one of the things I'm most excited about is now we have a small user base who actually has the physical products that, hopefully, we can get them to answer questions. That's huge for what's coming next. Starting the path towards the SaaS platform, too, it's really helped narrow our scope and think about, you know, how to make that successful or if it will be successful. LINDSEY: Yeah, that sounded like a big discussion this week that I know has been on your minds from the beginning. Wait, the last time, also, you said you were starting to get emails, too. Have you emailed anyone yet, or are you still holding on to them? MIKE: Oh. No, I still haven't sent a newsletter out [laughs], actually, but we have Mailchimp set up. Yeah, no, we've got a good kind of core of our, yeah, early folks on there. We'll start getting a newsletter out with some sort of regularity. We're building up the socials very slowly just focusing on Instagram mostly right now and trying to get back into that game. It's been a long time since I've had to do kind of social marketing stuff. And so, it's a lot of work, as it turns out, but we'll get all that cooking. I think this was just such a sprint, working with the thoughtbot folks and trying to get all this stuff done. Before the end of the year, now we can sort of take a breath and start engaging folks in the new year. LINDSEY: Yeah. Well, so, do you know what you want to do next or what the next phase looks like? Are you going to do fundraising? MIKE: We're certainly going to continue to have some fundraising conversations. We've had some conversations emerge over the last, you know, since we've been in thoughtbot, again, not the greatest time of year to try to be raising a round. But we're also not, like, desperately, urgently needing to do that right this second. I think, you know, part of it is the fundraising landscape, you know, doesn't look amazing. And we're still sort of building out a lot of traction, and sort of every week, there's some new, exciting thing, or we've got some new, big artists who wants to do something. So, I think, in some ways, to the extent that we can bootstrap for a little while, I think we will, yeah. So, we will focus on...I'd like to get back to focusing on, like, B2B sales. I'd like to hit the ground in January and just start talking to a bunch of music industry folks. And thinking ahead a little bit, sort of Q1 and Q2, like, what are the big tentpole events? You know, you got South by Southwest coming up in March. You got Record Store Day in April, or whenever it is. But, you know, there's, like, a bunch of those sorts of things that it's like, oh, let's not let those things suddenly be tomorrow. Like, right now, they're all still two or three/four months out. Like, let's make sure we're queued up for those things and see what happens. And Jordyn has been giving really good advice on the fundraising side where it's just like, just keep getting cool stuff like that and just do almost like little drip campaigns with funders who aren't maybe giving you the time of day or think it's too early, and just kind of keep going back to them. Like, the best excuse to go back to funders is like, "Hey, we just closed this new thing. We just launched this new thing. We just got this thing working. Hey, we're launching with this major band," Like, enough of those happen, and I think the fundraising will happen more organically. It's a strategy. CHRIS: I think we're really lucky in the fact that, you know, now, at this point, we're not talking about vapourware, you know, like, these are actual things that actually exist that, like, anybody could go onto our site right now and buy, which is awesome. And because of that, the product's going to continue to evolve, and, hopefully, our sales record will continue to evolve, too. LINDSEY: Amazing. Well, that feels like a good place to wrap up, maybe. Are you going to hang around in our incubator Slack, the thoughtbot incubator Slack for all our past founders? MIKE: Yes. Emphatically, yes. LINDSEY: Okay. We're holding you to it then [laughs]. CHRIS: I'm excited about that. We met with the other founders yesterday for the first time, and it was a really great and interesting conversation. It was cool seeing how diverse all these projects are and how folks are working on things that we had no idea about and how we're working on stuff that they have no idea about, and it was really great. It felt like a good cross-pollination. MIKE: Agreed. LINDSEY: That's awesome to hear. Jordyn, any final thoughts? JORDYN: [inaudible 26:58] out there listening and watching and want to join this community of founders [laughs], don't you want to have office hours with Chris and Mike? LINDSEY: All right, thoughtbot.com/incubator. You can apply for session 1 of the 2024 incubator program. And yeah, you two, if you have more recommendations, referrals, definitely send them our way. Chris, Mike, Jordyn, thank you so much once again for joining and catching us up on all the exciting developments for Goodz. MIKE: Thank you. LINDSEY: A lot of really cool milestones. JORDYN: I got to say, so much good stuff. And like, you know, just wrapping it all up almost diminishes the impact of any single one of those things that we just talked about, but it's, like, pretty amazing. People out there, apply to the incubator but also go buy yourself a Goodz mixtape. It's cool with playlists on it. MIKE: It's a good point. JORDYN: Give it to your BFF. Come on. LINDSEY: Getthegoodz.com. MIKE: Getthegoodz.com. Awesome. LINDSEY: All right. Thanks, Chris and Mike. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Chris Cerrito, Jordyn Bonds, and Mike Rosenthal.
Josh Herzig-Marx, founder of Knect, discusses the latest developments in his startup journey since his last appearance on the show. He emphasizes the program's value in helping founders like himself refine ideas and strategies. He particularly notes the program's effectiveness in addressing challenges unique to startups, such as managing professional networks and dealing with the rapid growth of online presence. The conversation also delves into AI's technical aspects and potential applications and the practicalities and ethical considerations of using it in professional networking. Josh and Jordyn explore various AI use cases, distinguishing between beneficial applications and those they deem undesirable. Transcript: LINDSEY: We are back for our Incubator update with Josh Herzig-Marx and his startup, Knect. I'm Lindsey Christensen. I do marketing things at thoughtbot. We are also joined by Jordyn Bonds, who runs our incubator and does product strategy for thoughtbot. And today, we're going to be catching up with Josh and learn what's new since last we checked in. But before we get to that, we have an exciting incubator update: our application window has just reopened. JORDYN: Yes. LINDSEY: You could be the next Josh. JORDYN: You could. JOSH: Don't be me. You should join the incubator. [laughter] JORDYN: Go to thoughtbot.com/incubator and apply. It's just that easy. The application doesn't take long, even though it's in Typeform, and we have gotten some feedback, including from Josh, that it's challenging to plan your application efforts because, as you all probably know, Typeform just gives you one question at a time. So, sorry, maybe we'll update that. But it won't take you very long. It's a pretty brief application. And we are looking for pre-product folks, so you don't have to have a lot. Don't worry about what you do or don't have. Just apply. LINDSEY: Pre-product founder trying to figure out, is this problem worth solving? Who is it for? Jordyn and the team can help you out. thoughtbot.com/incubator. JOSH: And me. LINDSEY: And Josh. JOSH: And if, for some reason, you want to ask somebody about the program who isn't directly affiliated with thoughtbot, you should reach out to me. I'd be happy to talk about my experience. LINDSEY: You should. JOSH: I'd be happy to tell you what I think would be some reasons to join and some reasons that it might not be a good fit for you. And I'd be happy to chat about any of those things. It'd be my pleasure, in fact. LINDSEY: That is a great offer. JORDYN: It is a great offer. You all should take Josh up on that offer. He is an excellent sounding board and mentor. And additionally, if you get into the incubator, you'll just be in a Slack channel with Josh for the rest of time, inside of thoughtbot's Slack. So, that's another [crosstalk 02:05] JOSH: Statistically, there's a good chance you already are. [laughter] JORDYN: You mean in a slack with you. That's true. Josh is in a lot of Slacks, not [crosstalk 02:14]. LINDSEY: Yeah. Once you go through the incubator, you're family for life. JORDYN: You're family. You're here. You're with us. You can't get rid of us. LINDSEY: And you're able to hit us up with the questions, talk to the other founders, so that's another great benefit of participating. All right, but topic of the hour, Josh, hey, how are you? How you doing? JOSH: Lindsey, I am floating right now. We had our end of incubator session last official meeting. And we reviewed how we started, what we hope to accomplish, what we actually did accomplish, and next steps, and it feels really awesome. LINDSEY: It does. That's so great to hear. And can you, at the top here, maybe remind folks who haven't listened before, you know, what was that beginning point that you came in the incubator or the problem that you were looking to solve? JOSH: So, I had this Josh problem, which is that I am overwhelmed by the number of places that I am online and by the rapid increase in my professional network, professional social network, I guess you could say, but in my professional network, you know, see that comment a few minutes ago about how we're probably already in multiple Slacks together, whoever you happen to be online. Plus, if you're on LinkedIn, we're probably at least secondary connections on LinkedIn. Like, there's an awful lot of people, and it's growing really, really fast. And as somebody with a whopping case of ADD, which just feels like making an excuse, as somebody in, like, this modern world, I was feeling overwhelmed, and I felt like I was dropping the ball. And my problem was somebody must have a solution to this. I cannot be the only one. I could not find a solution myself. And I thought, well, maybe if there is no existing solution, maybe we should just go ahead and build it. And that was the genesis of my application to the thoughtbot incubator, which was that even though I've done this once before, I had never done this alone. I don't want to do this alone. And I thought that, you know, because of my experience with thoughtbot in the past and my understanding of, like, thoughtbot's unique organizational skills and capacities, this would be a particularly good fit for the thing that I wanted to figure out. And when I say figure it out, there was really four things I was hoping to get from this program. Let's see if I can remember them all in order. Number one, is this a Josh problem, or is this a broader problem affecting more people? Number two, this is, like, a ladder of problems, right? Like a cascading set. Number two thing I was trying to figure out: if this isn't just a Josh problem, is there at least one identifiable and addressable set of people who think about this problem in a similar way with whom I could engage? Number three, if there is such a group, are they willing, ready, and able to, like, spend money on solving this problem? And then number four, which I guess is kind of orthogonal to the other ones, it's kind of alongside, is this thing to solve even technically feasible, right? Because you can have this, like, amazing opportunity, but you just can't build it. And, you know, is this a thing that we could build or that I could get built within the resources that I might have? And I came in with some hypotheses, with some ideas. It's not like I had never done any research in this at all. But coming out of it, we have four pretty good answers. And I would not have been able to reach those answers with the same level of confidence, certainly not within eight weeks, if I hadn't gone through the incubator, and it's a really nice way to end the year. LINDSEY: With a bow on it. The last time we talked, you had narrowed in, I think, on your starting target market. And you had also recently introduced a prototype into the mix. How has the prototype evolved? JOSH: It's...and this is going to be no surprise to either of you or anybody who's listening. But, like, the difference between, like, talking about something in the abstract and actually having, like, a thing in your hand is night and day. So, the prototype actually evolved pretty rapidly. You know, it allowed us to try using it, like, to put on our own empathetic user analog hats and try it ourselves and be like, "Well, this doesn't quite make sense." This doesn't actually flow right. And it allowed us to show it to a lot of people. I'll say, we are, by far, our own strongest critics, which is good. Mostly, when we showed it to people, people are like, "This is amazing." And they would ask us, like, really specific, weird questions like, "Where's, you know, your about page? Could I see your privacy policy?" which is, like, a really, really good thing to hear. Because if the only thing...one way to interpret that is the only thing keeping them from maybe, like, diving in and using it right now, besides it doesn't actually exist as a product, is, like, some questions around privacy because it seems maybe too good to be true. Like, that's a pretty good buy sign. You know, we were expecting, like, "The screen makes no sense. Why are we swiping here? Where does this data come from? Is this really complete?" They're like, "No, I'm pretty much ready to go." So, that was good, helpful feedback, though we evolved it ourselves a lot internally. It's really nice having a thing. Do we use the term Pinocchio prototype or Pinocchio test [crosstalk 06:58]? LINDSEY: Yes, I did hear that. JOSH: Yeah, I like that. If this was like, you know, this wooden toy wanted to be a real boy, like, two weeks ago, it really, really wants...I don't know, Lindsey, we should, you know, get you in front of it. You're going to be like, "Why can't I use this today?" [laughter] JORDYN: That's definitely what we're hearing from people. JOSH: And my answer would be, "Well, you can't, but maybe in a couple of weeks." [laughs] JORDYN: Yeah, exactly. I will say I want to say for anyone listening in, though, that that was not, getting to what Josh just described where folks weren't really...they didn't have any hang-ups about the functionality or the value prop. They were basically just like, "What's your privacy policy? And when is it going to be ready for me to use?" It's not like the first draft of this prototype that was what we jumped to. I want to be clear. The first time we showed someone, there was this interesting problem, which is that we were still talking to the wrong people, somewhat. And the prototype hadn't evolved to be the slam dunk that it is now. So, at first, it was like, we'd have these kinds of muddled conversations where people were like, "Well, I don't really understand what this is supposed to be, and I'm not sure about that. And this seems interesting," but then their interpretation of what that thing was would be, like, wildly off from what it was intended to be. I just want to make it clear: this was work and effort. And the team did a really great job of iterating quickly based on, like, every time we talked to someone and showed it to them, we'd come back and say, "Here's what I heard." And it really pushed our thinking forward. Like Josh said, like, we are our toughest critics, so, like, every new version unlocked some new insights in ourselves about what it was we were actually driving toward. Really, just there's nothing like having a thing to look at and bang on to, like, clarify your thinking. LINDSEY: There's nothing like having a thing. Jordyn, you touched on you were talking to the wrong people, maybe. How has that exploration of the core market evolved? Is it still the startup enthusiasts? Are you even more narrow in that? What are the updates there as our chief market focus get everyone thinking about this all the time, officer? JORDYN: Yes. So, you know, startup enthusiasts is still the umbrella. What you're looking for with this is that you can guarantee pretty much every time you talk to someone in a segment or a sub-segment you will know how the conversation is going to go. And we've gotten there with two sub-segments of startup enthusiasts, which is repeat founders, key, key kind of nuance there. Founders, sure, but repeat founders really have this problem, for reasons we could talk about, and then chiefs of staff at startups, which is a relatively new role that's sort of emerged over the last sort of several years. But those folks are really the people that you ask them about this pain point, and they immediately are, like, yes. They use the same words to talk about the pain point. That's another really strong signal. When folks are using the same vocabulary, and they say the same sentences in the same order, and you start to feel a little bit creeped out, like, you're like, "Did you see these questions before I...? What? Did someone pay you to say that?" is, like, how you start to feel [laughs] [crosstalk 09:59] LINDSEY: Also, a marketer's dream. Oh my gosh, here comes the messaging, right? JORDYN: Exactly. LINDSEY: [inaudible 10:04] JORDYN: It feels like a cheat code because you just get to reflect their language back to them. You don't have to write copy. They wrote the copy. You just show them it, and they're like, yes. And everyone's like, "Yes," and it works. LINDSEY: Any thoughts to add to that, Josh? JOSH: It's really good. I would say the bummer or the good thing about this point is we're getting diminishing returns from testing everything other than the actual product, which is good that we got there in eight weeks. But we're not going to learn, you know, keep on adjusting the prototype and making little tweaks and more user research. But the truth is, we're not going to get anything substantial until we get this into some users' hands. JORDYN: Like you say, this is sort of bad news, but it's good news. JOSH: Right. JORDYN: It's how you know, right? When you get to the point where the thing is so clear, and the way to talk about it with folks is so clear that you're not learning as much anymore, diminishing returns is the right way to frame it. You really just need people to get in there and use it. That's the only way you're going to keep learning. That's the moment to build. Hey, everyone out there, don't build before that. That's when you build. And then you really build the smallest thing you can conceive of building, and then whatever that thing is that you've conceived of building that's very small, scope it back by 50% [laughs]. Do it. JOSH: And it's a little humbling as someone who considers himself a founder but who had reasonable success as a founder and who has had pretty good success as, like a very, very early-stage, you know, zero to one and 1 to 10 product leader, has done this a bunch of times and actually coaches people in doing this, and came in with, I'm not going to lie, a pretty good vision in my head for how this stuff was supposed to work together. And it's so much better now. Going through a process actually makes things better. This wasn't just, like, wasting time. Like, going through a process, a thoughtful process actually makes us much better. Like, the thing we're talking about building is much more likely to be successful than the thing I was originally thinking about building, right, Jordyn? JORDYN: Yes. I guess it bears sort of diving into that a little bit, which is, you know, for all the founders out there or folks with a product idea kicking around your head, you're apt to have a little bit of everything we've talked about already. You have an idea of the solution you want to build. You have an idea of who it's for. You have an idea of what their pain points are. And you might be sitting there thinking to yourself, I don't need to do eight weeks of discovery. I already know the answers to all of these questions. And it's possible Josh felt that way coming into the incubator, but doing the work, gathering the data, talking to a ton of people, what you can't understand before doing that is how much more confident and at ease you will feel once you have done it and how much clarity you'll have about what it is you need to build first because likely, you're sitting there with a vision in your head for this product that is fully featured, fully formed. It is the 18th month. We just went into a hidey hole and built a really complex thing, thing. Cool, don't throw that out. But you got to begin somewhere, and you got to begin somewhere meaningful and valuable. And it's really hard to know where to begin without this discovery, without focusing on a specific person, talking to as many of those folks as you can. And really, it sort of writes itself. It does feel easy. But you've got to set aside the time and the effort to do the research, market research, whatever we call this, customer discovery. And it thrills me to no end, Josh, to hear that that is how it felt for you, that you probably felt like you already knew the answer. But it just feels different, having talked to, I mean, how many people, 100-plus people? We were looking at the stats. JOSH: Well over 100. LINDSEY: Josh was talking to a bunch of people before he came to the incubator, and all the founders that we accept have been doing that. Like, we want to know that you've been doing that research. But then, I guess, coming into the incubator, you're continuing that process and maybe in a more structured or a differently structured way where the thoughtbot team is helping you, maybe zero in far deeper on the segment. Is that accurate to say? Just kind of the difference between, like, maybe some of the pre-research and then the thoughtbot-specific user interviews that happen. JOSH: Yeah. I think they were more focused. They're both more focused from the audience, but also more focused from if it's not just you doing it; it forces you to have a more clear, here's the questions we're asking, and here's what we're trying to learn, all these conversations. It's also really nice to have some diversity in who's asking the questions. As good or bad as I am at user research and user discovery, I am only one person. And having people with different backgrounds professionally, who live in different countries, who have different feelings about social media, basically, who are not me in a variety of really interesting ways, I think, made the entire process more interesting. Caro, who is our lead designer on the project, handed off basically the summary document of, like, everything we learned, and she pulled out, like, little snippets from the interviews. First of all, that is not something I would have done had it been just me, like, let's be very, very clear. This is an incredibly valuable document, particularly as we consider adding additional people onto this project to be able to, like, translate insights. But also, like, this is, like, summarized in a way that, like, takes some real expertise. And I would have walked away with vibes, and instead, we walked away with like, structured learning. LINDSEY: Awesome. So, the last time we checked in, also, you were very excited because you had just maybe started a technical spike and were starting to dig into the, okay, like, how technically feasible is this product? And I think, at that point, you all were looking at circling around this target market. Here are the main tools they use to communicate. What does it even look like to connect with those APIs? How possible is it? Can you give us an update on some of that work? JOSH: The way that I framed the question in the very beginning was, is this a science project, or is this going to be engineering? And, for the most part, the answer is, it's going to be engineering, right? Some are a little bit easier; some are a little bit harder. But it isn't, like, reinventing new stuff, with one exception, and that is connecting up with iMessages, which has been in the news a little bit. And I honestly just hope the ghost of Steve Jobs comes back and haunts, you know, the Apple headquarters at Cupertino because, come on, guys, interoperability is sort of the future, and you're ruining it for everybody. But other than that, I think we have a pretty clear path. I'd like to test out some of these. Like, you don't really know until you do it. I think that's kind of the next step of what we're doing is to, like, demonstrate that it is possible for a person to connect up a couple of different accounts. It is possible for us to extract data and turn that into information and insights in the kinds of ways we thought we could and then present that back in a meaningful way. I think that would be the next step for us to do. Mostly, everything seems feasible, except for iMessages. LINDSEY: I've also, I think, heard some whispers of artificial intelligence for Knect. Is that true? Have you all looked at, you know, what AI's role could be in the solution? And how does that research look? JORDYN: We assume it will be part of the mix. That said, I don't know how to frame it exactly. It's not like it's not an essential ingredient. I think the work with large language models and the democratization of that work recently is absolutely going to make this product way better than it would have otherwise been. But there are a lot of heuristics we've, like, been able to, you know, draw out and come up with that are, frankly, algorithmic, and they're not AI necessarily. Now, the line between big data plus an algorithm and AI in the popular lexicon, like, there's a big difference between those two things. But, like, as people talk about it, yeah, where does one end and the other begin? But we definitely will be making use of a lot of the newest technologies, and we've dabbled in them. I've dabbled in them. I know, Josh, you've been playing around with some of them, too, to the point where we're like, okay, yeah, we can make use of this stuff. It will be a valuable kind of tool in our toolkit, but it will not be the sole basis of value. I guess that's the sort of nuanced answer. But maybe Josh has a more bite-sized hype machine answer to this. Yeah, AI to the moon, right? JOSH: Um, no. My only answer would be more cynical. Would anybody rightfully start a company in 2023 without having AI in there someplace? Maybe I'll say something different. One of the things that we've wondered is, there's more than a handful of companies that are adjacent to what we're doing that are definitely looking at similar kinds of problems and that aren't building the solution that, clearly, some market is, like, desperate for. And these are not, like, wildly successful companies that have grown astronomically and changed the market. And, like, trying to figure out, like, why is that? And one of the reasons is...I sound like a tech bro, right? There has been a paradigm shift in the technology world, but there really has been. What do, you know, publicly available LLMs like, you know, OpenAI's ChatGPT, like, what have they done? They have taken a whole set of problems that were once really, really complicated and allowed you to do a reasonable job of solving them much more easily than you ever could before. And it takes some amount of imagination, to realize that, to realize that these things are more than just, I mean, every product I have on my computer has some kind of OpenAI ChatGPT-style thing in there, right? It's, like, 16 different variations on give me a prompt, and I'll write your essay for you, and they all kind of suck. But those aren't the really exciting uses that I've seen. It's the more subtle things. There's a company called Booklet, which tries to replace, like, noisy email lists or noisy communities to something more calm. And one of its features is it'll send you a summary of what's been going on in the community since, like, the last time you checked in. And it gives you, like, two paragraphs to read, and they're really chill and really informative, and they don't make you feel FOMO. They don't make you feel stressed up. Like, okay, stuff's happened in the community. This is really neat. And it's all powered by OpenAI's APIs. And it's really kind of magical. And, like, you have to have a slightly different perspective to imagine these kinds of magical moments. So, that's what I'm excited about. There's a set of things that we would have had to do with, like, terrible, complicated queries and, like, pattern matching, and freaking grep, or whatever old-school tools we would have had, you know, for doing things in the past. And now you just get to, like, shove text in one end, and say how you want the results structured and get the results back in the other end. And it doesn't have to be perfect, but that's okay. Like, we're talking about human relationships, which are inherently imperfect. So, I'm fine with this. And it's kind of exciting. But we'll see in, you know, if we end up continuing going down this path. Like, that's the goal of the next stage is to be, like, okay, what are the easy things which we can generate out of this? Is there an intersection between, like, easy and meaningful? And if there is, this is pretty exciting. JORDYN: Can I add something to that? Which is that the problem Knect is trying to solve and the way that we're trying to solve it, the way we've thought of solving it that's differentiated, lends itself really well to the current landscape of AI tools in that, and you were kind of getting at this, Josh, but I feel like it bears drilling into a little bit, in that what we are proposing here is not a set of deterministic things. We're not going to give you a to-do list. It's not, like, a linear...deterministic is really the right word. Like, there's a to-do list. There are things that make the cut. You got to go address them, et cetera. We're way more trying to approximate the way a slightly more put-together person with more time would approach nurturing their relationships, which is just to remember more of it more of the time. It doesn't mean we need to remember all of it every time. That's not the kind of task this is, which makes it a really good task for the place that AI is at right now. And I think where folks have failed in the past is that they've either tried to turn it into a deterministic set of tasks, which then just feels like another to-do list, another inbox in a series of to-do lists and inboxes that you have in your life that just make you feel guilty and inadequate. That doesn't seem fun to us. We don't think you need another one of those. Or other places we've seen this fall down, which is that it takes the current sort of state of AI and tries to actually do the deterministic thing for you, but it doesn't do a good enough job right now. But where we've kind of landed in the middle is that, again, what we're trying to solve for is solvable in a way more probabilistic way. Like, can we get more of this accomplished more easily for you? It's never going to, like, completely, you know, do the task in this perfect deterministic way. But it is going to make you feel more confident and more relaxed à la Booklet, it sounds like, how to do that for this particular problem, which is a different bar and one we think we can clear. And that really does provide value. People are really longing for this. LINDSEY: Jordyn and Josh, building on those descriptions of, like, kind of maybe bad AI use case, good AI use case, could you give some specific examples of, like, what that might look like for Knect, like, how AI could be used in a good way or maybe what you're trying to avoid, more specifically? JOSH: Yeah. First, I'm going to start with what I want to avoid, which is, there are tools out there, and these may be interesting to some people listening, and if so, go find them. Good luck. But there are tools out there that say things like, "Keep in touch with your network at scale." And will use AI to write a message which you can send out to people without you ever having to, like, review it. That seems like creepy, futuristic sort of, you know, there's, like, a Black Mirror episode about that. Like, the whole point of having, like, a professional network of people who you care about is actually interacting with them. And having some service, like, write some prompt, maybe in its own voice, maybe if it's really good in your voice to, like, let them know that you care about them, let them know that you're thinking about them is, like, that's just bad. I think that's bad. And we don't have any plans to do that kind of thing, even though most uses for AI in the products that I use are writing three or four paragraphs in response to, like, a prompt. So, certainly, that's the common use case. It's not very appealing to us, and, frankly, in the people we were talking to, that wasn't one of the things that anybody ever suggested. It's obvious, but as far as we can tell, uninteresting, right? Just because it's obvious and just because it's straightforward doesn't mean it's interesting. The things we're imagining, for example, is, talk about Jordyn. Jordyn and I have known each other since 2020, I think. And we have, like, a whole history of text messages going back and forth, which, by the way, we actually could integrate because we both have Android phones, you know, shout-out for Open Internet. It might be interesting to, you know, summarize some of that, like, I know Jordyn pretty well, but other people who I might have not talked with in a while, sure, you could present me with a whole timeline of our communication. But that isn't necessarily useful. I'll have to read every bit of it. Why not, like, take all that and summarize, here's things you guys talk about. Here's things that, like, prompted your past few conversations: job change, got laid off, started a company, got a cat. Whatever those topics happen to be like, share some of those things. Bring me up to speed a little bit faster without having to literally review every word that could have been going back multiple years. That's a pretty good use of it. If you think about the way that messages work, right? Like, my kids are now at the age where they have phones, and I can now text my kids during the day. I will just tell you, like, this is, like, an incredibly joyful thing for me to be able to send, like, stupid memes to my kids or, like, what's exactly the right emoji to, like, send to them or for them to send to me. If every one of these things were, like, pushed to some kind of timeline, and I'm like, "What's going on with my kids?" Like, that's just, like, going back and reading through, like, your WhatsApp thread, which is something that isn't interesting necessarily, at least not from, like, a professional perspective. And there's, like, thousands of these things. Like, why do I want, like, a record in my, like, database of people who I talk to that says, "OMG," or "K," or "lol," or those sorts of things? Like, that's, like, a phrase. It isn't a conversation. And we could use an LLM to go summarize what the conversation was all about, which is, by the way, a way more interesting thing to persist over time than, like, my daughter typing "JK, JK, JK," which I think is 15-year-old for laughing at me, but I'm not entirely sure. LINDSEY: [laughs] Okay, so as you are...you mentioned wrapping up, and you did your last meeting, and you've got your kind of takeaway docs. You know, one, I'm curious, like, if there's, for your last, you know, days, hours of the program, if there's any final morsels you're trying to get out of it, and then how that kind of leads you into, like, what's next. What are you planning? JOSH: Let's do another one of these things in two weeks. [laughter] LINDSEY: Oh, okay. JOSH: Yeah. I'm inviting myself back on your show. We have one more day of school then, like so many folks, we get in a plane or get in a car and go do some travel and try to disconnect a little bit from our professional networks. So, I'm consciously not trying to say what's going to happen next. I would love to have this conversation again, maybe in two weeks, in the new year, about what comes next. I don't know that I could have a meaningful one right now. JORDYN: I will say what we are trying to send Josh off with into his R&R is what's it going to take to get to a viable MVP, not merely viable, but actually viable? Given what we know, given all this, you know, work that we've done in the last eight weeks, we now have, you know, the ability to envision what version one of something might be. And so, making that kind of argument: here's why it is what we're imagining it to be; here's what it is; here's what it would take to build that thing, gives Josh a lot of stuff to think about in the meantime in terms of how to accomplish that. And the thing that will happen in two weeks is understanding a little bit more about, like, the actual, okay, here's the actual plan. But the ingredients are there, which is super valuable and is a thing we have done every time at the end of every incubator we've done. It's essentially a...it is that what's next plan and why, why that thing. What's the ultimate upside of pursuing this product, and what's the near-term upside? And what's it going to take to get there? Because that's often a thing that founders, especially for some founders, which Josh is not, but what they often can't get their heads around is there's this little feeling if you've got this big vision over here, and you've got, like, the set of things you could do tomorrow, really tasky things really, like, operational things, oh, I need to, like, set up a C Corp, but I need to...whatever those things are, right? What's in between? What's that near-term path that's going to directionally head in the direction of that big vision? It's, so far, always, what we have sent founders off with. LINDSEY: So, if you weren't here at the very beginning of our session, we mentioned that the applications are now open for session 1 of 2024. I'm curious, Josh, what kind of founders would you recommend for the thoughtbot incubator? What's the profile of someone you might send our way? JOSH: I'm going to say something, and I don't think I match that profile, which is interesting, and folks should think about that, what that means. But I would say that if I had to, like, pick a profile, having gone through this, I would say somebody with an idea, of course; ideally, it's one that they have some connection to. They have some personal passion for but, not just because it's an abstract idea but a personal passion that comes from their own experience. And it's really great for somebody who hasn't been inside of a tech company before, at least on the tech, half the business. Tech companies have three halves: one half is, you know, the product building side of bit of it or the tech half, which is engineers, and product designers, and product managers. And the other half of that is the go-to-market side, like sales, and marketing, and customer success. And the third half would be, like, operations like HR and finance. So, if you have experience in, like, the sales, or the marketing, or the customer success side, or the HR, or the finance, or corporate operations or that part of it, and, you know, you're familiar with tech coming from that perspective but maybe haven't been on the actually building stuff side of them before, this is a really, really good process. Because what does thoughtbot do? It does the building in tech side of things: designers, product managers, and especially engineers. And it has this, like, legacy and this history and expertise, therefore, with, like, the journeyman program where they help, like, level people up in those areas and now are applying this to founders. Because as the founder, you do need to develop some ability to converse around engineering and technical stuff. And you really, really, really, really need to get good at the discovery side, especially of, like, product design and product management. And those are the things you're going to get to do and you're going to get to do with people who are themselves really, really good at it. And that's awesome. The flip side is if you're, you know, a founder who is super attached to every bit of your vision, and you think you have the strategy all laid out and you're just looking for, like, warm bodies to build it, I mean, is it the insight team? What's the right level at thoughtbot? I forget the names of things, but, like, thoughtbot has, like, a startup program where you can give thoughtbot money, and they will build things for you. And they're also really, really good at that, but that's not the incubator program. The incubator program is probably a step earlier. So, I think it is worth thinking, are you at the I'm so confident of my vision; I'm so confident in my strategy that I just want to get this thing built, then maybe don't sign up for the Incubator. But if you're at the stage of I think this is a problem; I'm pretty sure this is a problem; I really want it to get solved; I have some vision, but I know it's going to change, then I think the incubator is really ideal, especially if you're looking to upskill yourself, too, because you're going to walk away with the ability to be conversant around the technology stuff. And you're going to walk away with a crap ton of experience with the discovery, qualitative discovery, like user interviews, quantitative discovery, like, you know, running ads, and landing pages, and all that stuff. Like, you're going to be really solid with that stuff after eight weeks because you will have done it. LINDSEY: Jordyn, any thoughts? JORDYN: I love all that. I think it's accurate. I would only say to those of you sitting out there who are thinking, I'm in that other camp; I'm very confident about what it is I want to build; I would ask you to do a little soul-searching as to whether that's actually true. Like, what evidence do you have? If you needed to stand up in court and defend your conclusions and your vision, could you? And I say that as the person who, as a first-time founder, was deluded in that way. I thought I knew exactly what I was doing and for whom and why. And, boy, howdy, could I have used a program like this to actually get me to sit down and, like, talk to people, listen to them, figure out what was valuable and what wasn't, what a valuable, you know, initial market offering was going to be like. Ah, I wish really, really badly that I'd had something like this because I was pretty deluded. I don't even know, like, what the right word is. I just didn't know what I didn't know. So, like the way you described it, Josh, I know Jordyn of 2017 would have been like, "That's me. I know this thing that I need to do. LINDSEY: [laughs] JORDYN: So, I don't need to apply to this program because I don't need to do any of that discovery work." But I was wrong [laughs]. I was absolutely wrong. I was wrong to the tune of, you know, two years and $150,000 of angel investment. So, consider, it is not idly that I say this to you, person sitting out there who feels very confident in your vision right now. Perhaps you have done all those things already; in that case, [inaudible 33:43] you don't need this. And you just need to [inaudible 33:46] with the thing you already know to be true. But ask yourself, how do you know what you know? LINDSEY: Yeah, even if you...we can help you build the thing. But we're probably, also, still going to push you on [laughs] some of those things we [crosstalk 34:01]. JORDYN: Yeah, we're still going to ask. We're going to ask to see the receipts. LINDSEY: Yeah [laughs]. JORDYN: And maybe you have the receipts, which is great, but we're still going to ask you for them, I guess, is my point. Every team at thoughtbot will ask you for the receipts, by the way, not just mine [laughs]. LINDSEY: The other interesting thing you touched on, Josh, was, I think, where we kind of started the incubator was with that target profile that you just described, which is, like, the less technical founder, and maybe even, like, a first-time founder. And then over time and seeing, like, applications, we broadened that as we saw, like, oh, you know, actually, also, technical founders and repeat founders do still need, like, help with this and can use guidance. So, we've expanded a bit, and maybe that is still, like, the person who gets the most value at the end of the day is the non-technical who hasn't really done this before. But yeah, we've kind of expanded to those other profiles as well. JOSH: There's a reason that repeat founders are no more successful on average than first-time founders, and it's something really important that Jordyn said, which is, you may think you've done all this, but we're going to ask you for the receipts. Just because you've done this before doesn't mean you're going to be good at it. Chances are, if you've done this before, it's mostly because you got really, really lucky; ask me how I know. So, it's nice to have. I mean, I described a profile, and I said that wasn't me. But I'll just tell you, as somebody who, like, spent his entire career, almost his entire career, in the tech side of tech companies, and I think I'm pretty good at it, I'm certainly not the worst at it, thinks I'm pretty good at it, it's still really nice to have a team backing you up in this early moment. It's really nice to have a team. JORDYN: Yeah, I will say another thing that we've heard from every founder we've worked with is just how much more real and actionable their idea feels when they have a team sitting there with them taking them seriously, which is another thing, you know, I really would have benefited from is, like, suddenly, when you've got three or more industry professionals sitting there in a Zoom call with you, like, okay, what are we doing? Why are we doing this? How do we know? The feeling of being taken seriously in that way and then having a bunch of people working full-time with you for eight weeks, they're in it with you; they're asking the questions; they're talking to people; they're coming back and saying, "I just had the most amazing conversation with someone. Here's what I learned," it just takes your project to a different level of reality. Like, we're humans. We're social beings. We create reality together. And when you're working alone, you know, through force of will, you can do a lot, but with a group, it really feels like you're creating something together. And, like Josh said, having those other brains with other experiences in other contexts percolating on your idea it's like bringing a team to bear on something. There's just nothing quite like it, and it's a huge value of the program. Like, we can give you the programming and, in fact, you can go run the programming. It is published in our handbook. The things that we do together you can go do, but it is a whole other matter to do them with a team. It just feels different. LINDSEY: Great. Well, I think that's where we're going to end today. I mean, Josh is leaving us hanging a little bit. So, we might need to...we're going to figure out a way to get your final thoughts, conclusions in a few weeks because I know everyone would love to hear what the plan is for Knect. Josh and Jordyn, as always, thank you so much. Any final thoughts or farewells from you today? JOSH: I've really enjoyed it. I'm going to miss these folks. Though, apparently, I get to hang out in a special Slack channel forever. LINDSEY: Yeah, you get to hang out. JOSH: Which is nice. LINDSEY: Exactly. You can't get rid of us just yet. JOSH: Good. I wouldn't want to. LINDSEY: All right. Thanks, y'all. And thanks, everyone, for tuning in. Special Guest: Josh Herzig-Marx .
If you missed the first and second episodes with thoughtbot Incubator Program partcipants and founders Mike Rosenthal and Chris Cerrito of Goodz, you can listen to the first episode (https://podcast.thoughtbot.com/s3e2incubatorgoodz) and the second episode (https://podcast.thoughtbot.com/s3e4incubatorgoodz) to catch up! Lindsey Christensen, head of marketing at thoughtbot is joined by Mike Rosenthal and Chris Cerrito, co-founders of the startup Goodz, and Danny Kim, Senior Product Manager at thoughtbot. Mike and Chris discuss the progress of Goodz, focusing on the recent intense weeks they've had. Goodz, a startup merging the digital and physical worlds of music, has stayed on course with its initial concept. Mike details their approach to Thanksgiving and the launch of their e-commerce experiment. He shares insights from recent user interviews, which have influenced their approach and understanding of their target audience. When the discussion turns to the challenges of launching and maintaining their e-commerce platform, Mike and Chris talk about learning from analytics, marketing strategies, and the importance of understanding consumer behavior. They discuss the challenges in balancing short-term and long-term goals, and the upcoming fundraising efforts. Transcript: LINDSEY: Thanks for being here. My name's Lindsey. I head up marketing at thoughtbot. If you haven't joined one of these before, we are checking in with two of the founders who are going through the thoughtbot Startup Incubator to learn how it's going, what's new, what challenges they're hitting, and what they're learning along the way. If you're not familiar with thoughtbot, we're a product design and development consultancy, and we hope your team and your product become a success. And one way we do that is through our startup incubator. So, today, we are joined by our co-founders, Mike Rosenthal and Chris Cerrito, Co-Founders of the startup Goodz. And we also have another special guest today, Danny Kim, from the thoughtbot side, Senior Product Manager at thoughtbot. So, I think, to start off, we'll head over to the new face, the new voice that we've got with us today. Danny, tell us a little bit about your role at thoughtbot and, specifically, the incubator. DANNY: Yeah, sure. First of all, thanks for having me on, and thanks for letting me join in on all the fun. I'm one of the product managers at thoughtbot. I typically work for the Lift-Off team. We usually work with companies that are looking to, like, go into market with their first version MVP. They might have a product that exists and that they're already kind of doing well with, and they kind of want to jump into a new segment. We'll typically work with companies like that to kind of get them kicked off the ground. But it's been really awesome being part of the incubator program. It's my first time in helping with the market validation side. Definitely also, like, learning a lot from this experience [laughs] for myself. Coming at it specifically from a PM perspective, there's, like, so much variation usually in product management across the industry, depending on, like, what stage of the product that you're working in. And so, I'm definitely feeling my fair share of impostor syndrome here. But it's been really fun to stretch my brand and, like, approach problems from, like, a completely different perspective and also using different tools. But, you know, working with Mike and Chris makes it so much easier because they really make it feel like you're part of their team, and so that definitely goes a long way. LINDSEY: It just goes to show everyone gets impostor syndrome sometimes [laughter], even senior product managers at thoughtbot [laughter]. Thanks for that intro. It's, you know, the thoughtbot team learns along the way, too, you know, especially if usually you're focused on a different stage of product development. Mike, it's been only three weeks or a very long three weeks since last we checked in with you, kind of forever in startup time. So, I think the last time, we were just getting to know you two. And you were walking us through the concept, this merging of the digital and physical world of music, and how we interact with music keepsakes or merchandise. How's my pitch? MIKE: Good. Great. You're killing it. [laughter] LINDSEY: And has anything major changed to that concept in the last three weeks? MIKE: No. I mean, I can't believe it's only been three weeks. It feels like it's been a long time since we last talked. It's been an intense three weeks, for sure. No, it's been going really well. I mean, we launched all sorts of stuff. I'm trying to think of anything that's sort of fundamentally changed in terms of the plan itself or kind of our, yeah, what we've been working on. And I think we've pretty much stayed the course to sort of get to where we are now. But it's been really intensive. I think also having sort of Thanksgiving in there, and we were kind of pushing to get something live right before the Thanksgiving break. And so, that week just felt, I mean, I was just dead by, you know, like, Thursday of Thanksgiving. I think we all were. So, it's been intense, I would say, is the short answer. And I'm happy, yeah, to get into kind of where things are at. But big picture, it's been an intense three weeks. LINDSEY: That's cool. And when we talked, you were, you know, definitely getting into research and user interviews. Have those influenced any, you know, changes along the way in the plan? MIKE: Yeah. They've been really helpful. You know, we'd never really done that before in any of the sort of past projects that we've worked on together. And so, I think just being able to, you know, read through some of those scripts and then sit through some of the interviews and just kind of hearing people's honest assessment of some things has been really interesting. I'm trying to think if it's materially affected anything. I guess, you know, at first, we were, like, we kind of had some assumptions around, okay, let's try to find, like...adult gift-givers sounds like the wrong thing, adults who give gifts as, like, a persona. The idea that, like, you know, maybe you gift your siblings gifts, and then maybe this could be a good gift idea. And I think, you know, we had a hard time kind of finding people to talk in an interesting way about that. And I think we've kind of realized it's kind of a hard persona to kind of chop up and talk about, right, Chris? I don't know [crosstalk 04:55] CHRIS: Well, it also seemed to, from my understanding of it, it seemed to, like, genuinely stress out the people who were being interviewed... MIKE: [laughs] CHRIS: Because it's kind of about a stressful topic [inaudible 05:03], you know, and, like, especially -- LINDSEY: Why? [laughs] CHRIS: Well, I think, I don't know, now I'm making assumptions. Maybe because we're close to the holiday season, and that's a topic in the back of everybody's mind. But yeah, Danny, would you disagree with that? Those folks, from what we heard, seemed like they were the most difficult to kind of extract answers from. But then, if the subject changed and we treated them as a different persona, several of those interviews proved to be quite fruitful. So, it's just really interesting. DANNY: Yeah. It really started, like, you kind of try to get some answers out of people, and there's, like, some level of people trying to please you to some extent. That's just, like, naturally, how it starts. And you just, like, keep trying to drill into the answers. And you just keep asking people like, "So, what kind of gifts do you give?" And they're just like, "Oh my goodness, like, I haven't thought about buying gifts for my sister in [laughs], like, you know, in forever. And now, like [laughs], I don't know where to go." And they get, like, pretty stressed out about it. But then we just kind of started shifting into like, "All right, cool, never mind about that. Like, do you like listening to music?" And they're like, "Yes." And then it just kind of explodes from there. And they're like, "This last concert that I went to..." and all of this stuff. And it was much more fruitful kind of leaning more towards that, actually, yeah. LINDSEY: That's fascinating. I guess that speaks to, especially at this stage and the speed and the amount of interviews you're doing, the need for being, like, really agile in those interviews, and then, like, really quickly applying what you're learning to making the next one even more valuable. MIKE: Yeah. And I think, you know, like, we launched just a little sort of website experiment or, like, an e-commerce experiment right before Thanksgiving. And I think now, you know, we're able to sort of take some of those learnings from those interviews and apply them to both sort of our ad copy itself but also just different landing pages in different language on the different kind of versions of the site and see if we can find some resonance with some of these audience groups. So, it's been interesting. LINDSEY: Are you still trying to figure out who that early adopter audience is, who that niche persona is? MIKE: I think we -- CHRIS: Yes, we are. I think we have a good idea of who it is. And I think right now we're just trying to figure out really how to reach those people. That, I think, is the biggest challenge right now for us. MIKE: Yeah. With the e-commerce experiment it was sort of a very specific niche thing that is a little bit adjacent to what I think we want to be doing longer term with Goodz. And so, it's weird. It's like, we're in a place we're like, oh, we really want to find the people that want this thing. But also, this thing isn't necessarily the thing that we think we're going to make longer term, so let's not worry too hard about finding them. You know what I mean? It's been an interesting sort of back and forth with that. CHRIS: From the interviews that we conducted, you know, we identified three key personas. Most of them have come up, but I'll just relist them. There's the sibling gift giver. There was the merch buyers; these are people who go to concerts and buy merchandise, you know, T-shirts, albums, records, things along those lines to support the artists that they love. And then the final one that was identified we gave the title of the 'Proud Playlister'. And these are people who are really into their digital media platforms, love making playlists, and love sharing those playlists with their friends. And that, I would say, the proud playlister is really the one that we have focused on in terms of the storefront that we launched, like, the product is pretty much specifically for them. But the lessons that we're learning while making this product and trying to get this into the hands of the proud playlisters will feed into kind of the merch buyers. MIKE: Yeah. And I think that, you know, it's funny, like, this week is kind of a poignant week for this, right? Because it's the week that Spotify Wrapped launched, right? So, it's like, in the course of any given year, it's probably, like, the one week of the year that lots and lots and lots of people are thinking about playlists all of a sudden, so trying a little bit to see if we can ride that wave or just kind of dovetail with that a bit, too. LINDSEY: Absolutely. And do you want to give just, like, the really quick reminder of what the product experience is like? MIKE: Oh yeah [laughs], good call. CHRIS: This is a prototype of it. It's called the Goodz Mixtape. Basically, the idea is that you purchase one of these from us. You give us a playlist URL. We program that URL onto the NFC chip that's embedded in the Good itself. And then when you scan this Good, that playlist will come up. So, it's a really great way of you make a playlist for somebody, and you want to gift it to them; this is a great way to do that. You have a special playlist, maybe between you and a friend or you and a partner. This is a good way to commemorate that playlist, turn it into a physical thing, give that digital file value and presence in the physical world. LINDSEY: Great. Okay, so you casually mentioned this launch of an e-commerce store that happened last week. MIKE: It didn't feel casual. LINDSEY: Yeah. Why [laughter]...[inaudible 09:45] real casual. Why did you launch it? How's it going? MIKE: I don't know. Why did we launch it? I mean, well, we wanted to be able to test some assumptions. I think, you know, we wanted to get the brand out there a little bit, get our website out there, kind of introduce the concept. You know, this is a very...not that we've invented this product category, but it is a pretty obscure product category, right? And so, there's a lot of sort of consumer education that I think that has to go on for people to wrap their heads around this and why they'd want this. So, I think we wanted to start that process a little bit correctly, sort of in advance of a larger launch next year, and see if we could find some early community around this. You know, if we can find those core people who just absolutely love this, and connect with it, and go wild around it, then those are the people that we're going to be able to get a ton of information from and build for that persona, right? It's like, cool, these are the people who love this. Let's build more for them and go find other people like this. So, I think, for us, it was that. And then, honestly, it was also just, you know, let's test our manufacturing and fulfillment and logistics capabilities, right? I mean, this is...as much as we are a B2B, you know, SaaS platform or that's what we envision the future of Goodz being, there is a physical component of this. And, you know, we do have that part basically done at this point. But we just, you know, what is it like to order 1,000 of these? What is it like to put these in the mail to people and, you know, actually take orders? And just some of that processing because we do envision a more wholesale future where we're doing, you know, thousands or tens of thousands of this at a time. And so, I think we just want to button up and do some dry runs before we get to those kinds of numbers. CHRIS: I think it also it's important to remember that we are talking in startup time. And while this last week seems like an eternity, it's been a week [laughs] that we've had this in place. So, we're just starting to learn these things, and we plan on continuing to do so. MIKE: Yeah. But I think we thought that getting a website up would be a good way to just start kind of testing everything more. LINDSEY: Great. Danny, what went into deciding what would be in this first version of the site and the e-commerce offering? DANNY: I mean, a lot of it was kind of mostly driven by Chris and Mike. They kind of had a vision and an idea of what they wanted to sell. Obviously, from the user interviews, we were starting to hone in a little bit more and, like, we had some assumptions going into it. I think we ultimately did kind of feel like, yeah, I think, like, the playlisters seem to be, like, the target market. But just hearing it more and hearing more excitement from them was definitely just kind of like, yeah, I think we can double down on this piece. But, ultimately, like, in terms of launching the e-commerce platform, and the storefront, and the website, like, just literally looking at the user journey and being like, how does a user get from getting onto a site, like, as soon as they land there to, like, finishing a purchase? And what points do they need? What are the key things that they need to think through and typically will run into? And a lot of it is just kind of reflecting on our own personal buyer behavior. And, also, as we were getting closer to the launch, starting to work through some of those assumptions about buyer behavior. As we got there, we obviously had some prototypes. We had some screenshots that we were already working with. Like, the design team was already starting to build out some of the site. And so, we would just kind of show it to them, show it to our users, and just be like, hey, like, how do you expect to purchase this? Like, what's the next step that you expect to take? And we'd just kind of, like, continue to iterate on that piece. And so... LINDSEY: Okay. So you were, before launching, even showing some of those mockups and starting to incorporate them in the user interviews. DANNY: Yeah, yeah. I mean, we tried to get it in there in front of them as early as possible, partially because, like, at some point in the user interviews, like, you're mostly just trying to first understand, like, who are our target customers? Who are these people? And we have an assumption of or an idea of who we think they are. But really, like, once you start talking to people, you kind of are, like, okay, like, this thing that I thought maybe it wasn't so accurate, or, like, the way that they're kind of talking about these products doesn't 100% match what I originally walked into this, you know, experiment with. And so, we, like, start to hone in on that. But after a certain point, you kind of get that idea and now you're just like, okay, you seem to be, like, the right person to talk to. And so, if I were to show you this thing, do you get it, right? Like, do you understand what's happening? Like, how to use this thing, what this product even does. And then also, like, does the checkout experience feel intuitive for you? Is it as simple as, like, I just want to buy a T-shirt? So, like, I'm just going to go by the T-shirt, pick a size, and, you know, move on with my life. Can we make it as seamless as that? LINDSEY: And so, you mentioned it's only been a week since it's been live. Have you been able to learn anything from it yet? And how are you trying to drive people to it today? MIKE: Yeah, I think we learned that sales is hard [laughs] and slow, and it takes some time. But it's good, and we're learning a lot. I mean, it's been a while since I've really dug deep in, like, the analytics and marketing kind of metrics. And so, we've got all the Google Tag Manager stuff, you know, hooked up and just, you know, connecting with just exploring, honestly, like the TikTok advertising platform, and the YouTube Pre-Rolls, and Shorts. And, like, a lot of stuff that I actually, since the last time I was heavily involved in this stuff, is just totally new and different. And so, it's been super interesting to see the funnel and sort of see where people are getting in the site, where people are dropping off. You know, we had an interesting conversation in our thoughtbot sync yesterday or the day before, where we were seeing how, you know, we're getting lots of people to the front page and, actually, a good number of people to the product page, and, actually, like, you know, not the worst number of people to the cart. But then you were seeing really high cart abandonment rates. And then, you know, when you start Googling, and you're like, oh, actually, everybody sees very high cart abandonment rates; that's just a thing. But we were seeing, like, the people were viewing their cart seven or eight times, and they were on there sort of five times as long as they were on any other page. And it's this problem that I think Danny is talking about where, you know, we need to actually get a playlist URL. This gets into the minutiae of what we're building, but basically like, we need to get them to give us a playlist URL in order to check out, right? And so, you sort of have to, like, put yourself back in the mind of someone who's scrolling on Instagram, and they see this as an ad, and they click it, and they're like, oh, that thing was cool. Sure, I will buy one of those. And then it's like, no, actually, you need to, you know, leave this, go into a different app, find a play...like, it suddenly just puts a lot of the mental strain. But it's a lot. It's a cognitive load, greater than, as you said, just buying a T-shirt and telling what size you want. So, thinking through ways to really trim that down, shore up the amount of time people are spending on a cart. All that stuff has been fascinating. And then just, like, the different demographic kind of work that we're using, all the social ads platforms to kind of identify has been really interesting. It's still early. But, actually, like, Chris and I were just noticing...we were just talking right before this call. Like, we're actually starting to get, just in the last 12 hours, a bunch more, a bunch, but more people signing up to our email newsletter, probably in the last 12 hours that we have in the whole of last week. Yeah, I don't know, just even that sort of learning, it's like, oh, do people just need time with a thing, or they come back and they think about it? CHRIS: Yeah. Could these people be working on their playlists? That's a question that I have. MIKE: [chuckles] Yeah, me too. CHRIS: It's like, you know, I'm making a playlist to drop into this product. It's really interesting. And I think it gives insight to kind of, you know, how personal this product could be, that this is something that takes effort on the part of the consumer because they're making something to give or to keep for themselves, which is, I think, really interesting but definitely hard, too. DANNY: Yeah. And I also want to also clarify, like, Chris just kind of said it, like, especially for viewers and listeners, like, that's something that we've been hearing a lot from user interviews, too, right? Like, the language that they're using is, like, this is a thing that I care about. Like it's a representation of who I am. It's a representation of, like, the relationship that I have with this person that I'm going to be giving, you know, this gift to or this playlist to, specifically, like, people who feel, like, really passionate about these things. And, I mean, like, I did, too. Like, when I was first trying to, like, date, my wife, like, I spent, like, hours, hours trying to pick the coolest songs that I thought, you know, were like, oh, like, she's going to think I'm so cool because, like, I listen to these, like, super low-key indie rock bands, and, like, you know, so many more hours than she probably spent listening to it. But that's [laughs] kind of, like, honestly, what we heard a lot in a lot of these interviews, so... LINDSEY: Yeah, same. No, totally resonates. And I also went to the site this week, and I was like, oh damn, this is cool. Like, and immediately it was like, oh, you know, I've got these three, you know, music friends that we go to shows together. I'm like, oh, this would be so cool to get them, you know, playlists of, like, music we've seen together. So, you might see me in the cart. I won't abandon it. MIKE: Please. I would love that. CHRIS: Don't think about it too long if you could -- [laughter]. LINDSEY: I won't. I won't. CHRIS: I mean, I would say I'm really excited about having the site not only as a vehicle for selling some of these things but also as a vehicle for just honing our message. It's like another tool that we have in our arsenal. During the user interviews themselves, we were talking in abstract terms, and now we have something concrete that we can bounce off people, which is, I think, going to be a huge boon to our toolset as we continue to refine and define this product. MIKE: Yeah, that's a good point. LINDSEY: Yeah. You mentioned that they're signing up for, like, email updates. Do you have something you're sending out? Or are you kind of just creating a list? Totally fine, just building a list. MIKE: [laughs] No. CHRIS: It's a picture of Mike and I giving a big thumbs up. That's, yeah. [laughter] MIKE: No. But maybe...that was the thing; I was like, oh great, they're signing up. And I was like, gosh, they're signing up. Okay [laughter], now we got to write something. But we will. LINDSEY: Tips to making your playlist [crosstalk 19:11] playing your playlist -- MIKE: Yeah [crosstalk 19:13]. CHRIS: Right. And then also...tips to making your playlists. Also, we're advancing on the collectible side of things, too. We are, hopefully, going to have two pilot programs in place, one with a major label and one with a major artist. And we're really excited about that. LINDSEY: Okay. That's cool. I assume you can't tell us very much. What can you tell us? MIKE: Yeah. We won't mention names [chuckles] in case it just goes away, as these things sometimes do. But yeah, there's a great band who's super excited about these, been around for a long time, some good name recognition, and a very loyal fan base. They want to do sort of a collection of these. I think maybe we showed the little...I can't remember if we showed the little crates that we make or not, but basically, [inaudible 19:52] LINDSEY: The last time, yeah. MIKE: So, they want to sell online a package that's, you know, five or six Goodz in a crate, which I think will be cool and a great sort of sales experiment. And then there's a couple of artists that we're going to do an experiment with that's through their label that's more about tour...basically, giving things away on tour. So, they're going to do some giveaway fan club street team-style experiments with some of these on the road. So, first, it's ideal, provided both those things happen, because we definitely want to be exploring on the road and online stuff. And so, this kind of lets us do both at once and get some real learnings as to kind of how people...because we still don't know. We haven't really put these in people's hands yet. And it's just, like, are people scanning these a lot? Are they not? Is this sort of an object that's sitting on their shelf? Is it...yeah, it's just, like, there's so much we're going to learn once we get these into people's hands. LINDSEY: Do you have the infrastructure to sort of see how many times the cards are scanned? CHRIS: Mm-hmm. Yep, we do. MIKE: Yeah. So, we can see how many times each one is scanned, where they're scanned, that sort of thing. CHRIS: Kind of our next step, and something we were just talking about today with the thoughtbot team, is building out kind of what the backend will be for this, both for users and also for labels and artists. That it will allow them to go in and post updates to the Goodz, to allow them to use these for promotion as people, you know, scan into them to give them links to other sites related to the artists that they might be interested in before they move on to the actual musical playlist. So, that's kind of the next step for us. And knowing how users use these collectibles, both the kind of consumer Good and the artist collectibles that we were just talking about, will help inform how we build that platform. LINDSEY: Very cool. And right now, the online store itself that's built in Shopify? MIKE: Yeah. The homepage is Webflow that Kevin from the thoughtbot team really spearheaded in building for us. And then, yeah, the e-commerce is Shopify. LINDSEY: Y'all have been busy. MIKE: [laughs] LINDSEY: Is there anything else maybe that I haven't asked about yet that we should touch on in terms of updates or things going on with the product? MIKE: I don't know. I don't think so. I think, like Chris said, I mean, we're just...like, now that the site has kind of stood up and we're really switched over to kind of marketing and advertising on that, definitely digging into the backend of this kind of SaaS platform that's going to probably be a big focus for the rest of the, you know, the program, to be honest. Yeah, just some other things we can do on the next front that could eventually build into the backend that I think can be interesting. No, I guess [laughs] the short answer is no, nothing, like, substantial. Those are the big [crosstalk 22:26] LINDSEY: Yeah. Well, that was my next question, too, which is kind of like, what's next, or what's the next chunk of work? So, it's obviously lots more optimization and learning on the e-commerce platform, and then this other mega area, which is, you know, what does this look like as a SaaS solution? What's the vision? But also, where do we start? Which I'm sure, Danny, is a lot of work that you specialize in as far as, like, scoping how to approach these kinds of projects. DANNY: Yeah. And it's interesting because, I mean, we were just talking about this today. Like, part of it is, like, we can, like, really dig into, like, the e-commerce site and, like, really nailing it down to get it to the place where it's like, we're driving tons more traffic and also getting as low of a, like, cart abandonment rate as possible, right? But also, considering the fact that this is in the future, like, large-scale vision. And there's, like, also, like, we're starting to, I think, now iron out a lot of those, like, milestones where we're kind of like, okay, like, we got, like, a short-term vision, which is, like, the e-commerce site. We got a mid-term vision and a potential long-term vision. How do we validate this long-term vision while also still like, keeping this short-term vision moving forward? And, like, this mid-term vision is also going to, like, help potentially, either, like, steer us towards that long-term or maybe even, like, pivot us, like, into a completely different direction. So, like, where do you put your card, right? Like, how much energy and time do we put into, like, each of these areas? And that's kind of, like, the interesting part of this is starting to talk through that, starting to kind of prioritize, like, how we can maximize on our effort, like, our development and design effort so that things just kind of line up more naturally and organically for our future visioning, so... MIKE: Yeah. A lot of different things to juggle. I saw there was a question. Somebody asked what the URL is, but I don't seem to be able to [crosstalk 24:10]. LINDSEY: The same question as me. We got to drop the link for this thing. MIKE: Yeah, getthegoodz.com. CHRIS: That's G-O-O-D-Z. LINDSEY: Get in there, folks MIKE: Yeah, get [crosstalk 24:23]. LINDSEY: And let us know how it goes. MIKE: Yeah, please [laughs]. Any bugs? Let us know. Yeah. I think that those...yeah, I mean, it's a good point, Danny, in terms of juggling kind of the near-term and longer-term stuff. You know, it's a good kind of reminder our big focus, you know, in the new year is going to be fundraising, right? We're already talking to some investors and things like that. So, it's like, okay, yes, as you said, we could tweak the cart. We could tweak the e-commerce. Or, like, can we paint the big picture of what the longer-term version of this company is going to be in a way that makes it compelling for investment to come in so that there can be a long-term version of this company? And then we can build those things. So yeah, it's definitely a balance between the two. LINDSEY: Oh, also, just casual fundraising as well. [crosstalk 25:06] MIKE: Yeah, yeah. LINDSEY: [laughs] MIKE: But it's hard. It's like, you wake up in the morning. It's like, do I want to, like, write cold emails to investors? Or do I want to, like, look at Google Analytics and, like, tweak ad copy? That's actually more fun. So, yes. LINDSEY: Yeah, life of the founder, for sure. All right. So, that's getthegoodz (Goodz with a z) .com. Check it out. We'll tune in and see what happens with the e-commerce site, what happens with the SaaS planning the next time that we check in. But Chris, Mike, Danny, thank you so much for joining today and sharing what's been going on over the last few weeks: the good, the bad, the challenge, the cart abandonment. And, you know, best of luck to you over the next few weeks, and we'll be sure to check in and see how it's going. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Chris Cerrito and Mike Rosenthal.
On today's episode I'm joined by Stefanni Brasil to discuss her experience at Rubyconf in San Diego, what it's like being a maintainer on the open-source Faker-Ruby, her plans for her talk at the upcoming Sin City Ruby, her work with Thoughtbot, using templates to spin up new Rails applications, and we look ahead to 2024's packed conference slate.Testing JavaScript with Kent C. DoddsJumpstart ProRails BytesInstant_RailsRailsConfRubyConfRails WorldFriendly.rbSoutheast RubyTropical.rbStefanni Brasil on TwitterStefanni Brasil on LinkedInStefanniBrasil.meHex DevsThoughtbotFaker-RubySin City Ruby
If you missed the first and second episodes with thoughtbot Incubator Program partcipant and founder Josh Herzig-Marks of Knect, you can listen to Josh's first episode (https://www.giantrobots.fm/incubators3e1josh) and his second (https://www.giantrobots.fm/s3e3incubatorjosh) to catch up. In the third interview with Josh, Lindsey Christensen, head of Marketing at thoughtbot, and Jordyn Bonds, head of the Incubator Program at thoughtbot, discuss the progress of Knect in the thoughtbot Incubator Program. Most of the conversation involves identifying and focusing on the right target audience. Initially, they considered startup enthusiasts, but after exploring other segments like journalists, they returned to startup enthusiasts with a more refined focus. Josh also talks about developing a prototype and its usefulness in getting feedback and refining the product concept. The technical feasibility of integrating various communication platforms into their solution is a significant focus. They examined different platforms like email, LinkedIn, WhatsApp, Telegram, and SMS to determine which integrations were essential for the minimum viable product. Looking forward, Josh outlines the next steps for the program, which include finalizing high-quality prototypes and making strategic decisions about the scale and funding of the project. Transcript: LINDSEY: Hi, everyone. JORDYN: Hi. LINDSEY: Thanks for tuning in and joining. We're going to be checking in on one of our incubator program participants today. If you haven't joined us before, thoughtbot runs a startup incubator, about an eight-week program for the early, early, early-stage company, idea, founder project to validate that business, find the market, and start thinking about how you build that thing. So my name is Lindsey Christensen. I head up Marketing here at thoughtbot. And today, I am joined by Jordyn Bonds, who heads up the incubator program at thoughtbot. And our guest of honor checking in once again, Josh Herzig-Marks, Founder of Knect, the company going through the program. Thanks for joining. JOSH: Super excited. I'm always excited. LINDSEY: How's it going? How is your founder sentiment this week? JOSH: This -- LINDSEY: Are you on a high? Are you on a low? JOSH: I don't think I'm on a typically high-high. I'm a pretty even-keeled, chill founder. I think it's appropriately enthusiastic but not excessively so, and definitely not at a low trough. LINDSEY: All right, even-keeled. We love to [crosstalk 01:19]. JOSH: Appropriately enthusiastic because we're doing really cool stuff. And this is a lot of fun. LINDSEY: Well, that's great. So, I mean, [inaudible 01:25] that you're working on and especially the last time I checked in with you in the really early stages, trying to find that target niche audience or invalidate, like, the problem with them. How is that going? How's that search for the people with the problem going? JOSH: Yeah. So just to, like, rewind the clock for the folks who maybe haven't seen every one of these, you know, there's a few things that I was trying to figure out to validate whether this problem that I saw was an opportunity for business. And, Jordyn, help me out if I forget some of these. So, number one, is this a Josh problem, or is this problem more broad? Question number two is, could we find an audience of people who are reachable, who share the problem, and who'd be willing to actually pay for this thing? And those little asterisks after pay, right? People pay for things with money but also with time or with reputation. Generally, we're thinking about money here, ultimately. But do they pay for this thing even in time? Would they be able to do that? And the reason we're looking for that kind of a more narrow audience is because you got to build for somebody in the very beginning. This isn't, like, we're limiting ourselves to a narrow audience forever, but we wanted a set of people who we could design this thing for, have prototypes, share it, and hopefully get some consistent feedback so we can build a thing which they would find useful and use that from there. That was two things. And the third thing: is this actually technically feasible? You know, the first time I was a founder, incidental to building our business, we built the world's fastest online transaction processing database that was processing, like, billions and billions of retail records in, like, the time it takes you to, like, click and drag and change the query that we're doing, which is really cool to say out loud, and it demoed really, really well. But that isn't actually a business. And what I wanted is part of validating if this idea, if this problem was an opportunity or something that wasn't a science experiment. And I'd love to talk a little bit more about what we've been doing over the past week, maybe a little later on in this. Because I think it's been a big week for the science experiment or not validation stage of this thing. So, two things we've also done over the past week and a half, two weeks since the last time we chatted, we have a prototype, which looks pretty good, which we can now use to show to people who we think are our core starting audience, our core starting market, and we actually have a core starting market. Both of these things are pretty exciting. I mean, I'm always excited. But we're doing it, like, we're doing the thing that we're supposed to be doing, and I like that. LINDSEY: That's really exciting. So, core starting market is happening. Do you want to talk about maybe how you got there? JOSH: One of the reasons why I was excited about doing this program is Jordyn, and I share the understanding of its importance. But when you're, like, actually the founder, it's really hard to see this, right? Jordyn is like the...I don't know quite how to describe it, but Jordyn is the person who, like, made sure we stayed focused on this part of the effort. And, like, it's a really key part of the thoughtbot incubator. And it's one of the reasons why I'm really appreciative of having gone through the program. JORDYN: So, Josh walked into the program with a problem that he had, which is frequently how products get made and companies get founded. Like, that's fine. It's a great starting place. And as he listed, his question was, is this a Josh problem, or is this a problem for more than just Josh? Because Josh isn't a market segment. Josh is an individual human [laughs]. And a lot of us have product ideas that we would love to have exist so that we can use them, but that doesn't make them good market opportunities. I may or may not be speaking from experience in that regard, ahem. Anyway, so part of the programming here was to figure this out. And it's great to start with, like, okay, well, if Josh is our primary user, who is Josh? Is there a market of Joshs, right? So, we actually started off talking to those folks. And, you know, we're human beings, and we tend to hang out with people like ourselves. And so, Josh knew a lot of people like Josh. One of those people that he knew was me. I am like Josh in regard to this pain point. I also had it. And then I was connected to a bunch of people who had this pain point. So, we broadly spoke to a lot of those folks at first. I don't know that we really had a persona name for this. I don't know, how would you frame this? JOSH: As you know, I only have poor pejorative names for people like us. JORDYN: [laughs] Pejorative? JOSH: There's, you know, a class of people who are at tech companies and startups, and sometimes they start their own companies, and sometimes they work at companies. And sometimes they do coaching. And sometimes they do a little bit of an investment. And sometimes they're on advisory boards. And, you know, when you kind of smoothly move from one thing to the next, sort of often doing several of these things all at the same time. And there's not a really good name for them, but they're kind of people, like I might go so far to say the three of us, and maybe a lot of people who work at thoughtbot and a lot of people we've all worked with in the past and, hopefully, a lot of the people who are listening to this conversation because they, too, could slip into the founding a company stage of this business. JORDYN: So, we've kind of loosely called those people, most recently, startup enthusiasts is our nickname, and there are a lot of folks under that umbrella. But as we talked to those people at this kind of high level, it was very broad. That maybe sounds fairly specific to some of you out there listening, but it's not specific, nearly specific enough to address with a product. So, we were talking. We were listening, getting people to talk to us, "Hey, tell us about how you keep in touch with folks. How does that go? What do you do? Have you ever built your own spreadsheet to keep track of people you know? Tell us about that." Broad questions. And we were learning things and hearing about trends. It wasn't coming into focus. We weren't hearing enough repeatable things. And we certainly weren't hearing about red, hot pain points. It was like a, "Yeah, this is kind of a problem sometimes, but not all the time. My system works more or less [inaudible 07:11]. Then we kind of found this range of personas. Some folks were just like, "I'm awesome at this. It's not a problem. I don't know what to tell you." Okay, well, clearly, that person doesn't need a product because they're feeling good. Great. At the other end of the spectrum, you have people who are just like, "I don't even know what you're talking about [laughs]. Like, this isn't [laughs]..." There were people who were like, "I know what you're talking about, but I'm good at it." There were people who were like, "I don't know what you're talking about. I don't care to ever do this." And then, there was this broad set of people in the middle who were like, "Yeah, I have a problem with this." But we were hearing a lot of different things. In the course of that, Rami, one of the folks on the team, ended up talking to a journalist. And that conversation was very interesting because it did seem like way more of a red, hot pain point with, like, something on the line. And we were like, oh, maybe we've been barking up the entire wrong tree and, like, startup enthusiasts aren't our people; journalists are our people. So, then we did a whole sprint with journalists and realized that journalists is a very broad umbrella [laughs]. There's a lot of different kinds of journalists in a lot of different kinds of contexts. And they have widely varying pain points, habits, needs, wants. We were like, okay, we're hearing some really interesting things in here, but they don't seem like early adopters because they are not the kind of people that just try an app who are just like, "Sure, new app, cool. I'll try that." Startup enthusiasts are people who just, like, try stuff. They're, like, on Product Hunt. They're friends with a bunch of founders, and those founders are, like, "Try this." And then they're like, "Sure, okay. Sure, I'll try it. I'll login." Login to anything once, right? Is kind of the attitude of this group of people, journalists not so much. And so, it felt like it was going to be a really hard thing to address those folks. But we learned a ton. And we really ended up mapping the emotional train in a lot of detail. And as a group, like, we came to a lot of alignment. There was a lot of, like, really good understanding, deeper understanding having gone on that journey. But where we ended up back was like, okay, startup enthusiasts really actually seem like [laughs] a place to start. And it feels like there's enough of them that they could create some kind of early adopter market. But now, with the information that we had, the new information we had, we were like, let us sub-segment this group of people. It's not everybody in that umbrella. Doing that whole journey enabled us to kind of come back to the question with renewed focus, but, like, conviction about how valuable it was going to be to do that, right? And sometimes that's what it takes. You kind of have to do the wrong thing for a second to appreciate doing the right thing, and that's totally fine. The fact that we were able to do that in, what, five weeks is, like, fine. JOSH: And I think the way that we found the sub-segment that made sense was actually pretty simple, right? Once we understood what are the dimensions that are actually important, we did a quick brainstorming session. This wasn't actually a very long process at the end of it, a quick brainstorming session. What are the different kinds of people who fall into this segment? And we just scored them on all the easy things you'd expect to score people on, namely: are they easy to find and easy for us to reach? Do they advertise this quality of theirs someplace publicly, like, perhaps on LinkedIn? And are they easy to find? Like, do we have enough of them inside of our network so we could, like, search for these kinds of folks? And as it turns out, we've already spoken to a lot of these kinds of folks as well. And primarily, we're talking to repeat founders and/or chiefs of staff at startups. JORDYN: If you are one of those people, please reach out to us. We'd like to talk to you. JOSH: We would love it. LINDSEY: Call to action. So, Josh, you mentioned one of the benefits of the program has been Jordyn's ability to kind of laser-focus on finding the target market. Jordyn, how do you do that? How do you keep the team coming back to that? Especially as sometimes it maybe doesn't take that long—sometimes it might feel like you're kind of circling around and around and still aren't finding anyone—and keeping folks motivated to do that or understanding, you know, when are we going to say, "This is it, you know, we're not finding someone"? JORDYN: I'll talk about how it worked in this case. And every team is different and is motivated by different things. And this process is a little different every time, so it's hard to make generalizations. But in this case, what was interesting is that after we did our journalist sprint and we were like, we do want to refocus on startup enthusiasts, but we need to understand a little bit better what we're doing, we actually prototyped a little bit given what we knew, which seems like a bad idea [laughs] on the face of it. It seems premature. The purpose of doing that, then, was to really take a different path to drawing out of each of us what was in our lines. That's, like, so much of the work of a team at this stage is, like, making sure that we're externalizing the things that we're thinking and the assumptions that we have. And it's strange. You would think you would just be like, "Hey, tell me what's in your mind?" But minds don't work that way. You can't just be like, "Hey, mind, what's up?" And then articulate it perfectly in a way that everybody in this group is going to know what you mean. So, prototyping actually drew a bunch of that stuff out. It really...I think that was the moment...I don't know, Josh, how you feel about it. We had been kind of in the doldrums because we did get to the end of that journalists' sprint. And we were like, what are we doing? What have we learned? And prototyping at that moment enabled us to...it was a different way of understanding what we had learned and what we were all now thinking. And it really drew a bunch of dynamics out that it was super helpful. JOSH: It brought some real sharpness to what we thought we'd be able to...the kind of value we thought we could deliver in the early versions of this thing, right? Fast forward two years, who knows? But it brought some sharpness to the kinds of problems that we thought we'd be able to fix and the kinds of problems we thought we couldn't solve. And that also clarified for us, certainly for me, why, oh, here's why this isn't really landing with the journalists, right? And here's why this isn't really landing with some other kinds of folks we were talking to. And -- JORDYN: Biz dev folks. We talked to a bunch of biz dev folks. It wasn't going to land with them, but yeah -- JOSH: They weren't at all excited about it, and then we can kind of understand why. One of the ways that I think about a prototype and I talk about this a lot, and I love doing this. Somebody called this a Pinocchio prototype, the wooden child who wants to be a real boy. Once we had a prototype, we could actually put it onto our actual phones. And I'm not sure how many other people did this on the team besides me but, like, I would carry my phone around with a prototype on it. And every time I thought I might use it, I would pull the damn thing out of my pocket and, like, tap away on the phone. It gave me, again, a very clear sense of the kinds of things I thought we were moving towards solving and the kinds of things that we weren't really solving. LINDSEY: Yeah, Josh, you mentioned there were some exciting developments in the past week. Is that around the prototype? JOSH: This is one. Having the prototype on there was good. It's also really nice to have this be part of a larger team. I was having a hard time. I had been playing with, like, our design team's paper prototype. I was having a hard time communicating what I was trying to do inside of my head. So, I built my own parallel prototype in Google Slides, which was exactly as awesome looking and as functional as everybody listening is imagining it must have been. If you would like your own copy of my Google Slides app development template, please reach out. I will share it [laughs]. But it let me think a little bit, again, the same thing, like, here's how these things fit together. And then it started moving really, really fast. Once we were all putting things down in a way that we could play with, and touch, and talk about in a concrete way, it felt like that part of things started to move really fast. And the quality of our conversations improved with people we were talking to as well. I would say that's half of the things that are really exciting. LINDSEY: Just to continue on the prototype for a second, Jordyn mentioned a major outcome of starting to use the prototype; well, I guess [inaudible 14:37] that you all as a team got better aligned around what you were envisioning for the solution. And then, it also helped you, again, kind of identify the true target market. Are there other things you're already learning from using the prototype and getting it in front of people? JOSH: Yeah, I think there are. By the way, this shouldn't be surprising. This is, like, the classic diverge-converge model that I know thoughtbot uses all the time with not just startup clients when you're building something new. One of the things which, you know, rewind the clock six and a half weeks ago to when we started this thing. I didn't realize how much intelligence would be required behind the scenes to make this thing actually sensible to the final users. And the more we show it to people, the more we realize that, like, intelligence to make things look simple is going to equal people actually using the damn thing. I think we started to see that ourselves in playing with it. But it's really important to have that be validated by actual potential users who aren't, like, in this shit themselves. JORDYN: I mean, immediately, you know, we were able to start showing the prototype to the folks that we were having interviews with, and there's just nothing better than that because they're not going to pull their punches with you. And we got a lot of great immediate sort of spicy feedback [laughs] from people, especially if you're showing them to people who are, like, startup people [laughs], they're just not going to be nice. And so, there was a lot of [crosstalk 15:59]. JOSH: They're like, "Have you considered making this suck less?" JORDYN: Yeah, exactly. "I wouldn't use this at all [laughs]." You're just like, "Okay, thanks." Tell me how you really feel [laughs]. But it's great. I mean, like, there's nothing better than that. Like, I would way rather that than a bunch of people trying to be polite. JOSH: And it also prompts feedback that we wouldn't necessarily have thought of, which is the idea of this. We [inaudible 16:20] thought of this on our own. Like the idea that sometimes you might want to not take an action when you don't really care about a person. But sometimes you really, like, dislike a person so much who you've been talking to you want to never see them again, right? Never show me this person again. It's a thing that we never would have come to, I think, if we hadn't, like, actually been showing the prototype to end users. LINDSEY: Okay, what is the second half of the exciting thing that happened in the past week? JOSH: This is very much a thoughtbot thing. thoughtbot is full of really talented engineers. And over the past couple of days, we've been able to bring a lot of those folks to bear on the question of like, is this thing technically feasible or not? Which was one of my big concerns. And it turns out, that was probably too large a question for the team that we started with. And to be able to, like, do this, like, little discovery spike with, you know, going beyond the three-and-a-half thoughtboter team that we had to some of your most talented, most experienced engineering leads, not forever, but just for, like, a short moment is kind of, for me, at least, like, a real taste of, like, the thoughtbot value is, you know, Jordyn gets to put out a call for assistance, you know, across the company, and people raise their hands and put real-time in. And, you know, we're able to do something in a couple of days that we probably couldn't have done because we have enough people. And, you know, all those, like, network effects of people coming together that could have taken us, you know, weeks or longer just kind of toiling on our own. LINDSEY: For those technical challenges, maybe you don't want to get into specifics, but in broad strokes, can you talk about what some of those considerations are? And maybe at this point, maybe it makes sense to also talk a little bit about, like, how the solution, how you're thinking about the evolution of what the solution is and provides. JOSH: I have an Android phone. I live in the world as a green bubble in a world of blue bubbles. My partner and I are in an interfaith relationship. She has an iPhone. I have an Android phone. And forever, people are accidentally trying to hit up my, like, iMessage account tied to my email address, and the things don't come through. And, all of a sudden, this company someplace in the U.S. figured out some way to, like, reverse engineer the Apple messages iMessages protocol, so I can put iMessages onto my Android phone. They built this thing. It's been, like, all over the tech news recently. This is the problem, if you're trying to bring together all of somebody's social network, is that there is no, like, handy-dandy API for iMessages. There is no handy-dandy API for regular SMS or RCS or any of those other variations of that. There is no handy-dandy API for WhatsApp, for Telegram, sort of ish, kind of maybe for Slack, not really for Discord. It remains to be seen how mature it is for LinkedIn. By the way, email works great, right? If we just build our entire lives off of email, we'd have none of these problems, but we can't. And we had some hypotheses about ways that we could make connecting these other accounts easier. And we just took, like, an awful lot of hands, right? More than two hands. It took more than two hands to figure out if these things were possibilities if those things turn out to be true. And the answer is if they are true, which we're still working to figure out, though it's looking better and better, this isn't a science experiment, right? And if it's not true, then step one is an awful lot of engineer hours to go do what those Beeper Mini folks did and reverse engineer a whole bunch of protocols and systems that were never intended to be open in the first place. JORDYN: I would like to say -- JOSH: Which is why we should all donate to EFF and promote an open internet so that startups like mine don't need to exist. JORDYN: To loop back to your earlier question, Lindsey, about how to keep the team focused on who something is for, this conversation seems like it's not about that. But, to me, this conversation is also about that because we have a long list of messaging platforms that we have heard from folks, like from interviewing them would be useful to have brought into a single place. This was one of the key pain points that Josh has that we heard from other people, which is, like, you connect with people across platforms, right? You might be connected to some on LinkedIn, but you're also emailing with them. Your email history with them is not a complete history of your life with them. None of your online stuff is going to be a complete history because sometimes you actually interact with people [laughs] in reality, which is still, at this moment, not being recorded all the time, but probably not for long. JOSH: As little as possible. JORDYN: [laughs] But still, even within the online world, you're communicating with people across platforms. Maybe you text with someone, maybe you message on LinkedIn, whatever. And having complete context for your relationship with them in a way that makes it really easy to kind of, like, boot up that context in order to reach out to them for some reason, like, maybe you haven't talked in six months, and you just want to remember, where did I leave this relationship? What's going on with this person, right? You're like, where was I talking to them? Oh, I was talking to them in these four places that don't have very good protocols for being brought into the same interface, right? So, like, the stuff is, like, all connected. But to get back to the who question, we have this list of places we'd heard from people, like, in the early interviews and places that Josh was trying to do this connect with people, et cetera. So, it's, like, Slack DMs, and it's email, and it's LinkedIn, whatever. But we also heard Telegram, and we also heard other things. If we don't sufficiently focus on a narrow enough group of people, we risk making the MVP way too big because it needs to connect with every one of these things. And we can't go to market with something that doesn't connect with 12 platforms or something, right? But because we're sufficiently focused, we could actually do the thing where we're like, okay, well, out of this list of platforms, what are, like, the top five? Where is the line? Where's the minimum viability here with what we can connect with that will actually bring value? And I also am an Android user living in an iPhone world. And Josh and I at least have enough awareness to be like, you know what? Maybe Android isn't necessary, even though we would love [laughs] for it to be there. Nine times out of 10, the people that look like us are using iPhones, right? So great, cool. Let's just do the thing. JOSH: Obligatory iPhone test device. JORDYN: Right. I have one, too, but I don't know where it is. So, like, the question of who really matters. Who, like, really helps you focus? If your answer to "Who?" is anybody with a smartphone, well, like, it's going to be really tough to build an actual MVP that's buildable. So, this question that Josh brought in to us, which is, like, "What's technically feasible here?" really intersects very directly with this question of who are we building for? Because you really want to be able to start somewhere. And, you know, if you have a sufficiently red, hot need and it's not, like, to time travel or something that is, like, probably impossible given the laws of our universe, you can find a way, right? And so, the question was, like, why don't we find that so that we can focus on whether it's worth finding a way? And then that intersection of who it's for, what their pain points are, and what's possible with what amount of effort. It all fits together. No single one of those pieces is sufficient for figuring out a path forward. LINDSEY: And are you taking the, you know, okay, we've gotten really good sight on these startup enthusiasts, and these are their top four communication methods; let's try to solve them? Is that the approach? JORDYN: More or less, yeah. Yes. It's like, can we interface with those top...I think for us, it's like a top five, maybe six. JOSH: Five or six. JORDYN: But, like, the first one on there is email, and that's not a problem. Like, we don't...that's fine. LinkedIn is also not a problem; one and two are email, and LinkedIn: good. We're cool with that. That's okay. JOSH: Because every individual has their own thing. So, you know, you may be talking about long tail services, you know, but for the person who uses Telegram as their, like, daily driver, which isn't most people in the U.S., but there's a lot of people abroad, not having Telegram means it isn't useful. And I think that's one of the things hard about this, right? This is a hard business potentially, or it's really easy. We have no idea yet. And that's part of what I find exciting about this is because over the next, you know, week or so, we'll find out how hard a business this is actually, or at least where are the technically difficult parts? LINDSEY: Great segue. What does the next week look like as we've got market niche, prototype, technical feasibility intersectioning, figuring those things out? What exciting things are on the horizon? What's next? JOSH: So, we have about two weeks left, and at the end of two weeks, we're going to end up with a set of high-quality prototypes, which, you know, are easy for any of us to have on our phones, and to flash around to rando strangers we meet at the grocery store because there's no better way to make friends than product testing. And we'll have a good sense of how big and complicated, and complicated in what ways might it be to build this thing. And then, it's time for Josh to make some decisions around, you know, the whole goal of this was to figure out, like, how big of an opportunity is this just to go and do that? What could growth look like? What could pricing look like? Where might the costs be? What would the cost be to build this? Is this, like, a side gig scale thing? Is it a small, you know, angel-funded startup thing? Is this, like, a VC-size thing? I really hope it's not a VC-size thing. And then to think about, you know, what are the resources that would be required to build it, and where might those resources come from? So, at the end of this, two weeks out from now, I think we'll have all the information, you know, that we need. And then, I know a whole bunch of people inside of thoughtbot who are in a great place to provide their own thoughts and advice and experience and feedback on this. And I'll take this to my personal board of directors, including my family, but also, you know, other experienced entrepreneurs and investors I know, and we'll talk through this. And we'll have to go make some decisions, which is a little scary and a little bit fun, but a nice way to kick off 2024. JORDYN: And a lot easier to do after this program. JOSH: We'll have some real information, right? [laughs] JORDYN: Yes. LINDSEY: That's the goal, right? JOSH: Yeah. LINDSEY: Of the incubator to get you in that spot where you can make educated decisions and get others up to speed really quickly with all that research. JOSH: That's right. LINDSEY: That's great. All right. So, you had a call to action earlier. What was that? Oh, if startup enthusiasts are listening, we want to chat with them and talk to them about the solution. JOSH: If you're a founder, if you're a multi-time founder and either done it a couple of times in the past or you're still doing it, reach out. If you are a startup chief of staff and you can define that role for yourself, please reach out. We'd love to talk to you there as well. If you would like a copy of Josh's free wireframing template for mobile apps, please reach out, and I will be happy to provide you that as well. LINDSEY: Amazing. Thank you once again, Josh and Jordyn, for joining and catching us up. It definitely was an exciting update. I can't wait to hear what happens in the final stretch. JOSH: Me too. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Jordyn Bonds and Josh Herzig-Marx .
If you missed the first episode with thoughtbot Incubator Program partcipants and founders Mike Rosenthal and Chris Cerrito of Goodz, you can go here first (https://www.giantrobots.fm/s3e2incubatorgoodz) to catch up! Startup founders Mike Rosenthal and Chris Cerrito are participating in thoughtbot's eight-week incubator program. Mike, with a background in the music industry, and Chris, experienced in physical computing and exhibit development, are collaborating on a startup that creates physical objects linked to digital content, primarily in music. Their goal is to enhance the connection between tangible and digital experiences, starting with a product that resembles a mixtape, using NFC technology for easy access to digital playlists. This project is unique within the thoughtbot incubator as it's the first pure consumer product and involves both physical and digital elements. The team is engaged in user interviews and market validation, with the aim of launching a physical product with a digital backend. They are exploring various marketing strategies for the product and are in the process of building its technical backend. Transcript: LINDSEY: All right. I'm going to kick us off here. Thanks, everyone, for tuning in. We're doing our first update with two founders that are now going through the Startup incubator at thoughtbot. thoughtbot, if you're not familiar, product design and development consultancy. We'll help you on your product and make your team a success. One of the very fun ways we do that is through the startup thoughtbot incubator, which is an eight-week program. So, with us today, I myself am Lindsey Christensen, marketing for thoughtbot. We also have Jordyn Bonds, who is our Director of Product Strategy and runs the thoughtbot incubator. And then, as I mentioned, we've got two new founders who are going to tell us a little bit about themselves and what they're working on. Mike Rosenthal, let's kick off with you. Can you tell us a little bit about maybe your background and what brings you to present day? MIKE: Sure. First of, thanks for having us. It's been a lot of fun doing this over the last [inaudible 01:03]; it's only two weeks, two and a half weeks, something like that. It feels like a lot more. I come from a music industry background, so worked in sort of marketing and strategy for artists for a long time; worked with a band called OK Go back, sort of starting in 2009 or so. I did a lot of early kind of viral music video stuff. And we were sort of early to the idea of sort of leveraging fan engagement and revenue, honestly, kind of beyond sort of just selling their music and touring, so sort of exploring other ways that artists can make money and connect with their fans and was with those guys for five years. And then, I went on and worked at an artist management company in Brooklyn called Mick Management and ran the marketing department there, so doing similar type of work but for a roster of 2025 major label bands. And so, really got to see fan engagement on all different levels, from really large bands down to baby bands who were just getting started. And then, yeah, started my first startup in 2018, so doing sort of fan engagement work, and NFTs, and blockchain-type stuff working with bands, but then also sports and entertainment properties. Yeah, that kind of brings me here. So, always been sort of on the music side of things, which ties into a lot of what Chris and I are working on now, but more generally, sort of fan engagement and how to, you know, drive revenue and engagement for artists and deliver value for fans. LINDSEY: Very interesting. All right, Chris, going to head over to you. Chris Cerrito, can you tell us a bit about your background? And it sounds like yours and Mike's paths; this isn't the first time you've crossed. CHRIS: No. Mike and I have been working together since 2007, I believe. Yeah, that's a great place to start. I've always been kind of a maker and a tinkerer, always been interested in art materials, how things are put together. And that kind of culminated at grad school, where Mike and I met at NYU, where we both studied physical computing and human-computer interaction, making weird things that kind of changed the way that people interact and play with technology in their day-to-day lives. I think the first project he and I worked on together was a solar robotic band that we played with light in front of a bunch of people. It was very wonderful and confusing at the same time. After grad school, I was lucky enough to become a resident artist and then an exhibit developer at a museum in San Francisco called the Exploratorium, which is a museum of science, art, and human perception. I spent ten years there working on exhibits teaching people things ranging from, let's see, I built a dueling water fountain to teach visitors and users about the prisoner's dilemma. I built a photo booth that used computer vision to teach people about the microbiome that lives on their face, like, just all kinds of weird things like that that fuse the digital and the physical worlds. I loved my time there. And then kind of COVID hit and I realized that everything I had been working on for ten years was locked up in a museum that I no longer had access to. And it really gave me a desire to kind of bring my ideas into the physical world. I wanted to make things that people interact with and use in their lives on a day-to-day basis. And I would say that's really what brought me here to this point. LINDSEY: Very cool. Very interesting backgrounds, in my opinion. What is the new idea? What is the thing that you're bringing into the incubator? Mike, I'll start with you. Tell us a bit about what you're working on. MIKE: Chris and I are working on physical objects that connect to digital content is sort of the broadest way that I could describe it. I think, you know, as Chris kind of mentioned, you know, we've both been working on sort of physical things that have interactivity for a lot of our careers. I think we both come from an era of a lot more physical objects in your life, whether that's, you know, VHS cassettes at your parent's house growing up, or records and tape cassettes, and just sort of physical things that remind you of the things that you love. And I think that, you know, cell phones are great, and the sort of the smartphone era is amazing and having, you know, every single song, and movie, and television show and podcasts, et cetera, in a black box in my pocket is great. But I think we've sort of gotten to a point where it's more of an organizational problem now than anything else. And we sort of forget the actual things that we love in this world. And so, we're working on basically making physical objects to tie to digital content, and we're starting with music. And that's what we've been working on at thoughtbot is sort of how we can create physical things that basically you can tap, and that will take you to streaming content. One of the first things we're working on literally looks like sort of a little mixtape on a piece of wood, and you can just load that up with any sort of playlist that you might have on Spotify, or Apple Music, or YouTube, or whatever, and tap it, and it will take you there. And so, it's just sort of that idea of like, oh, we used to be able to sort of flip through a friend's music collection and judge them ruthlessly, or become even better friends with them based on kind of what you saw there. And we think that the time is ripe for, I don't know, a blend of that nostalgia with actual sort of, like, real-world utility that people could be into this right now. Chris, what am I missing there? CHRIS: I'd say just to expand on that a little bit, it's, you know, we spend so much time in the digital world, but we still exist in the physical. And a lot of the things, like, you might spend a really long time editing a photo for your parents or making a playlist for a friend, and there's, like, a value there that might not translate because it's digital. It's ephemeral. And I think tying these digital assets to a physical thing makes them special. It gives them, like, a permanent place in your life, something to respect, to hold on to, and maybe even pass down at some point. LINDSEY: Yeah, and I think before we logged on, we actually had Jordyn and Mike grabbing cassette tapes from the room there and to show us -- MIKE: [inaudible 06:49] LINDSEY: What [laughs] was some of their collection and to prove some of the power of these physical –- MIKE: Nothing, like, just old mixtapes. LINDSEY: Mementos. MIKE: Yeah. We were just talking about this on our sync with the thoughtbot crew. They're, like, there's sort of two levels of nostalgia. There's nostalgia for people like us who, yeah, [crosstalk 07:09] mixtapes, right? For people who actually grew up with this stuff and still have it lying around or don't but, like, look at something like that that gives you, like, instant flashbacks, right? You're like, oh my God, I remember scrolling on that little j-card or, like, getting a mixtape for my first, you know, boyfriend or girlfriend, and having it just mean everything. So, there's people for whom that was a thing. And there's, you know, generations of people for whom that is, like, their only connection to that is, you know, Stranger Things or, like, you know, the mixtape exists in pop culture as a reference. So, there's still, like, a very strong attachment there, but it's not a personal one, right? It's a cultural one. But I think everybody has that connection. So, that's kind of why we're starting with the mixtape, just because I think everyone can kind of relate to that in some way. LINDSEY: Yeah, no, yeah. When I hear mixtape, it goes immediately to crushes. You make a mixtape for your crush. CHRIS: Exactly. LINDSEY: It's a huge, powerful market, powerful. MIKE: Oh my God, so powerful. I mean, yeah, I don't know anybody -- LINDSEY: What's more motivating? MIKE: [laughs] Yeah, exactly. CHRIS: Or even just I have a really good friend who I don't get to see as often as I'd like. And he and I are constantly sending each other, you know, Spotify links and text messages. And it's great. I love that interaction. But at the same time, you know, I might forget to add that to a playlist, and then it's kind of lost. If I had taken the time to make something and send it to him physically or vice versa, it just becomes so much more special and so much more real. MIKE: Yeah. I mean, honestly, I first made these...I mean, we can go to this origin if we want. But, like, I literally just went on moo.com, right? The business card company. And they let you upload, you know, 50 different images, and they'll send you all of those as business cards. And so, I literally went on and just made business cards of all the album covers of, like, albums that I loved growing up, right? And their cheapest is this little piece of cardboard. But I had 50 of these, and I'd put them all out on my coffee table, just as something I wanted to have around. And people kept coming, you know, friends would come over, and you would just have these conversations that I haven't had in 10 or 15 years, right? Because no one's going to come to my house and pick up my phone and look at my Spotify collection. But if these things are all just sitting out, they're like, "Oh shit, you're into that? Like, I haven't thought about that album in 15 years." Or like, "Oh, I didn't know you were into that. I'm, like, a crazy super fan of that artist as well." And all of a sudden, we're having these conversations that we just weren't having. Yeah, there's something there where it's all been nostalgia coupled with the kind of prompting of conversation and connection that we've kind of lost, I think. CHRIS: And I think just to clarify a little bit on what Mike's saying, is, you know, this mixtape will be our first product launch, and then we're hoping to move into collectibles for artists and labels. So, shortly after we launch this tape, we're hoping to launch some kind of pilot with a label where you will be able to buy a version of this for your favorite music artist at a merch table in a concert, possibly online. Our dream is to have these sitting there on the table with T-shirts, and records, and other things that artists sell so you can express for the artists that you love. This is a way of expressing your fandom. LINDSEY: Jordyn, heading over to you, this feels like maybe the first consumer product that has gone through the incubator, would you say? Or how do you think about it? JORDYN: Yeah, if you're a consumer -- LINDSEY: Or is it different than other types of products? JORDYN: Yeah, the first incubator project we did with Senga was, I think, what you would call prosumer. So, it was sort of a consumer thing but directed at folks who had kind of freelancing in sort of a business context. It's got a lot of dynamics of the consumer. But this one, for sure, is the first pure consumer play. Though now that I'm thinking about it, you know, AvidFirst had some consumer elements to it, but it was, you know, it was, like, more complex tech [laughs] [inaudible 10:46] totally different thing -- LINDSEY: But definitely the first of the physical, physical [inaudible 10:52] JORDYN: Oh, sure, the first of the physical thing. Right. Absolutely. LINDSEY: Does that change any of, like, the approach of the programming, or it's kind of -- JORDYN: I mean, no, not fundamentally, though it does add this layer of operations that you don't have with a pure software play. So, we have to be, there is a thing that needs to get shipped to people in the world, and that takes timelines, and it takes -- LINDSEY: Supply chain. JORDYN: Yeah, exactly. And Chris is doing most of that stuff. I don't want to, you know, this is not, like, the main focus of our team necessarily, but it intersects, right? So, this isn't the first one of these types of products I've worked on personally in my career. But there's something, like, really, for me, very fulfilling about, like, there's software. There's a big component of software. There's also this physical object that needs to exist in the world. And partly, what's so compelling about Goodz is that it gives you the promise of a physical, like, the sort of good aspects of a physical product, a thing you can hold in your hand and look at and really connect with in that physical way. But it has this dynamic digital, like, essential quality as well. So, it's very compelling as a product because it sort of marries the things that we like about both the physical world and the digital world, which is partly why the team was really excited about working on it [laughs]. LINDSEY: Well, that was going to be my next question is, you know, what stood out to you about the Goodz application for the incubator and the interview process that made you and the team feel like this was going to be a great project to work on? JORDYN: Yeah. So, I think just the team really resonated with the sort of idea in general, and it seemed fun. There was, like, it's a very positive thing, right? It isn't so much about solving problems and pain points. And, sometimes the, you know, when you're very focused on solving problems, it can feel a little doomy because you actually have to, like, immerse yourself in the problems of the people that you're making software for. And sometimes, you start to feel like the world is just full of problems. What Goodz is doing is sort of it is solving a problem in a sense, but not in that kind of way. It's really, like, a fun upside kind of thing, which I think a lot of the folks on the team were very excited about. But, like, the software component, actually, is very interesting to us from a technological standpoint as well. There's a lot of opportunity here to do interesting things on the backend with an object that's essentially functioning as a bookmark out in the world. What all can you do with that? There's something super compelling and technically interesting about it. And I think, also, the team was just sort of excited by Chris and Mike, you know, the energy and the kind of background they were bringing to the table was also super interesting. And then, above all else, what I say every time you ask me this question, which is stage fit, y'all, good stage fit. They're right at the beginning. They haven't built the product yet [laughs]. Gotta say it. It's a good stage fit. They know who they're building for broadly but not super specifically. Got a good vision but, like, haven't made that first step with the software. Perfect stage fit for us [laughs]. LINDSEY: Great. So, Chris, we were talking a bit before about how you two have been collaborators in the past, worked on business ideas before. Why bring this idea into the thoughtbot incubator? What are you hoping to, you know, achieve? CHRIS: One of the main reasons why we wanted to bring this into the incubator was just for support, momentum, and then, also, I would say validation for our idea. I mean, we came to the incubator with a very, yeah, I would say it was a fairly developed idea that needed to be proved, and we, quite frankly, needed help with that. You know, Mike and I have our own expertises, but we don't know how to do everything. We're more than willing to jump in where we need to go. But having people with expertise to work with has proven to be incredibly helpful and just having kind of fresh faces to bat ideas around with after he and I have been staring at each other for months now on Zoom calls and meetings. And just, you know, being able to talk about these ideas with fresh faces and new people and get new perspectives has been so very, very helpful. I think something that's also great from the momentum standpoint is that because there's a time limit to this experience, we've got the time that we have with you guys, and we've been able to set goals that I think are very achievable for things we want to occur in the next couple of months, and it feels like we're going to get there. And I think by the end of this, I mean, our hope, and I think we're on track, is to have a functioning physical product that we're going to offer to consumers with a digital backend to support it, which is, in my mind, amazing. That'll totally validate this idea and prove if we have something or not. LINDSEY: I was going to ask if you're open to sharing what those goals specifically are. Is that it? Is it that by the end, you have -- MIKE: Is that it? Lindsey, that's a lot. [laughter] CHRIS: It's a lot. I mean, yeah. I mean, we're going to have a physical object in the world that you can buy via an e-commerce site -- JORDYN: Sounds like we need Lindsey on the team if Lindsey feels like this is so achievable. [laughter] CHRIS: Yeah, yeah. Lindsey...yeah. We're in the beginning [crosstalk 15:47] LINDSEY: I meant, is that the goal? CHRIS: That is the goal. LINDSEY: Is that all? CHRIS: I was going to –- LINDSEY: Is that all you got? CHRIS: Mike, do you agree? MIKE: Yeah. Is that the goal? Yes, that is the goal. I mean, you know, when we sat down with the thoughtbot team kind of week one, you know, they're sort of like, "All right, let's define kind of the experiment." So, we refer to them as experiments, which I think is helpful because, like, what are the experiments that we want to be doing during our time here? And, you know, we talked about it a lot. And yeah, I think it's, you know, having a physical product out in the world, having a website in which to sell it. But also, it's really, like Chris was saying, it's like, it's market validation, and just making sure we actually have something that people want. It's like, you know, running a startup takes so long and, like [laughs], you know, you'll do it for so many years. It's like bands when people say, like, "Oh, that's an overnight sensation." It's like, you know, that band has been slogging it out in tiny, little venues for four years before you ever heard of them. It's like, that's what so much of the startup world feels like to me, too. It's like, "Oh, you're just getting started as a startup?" It's like, "Well, we've been working on this forever." And I know how long this can take. And so, I think we want to learn as early as possible, like, is this something people actually want? Because if they don't, like, we'll just go do something else. I don't want to spend years making something that people don't want. So, I think the biggest goal, for me, is just validation, and then that is sort of how we get there is like, okay, how do we validate this? Cool. Let's identify some, you know, assumptions of personas that we think are people who do actually want this and then try to go sell it to them. And all the implications from that are, okay, well, you need a website where somebody can buy it. You need a physical product that somebody can actually buy. So, all those things sort of come out of that, but, for me, it's like, proving that assumption, is this thing real? Do people actually want this? And everything else is like, okay, how do we prove that? LINDSEY: Jordyn, what does that look like in these first few weeks here? User interviews, I assume, how are the user interviews going? JORDYN: Always. Always. So, you know, we kick it off by just, like, doing the exercise where we list everybody who might want this. And the team, you know, it's a fun product. Everybody brought their own assumptions and ideas to the table on that. You know, we had a lot of different scenarios we were imagining. It's super fun getting that stuff out of people's heads, just, like, what are we all thinking? And then, you know, we get to negotiate, like, okay...I always encourage everyone to think, like, if everyone else on the team was on the moon, you had to make a decision about a market segment to pick; which one would you pick? And then we kind of argue about it in a productive way. It really helps us get at, like, what are the dynamics that we think matter upfront? And then we pick one, or, in this case, we have a few. We have a handful. And we're running interview projects where we just recruit people to talk about people that meet this persona, talk about a specific problem. We're in the middle of that right now. And it's fun, fantastic. These conversations are super interesting. We're validating a lot of the things that Mike and Chris, you know, walked into this with, but we're learning a bunch of new things as well. And, like, really, part of the aim there is to validate that there's a hole in the market that we might fill but also to hear the language people are using to describe this stuff. So, when people talk about buying music, merch, you know, making playlists, et cetera, like, what language do they use to talk about that? So that we make sure we're speaking the language that our customer uses to describe this stuff. And we're, you know, we're right in the pocket of doing that, learning stuff all the time. And it helps us kind of hone the messaging. It helps us know where to go talk to people about it, how to talk about it, but it's, you know, it all kind of fits together. And it's just this, really...the early stages. It's just a bunch of us in a room, a virtual room, in this case, sort of, like, tossing ideas around. But out of it crystallizes this sense of alignment about who this is for, how to talk to them about it, and with a goal. And, you know, Mike and Chris walked in with the exact right mindset about this, which is, yes, it's experiments. We need to validate it. Let's make sure there's a there-there. If there's a there-there, let's figure out where it is [laughs], like, all those things. And we're running these experiments, and it was really [inaudible 19:36]. We got down to business quite quickly here. It was really great. LINDSEY: Like you said, it's not necessarily a problem or, you know, the typical framing of a problem. How do you start those user interview questions around this? Do you feel a gap between the physical and the digital sound? [laughter] JORDYN: No, no. LINDSEY: It's maybe not it [laughs]. JORDYN: Yeah, no. Well, I can tell you what our startup questions are. One of them is, tell me about the last time you bought music merch. Go for it, Lindsey. Tell us. LINDSEY: The last time I bought music merch I went to a Tegan and Sara concert a few weeks ago, and I bought a T-shirt. JORDYN: Tell me about buying that T-shirt. Why'd you buy it? LINDSEY: Because I wanted to remember the show and my time with my friends, and I wanted to support the artists. I know that buying merch is the best way to support your favorite touring artists. JORDYN: So, it's just, you know, we could spend the rest of this time talking [laughter] [crosstalk 20:34], and it would be awesome. So, it's really a lot of things like that. LINDSEY: Gotcha. JORDYN: You don't ask, "What problem are you trying to solve by buying this t-shirt?" Right? Like, that's not, you know, but we ask you to tell us a bunch of stories about when you did this recently. You know, and if you make playlists for friends, you know, that's a different persona. But we would have asked, you know, like, "Tell me about the last playlist you made. You know, who did you share it with? You know, what happened after that? What happened after that? What happened after that?" It's a lot of questions like that. And there's just nothing better. People love to tell you what's going on with them. And it's great [laughs]. LINDSEY: Yeah. As you all have been doing these interviews, Mike and Chris, have you been surprised by anything? Any interesting insights that you're seeing already? CHRIS: I mean, I haven't done really much in the way of user interviews in the past. This is a really new experience for me. And then we're, obviously, not on the calls because that would be weird and probably intimidating for people. But we're getting lots of highlights from folks who are doing them, you know, in our daily sync. And I'm surprised at how many, like, really intense, like, playlist nerds we have found even just in, like, the few people we've talked to, like, in the best possible way. Like, people who are like, "I make playlists all the time." Like, you're talking about, like, a vinyl fan or, like, a...Jordyn, what's the story? It's, like, the guy who there was so much out-of-print vinyl that he started a vinyl label just to get the albums in vinyl. [crosstalk 21:56] JORDYN: Yeah. There were a bunch of releases that he feels really passionately about that were never released on vinyl that he knew would never be released on vinyl. And so, he started a vinyl record label. And we just found this guy [laughter]. CHRIS: Is that indicative that that's, like, an entire persona we're going to, like, target? Absolutely not. But it's just, like, it's amazing that even just in the few user interviews we've done, that we've found so many very passionate people. And it's sent me down, like, a TikTok rabbit hole of, like, TikTok, like, music nerd influencer-type folks who are posting playlists. And they, like, hundreds of thousands of likes on these videos that are literally just, like, screen with text on it that you're supposed to, like, pause the video [laughs] and, like, look at, like, the songs that they're recommending. And it's like, who does that? And it was like, these people do that. And it's like, so there are...it's been very encouraging to me, actually. I was worried that we were going to find not as much passion as we had suspected, and I think the opposite has proven to be true. So, it's exciting. CHRIS: Yeah, I completely agree with Mike. It's been so encouraging. I think, for me, what we're doing is an idea that I'm very excited about and have been very excited about for a long time. But hearing the responses that we're getting makes me confident in the idea, too. That's great. I mean, I think that is everything that a founder needs, you know, is excitement and confidence. MIKE: Well, and just the whole user interview experience has, like, made a lot of my other conversations sort of I've tried to frame parts of them as user interviews because I'm talking to a lot of, like, label folks now, and artists, merch people. And, you know, I ended up just sort of, like, asking them, I mean, yes, trying to explain the product and work on kind of partnership stuff, but a lot of it is really just geeking out with them. And just, like, hearing their thoughts about, like, what they love about merch because these are people that clearly think about this stuff all the time. So, it's definitely kind of, like, tuned my other conversations into trying to get unbiased feedback. LINDSEY: Yeah. Everything is a little user interview now. MIKE: Yeah, exactly. LINDSEY: Get that angle in there. All right, so some early validation and excitement. That's really cool to hear. Any challenges or, you know, other kinds of learnings early on? Anything that's been invalidated? MIKE: I don't know that we're there yet. [inaudible 24:02] Chris, I don't know. I'm happy to find that some things are invalidated, but I don't really feel...you know, some of the personas that we decided or maybe just one of the personas we decided to pursue, I think we're having a hard time having those user interviews kind of really bear fruit, but that's helpful, too, actually. I mean, it's like, okay, well, maybe that's not a group that we target. JORDYN: Yeah. It's about, like [inaudible 24:24]. I encourage folks not to think about this like a 'no, not that,' and instead think of it as like a 'not yet.' And that's, I think, the dynamic here with a couple of the personas we were interested in. It's just been turned into kind of, like, a not yet for reasons that we very quickly figured out, but we'll get there. It's just a matter of figuring out we had some other personas take precedence because they're more sort of red, hot in a way, right? It's just easier to get in contact with these people, or it's, like, clear what they're going for or what they need from the market. So, you know, we have this whole list, and it was not clear at first who was going to kind of stand out. But we've kind of found some focus there, which means, invariably, that there's things that are falling out of the frame for now, and you're kind of de-prioritizing them. But it really is, like, a we'll get to that [laughs]. We'll eventually get to that. LINDSEY: Yeah. And part of the process, who's going to rise to the top right now? JORDYN: Yeah, exactly. LINDSEY: Do you have anything you can show and tell with us today or not yet? MIKE: So, Chris has been hard at work on all the physical side of this stuff and going back and forth with our manufacturing partner and all that good stuff. But we have a final version of the mixtape product. LINDSEY: For when this gets pulled into the podcast, Mike's showing us a physical card. CHRIS: It's a small card, and we call them Goodz. And it's printed on three-millimeter plywood using a UV printing process, super durable. And this is something you can put in your pocket. You're not going to wreck it. I think you could actually (Don't quote me on this.), but I think you can even, like, put it through a washing machine, and it would be fine. Embedded in this card is a chip that can be read by your phone, and that's pretty much what we're working with. MIKE: Yeah, so the idea is you just sort of tap this, and it'll take you to a streaming version of a playlist. And then Chris has also been making these adorable crates. And [crosstalk 26:10] LINDSEY: The little crates I love. MIKE: And we actually have some wooden ones, too, in the testing that's [crosstalk 26:15] LINDSEY: And then the mixtapes get stored in the little crates [crosstalk 26:19] MIKE: Yeah. So, you could have -- LINDSEY: Throw it on your desk. CHRIS: Each crate can hold about, I think, 15 of these things. What's really cool about this product on the physical side is we are using a tried-and-true technology, which is NFC chips. These are things that make Apple Pay work, make Google Pay work. They are in your E-ZPass when you drive through a toll booth. This is stuff that's been around for years. So, we're just kind of leveraging this technology that's been around for so long in a new way. MIKE: Yeah, I think it's similar to kind of the evolution of QR codes, right? It's like they were sort of around forever, and then it was, like, COVID and restaurant menus kind of kicked those into mainstream. Like, NFC has been around for a long time. It's very tried and true. It's affordable. But I want to say Apple only turned it on by default, like, the NFC reader in the iPhone in the last, like, 18 to 24 months, right? Like, it started...like, it's been around for a while, but they're sort of slowly kind of...and now you just sort of see it everywhere. People are using it on the subways in New York to scan for tickets or for accessing stuff. I was also just showing Chris has been prototyping with the ability to sort of keep these on a key ring. So, we have, like, a little chain hole on them. It is [inaudible 27:22] to sort of have this on your backpack or, you know, on a key ring, or something like that. And friends could kind of, like, come up to you and just, like, scan one that looks interesting. CHRIS: And yeah, something that's awesome about this is you don't need an app. You don't need to download anything. As long as your NFC reader is on when you scan this, it will bring you to the music that it's linked to, which I think is awesome. So, I mean, my dream is to have these, like, hanging off of people's backpacks so I can, like, scan them in the subway or, you know, it's such, like, an easy thing to do. And it requires so little technical time on the user's end to be able to do it. LINDSEY: Oh, we got a question here. "So, Moo used to offer NFC cards. What made you decide to do the thicker plywood model?" CHRIS: Durability is really what it comes down to. We wanted something that felt like an object that you can have and treasure. Like, these have weight, you know, these feel like something, not just a piece of paper. This is something that you can have and [inaudible 28:22] your desk, and it's not going to fade in the sunlight. It's not going to disintegrate over time. This is something that's going to last. MIKE: Yeah, the cards would definitely, like, as I would sort of carry them around and show them to people and stuff, the cards would start, you know, breaking. It's like having a business card in your pocket, right? Eventually, it's going to kind of wear out. And plus, we had, like, the stickers were visible on the back of them. And we were, like, having the sticker just completely disappear inside the wood it just feels a little bit more like magic. LINDSEY: Well, thanks for demoing there. I put you on the spot a little bit. But they are...I had seen them in the Slack, and they're very cool [laughs]. So, I had to ask if we could show them off a bit. MIKE: Of course. CHRIS: I think another thing to think about, too, is we've been talking a lot about the user experience. But if and when we get to the point of making these for artists, artists will be able to collect so much data off of the way that people buy and collect and use these things over time, which is something that we're really, really excited about. And also, you know, we're working on a way to make the link in the object updatable over time. So, artists will be able to change what a card points do to inform their users about the latest and greatest thing. LINDSEY: Very cool. Jordyn, what's next on the programming agenda for Chris and Mike? JORDYN: It's really sort of we're in this, like, iterative cycle. So, we're talking to folks. We're working on the website. The conversations we're having with people are informing how we're framing this first experiment with the mixtape, how we're marketing it, who we're marketing it to. I think next up is probably a Google Ad experiment to really see if we can piggyback on some stuff or at least figure out a new consumer product. It's so tough, right? It's also not a thing people are searching for. So, we have to come up with some experiments for how we get people to that website [laughs]. So, you know, Google Ads funnels is just something you kind of have to do because it's very interesting to figure out what people are responding to, what people are searching for. But we're going to have a bunch of other experiments as well and non-experiments. Outbound experiments: can we go to people? Can we get listed in a gift-buying guide for the holidays? Or, like, we don't know. There's a bunch of experiments we need to do around that, which is really just this iteration. We won't stop talking to users but, you know, everything we're hearing from them will inform where we go and how we talk to the folks in those places where we end up. And really, it's just about starting...once this is up and, you know, there's, like, an orderable thing, there's, like, a whole data cycle where we start to learn from the stuff we're testing; we actually have some real data for it, and we can start to tweak, iterate and change our strategy. But the bigger thing, also, is this bigger platform. So, the next thing really, the big next thing, is to sort of start to scope and create an architecture idea. What's it going to take to build the actual backend thing? And it's the thing that thoughtbot really [laughs] excels at, which is software. So, you know, that's the big next kind of project. Once the mixtape experiment is sort of out and in flight and we're getting data, we really need to turn our attention to the technical backend. LINDSEY: Exciting. Another comment/question from Jeff, who maybe needs a user interview. "Love the crate more than the actual albums. Maybe offer collections of artists." MIKE: Yeah, that's the plan. CHRIS: Yeah, definitely. It's a good idea. Yeah, it's, I mean, and labels get to, especially, like, small indie labels get really excited about doing, like, crates worth of collections of different artists or, like, you know, digging through their back catalog, their subscription services. There's a lot of different angles for sure about that idea. LINDSEY: [inaudible 31:55] Chris and Mike, going into this next section of the programming, for anyone watching right now, or watching the recording, or listening to the recording, any action items from them? You know, are you looking for any user interviews or have any survey or any destinations you'd like to send people yet? CHRIS: Not quite yet, but soon, I would say. Well -- MIKE: I mean, [inaudible 32:19] plug the website, I mean, you know, I think we've got, like, an email to sign up from there, right? The URL is getthegoodz.com and I [crosstalk 32:27] LINDSEY: Goodz with a Z. MIKE: Goodz with a Z. CHRIS: With Z. MIKE: So yeah, if you want to go there, you can sign up. I think there's an email signup on there to learn more. LINDSEY: Perfect. All right. getthegoodz.com email sign up. To stay up to date on Goodz and the incubator, you can follow along on the thoughtbot blog. You know, as always, send us any questions you might have, and we're happy to get to those. But otherwise, thanks for listening. And thank you all — Jordyn, Chris, and Mike. Thanks so much for joining today and sharing and being open about your stories so far. MIKE: Thank you. CHRIS: Yeah, thank you, Lindsey. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions.
If you missed the first episode with thoughtbot Incubator Program partcipant and founder Josh Herzig-Marks of Knect, you can go here first (https://www.giantrobots.fm/incubators3e1josh) to catch up. A key focus of Josh's second episode is the importance of user research and customer discovery. Josh stresses that talking to users is crucial, as it grounds the development process in reality. thoughtbot's Director of Product Strategy, Jordyn Bonds, adds that direct engagement with users builds empathy and understanding within the team, making it more effective. They also discuss the challenges of identifying a product's target audience and the importance of iterative customer feedback. Josh and Jordyn highlight the need for founders to be resilient and open to feedback, even when it's negative. Transcript: JOSH: We're live. DAWN: Welcome. Thanks, everyone, for joining. I'm Dawn. I am going to be emceeing today, facilitating, really just asking questions and letting these great people talk. Filling in for Lindsey, who is usually here. Thanks for being here. We're excited to talk to everyone and hear your comments and questions. You might be familiar with thoughtbot. We're a product design and development consultancy. And we like to help people make products or make products better. We are currently in our third incubator session. And today, we're talking to one of two founding teams. And in case you aren't familiar with the incubator, it's an eight-week program that we run with founders. We pair founders up with a product quad from thoughtbot. And we undergo market research, customer discovery, basically market and product validation exercises to help us hone in on a solution, a potential solution for the problem that we're trying to solve, and build a product plan with the founder, basically set them off on a path for success, hopefully, and next steps. Do you want to kick us off, Jordyn? JORDYN: Yes. DAWN: Tell the people about yourself. JORDYN: I'm Jordyn. I'm the Director of Product Strategy on Dawn's team. Dawn is my boss. And I sort of run the incubator. I have also founded two startups and been the first head of product at two others, so four early-stage startups. JOSH: I'm Josh. I am the founder part of this who is working with the thoughtbot incubator. I founded a startup. I wasn't very good at it. I was very lucky at it. I was head of product at a whole series of other startups. And I enjoy that a lot. A few folks have asked me why I wanted to join the thoughtbot incubator if I've done this before. I'm, like, moderately techie for a non-technical person. And I coach other founders in doing the sorts of things that Jordyn and her team are coaching me on. So, I'm doing this thing for a few reasons. One is being a founder is really, really lonely. But the other one is that there's just a huge value in bringing together the diverse set of perspectives. And we're doing that with a company that's really good at getting complicated things out the door, having them be successful through a focus on who the end user is. It kind of felt like a no-brainer because I felt like—and we talked about this last week—I had the Josh problem that I wanted there to be a solution to. And trying to figure out, is there a larger opportunity that this represents? DAWN: Thanks. Well, you cued us up well for the topic, at least that we're going to start with today, which is user research or customer discovery. I think it probably goes by several names. That's another interesting topic we [laughs] could get into. But what is this user research that you're doing? Why is it important? What's it doing for this team at this stage? JOSH: One of the founders I work with asked me a couple of months ago, "Just remind me again, what are the things I have to do to build a product?" And I'm like, "It's actually really easy," right? My, like, standing on one foot advice is talk to users, mostly customers. Bring your engineers along when you can. And if you do those things, mostly everything will work out. But I think it's actually, like, there's some subtlety in all of those things, right? It's not that talking to users or customers is going to solve all of your problems. It's just that you're not going to make any progress in the absence of doing that, right? Because then you're just talking to yourself. And I don't know about everybody else here in this group or who might be listening, but it's really easy to get yourself all spun up inside of your head if you're only talking to yourself. Users are the ones who ground you, right? And ultimately, users are the ones who could turn to customers. So, why customers, right? As the people you really want to be talking to. Now, we don't have any customers yet, so we can't do that. But you know something about customers more than anybody else, and that's they're willing to pay for the thing, for the problem you're trying to solve. They could be paying in money. They could be paying in time. They could be paying in reputation. Oftentimes, they'll be paying in all three of those things or two out of three of those things. But they have an expressed willingness to pay. And that's really the magic of, like, having a product and having those conversations. Now, why do you bring along your engineers? It's because the most effective tech companies...and I think thoughtbot is maybe unusual in design-build firms in really internalizing this, but the most successful tech companies are the ones where the entire organization is aligned around understanding who is our market? Who is our customer? What is their problem, and what does it take to solve that problem for them? And too often, all that stuff is, like, stuck inside of the founder's head, or the sales team's head, or the marketing team's head, or the product manager's head, or little bits of stories are stuck other places. But when we're all listening to the same conversations, that's when it's most effective to build alignment around who's the customer? What are their needs? What would they pay for? JORDYN: I agree. And I would add some detail there that why does it work like that? How does having everyone at the organization talk to users and customers build that alignment? And it's one of those things that's kind of, like, it has to be seen to be believed in a certain way. But, like, you can break it down. You know, we can all sit in a room and argue about what reality looks like out there. But it's a lot more efficient if we're all living in that reality together. There's a lot less bringing everyone along. If you've got skeptics on your team, and I hope that you do because they're very useful people, they want to hear it from the source. So, great, go have them hear it from the source. And there's nothing that's more motivating as an engineer, having been an engineer, than seeing someone live fail to achieve their goal in the piece of software you're working on. You will turn around and go fix that bug right then. A bug that has maybe been sitting at the top of the backlog for, like, six weeks or six months, when you see someone struggling with it [laughs] in action, you'll be like, oh, I see. Okay, this is actually causing a lot of angst out there, and I... So, anyway, building that empathy, it's always easiest to build it directly. And it's harder if I am here and if I'm having to triangulate empathy through someone else. Like, if only one person on your team is talking to users and listening to users, and then they come back to the team, and they're like, "Here's what I'm hearing," maybe the team believes you. Maybe they hear the same things out of your mouth that they would have heard directly out of the user, but probably not [laughs]. So, it sounds less efficient. People resist it because it feels intuitively, I think, to a lot of people like a waste of time to have engineers doing user interviews or having anyone else. There's a lot of pushback at organizations for doing this for different reasons. If you're doing, like, an enterprise SaaS thing, sales might really not want anyone else talking to customers because they worry it's going to erode that relationship that they feel like they have. Nothing could be further from the truth in my experience. Customers feel valued. The more people on your team they talk to, the more they are listened to, the more they are taken seriously, and, like, have people engaging with them, that only bolsters your relationship with them, not the opposite. But either way, it's just much more efficient when everyone is hearing the thing from the people it's impacting directly. I get that that does not intuitively feel true, but I assure you that it is true. DAWN: So, -- JOSH: And even more so at this stage where our experience as designers or engineers is much less important than our experience as team members who are trying to find who is that initial audience going to be who is so motivated they will let us build a product for them? DAWN: That's exactly what my follow-up question was related to, which is there's this sort of perception that you sort of stay in your lane, right? With the different roles that you occupy [laughs] in an organization, whether it's early stage or later stage. And even for people who are participating in that customer discovery, you kind of want to, like, ask questions that are most relevant to your role. So, how do you, like, prepare teams or, you know, offer guidance to teams to help them sort of get into the right mindset going into those conversations, not so that they execute it perfectly because they have to have some UX design background, but so that you can learn the important things? JOSH: I think it is totally natural for someone to feel unprepared coming into these, but that's okay, right? Their job is to develop this as a skill, and the only way they're going to do that is by actually doing it. I am certain there were people on the thoughtbot team who felt uncomfortable doing this for the first time, talking to somebody who wasn't even a user, a rando who Josh found on the internet who was willing to chat and go talk to them. And I know they got better at it because I get to watch everybody's interview recordings, and I get to watch the notes they're taking. And I get to watch my own. And we have, like, a team of five of us who, like, are all getting better at this, and that's good. These things are skills, and you got to practice them, which, putting on my friends of thoughtbot hat, is, I think, one of the reasons why thoughtbot likes to do these things because it's a chance to develop these skills in a really intense way, which we may not otherwise get to. And it's a thing that, you know, as a founder, I want everybody on my team to be getting good at as quickly as possible. So, sure, prep work. You read a book. It's like baking a cake, right? You know, you can read cookbooks. You can walk up and down the aisle at the supermarket, right? You can go to the bakery and try other people's cakes, but until your arms are deep in flour, butter, and sugar, like, you've no idea what you're really talking about. And I just want to get people making a mess in the kitchen as fast as possible. Nothing bad happens if you have a bad interview. Lots of bad things happen if you never interview. That's my very strong opinion. JORDYN: I share the opinion and its intensity. That is exactly how I would have answered. JOSH: [laughs] JORDYN: There's no substitute for doing the thing. And you can spend your whole life feeling like you're not ready to do the thing. You're not going to learn and get better at it until you just start doing it. It's like...and, Josh, you are right. That is partly what this incubator is for, both internally and externally. One of the main differentiators of what we're doing here with this incubator from other incubator programs out there is we get into the kitchen with you and get our arms and elbow deep in flour with you so that we can help founders, not necessarily Josh who has brought some skills into this with him, but, like, so that you know what it feels like to do the thing. There's a lot of content out there about how to start a company, how to do customer discovery, all this stuff, and you can read all of that stuff. You can also listen to people talk about it all the livelong day. There are tons of people out there who do this all the time. They are on podcasts. They are here on this live stream. That's cool [laughs]. Like, listen to them. But really, there's no substitute for you getting out there and talking to people. And this, I just cannot stress this, like, so many people...given my role here and what I do, people often bring their startup ideas to me. People at thoughtbot, people outside of thoughtbot they say, "I have this idea." I ask, "Who is it for?" They tell me. I say, "Have you talked to those people?" and they say, "I'm not ready to start talking to people yet." And I'm like, "That is incorrect. You're talking to me. The only way you're going to get to a thing is if you start talking to people, like, yesterday." And they resist. "Well, I still need to figure out." And I'm like, "No, you don't need [laughs] to figure anything out." If you're going to build something for someone, go engage with them, learn what their life is like, what their work is like today. Hello, people listening to this, do this today. JOSH: Jordyn talks a lot about the emotional labor of being a founder, and I think it's really important. Like, hey, founders out there who hear this and they feel a bit overwhelmed, that's okay, right? The thing which you're going to learn how to do as a founder is talk to people about the thing you're trying to do and have people give you feedback you don't like, and it's not fun. You know, I work with a lot of very technical founders, and it's amazing the things people will do to avoid that. They will take their savings, their retirement money out of the bank and plow it into design-build firms. They will quit their jobs to build this thing themselves just to avoid having that potentially unpleasant conversation. So, potential founders, if you want to prepare yourself for being a successful founder or even a mediocre founder, the thing which you need to do is [laughs] improve your frustration tolerance. Get really good at people telling you your idea is bad, or your process is bad, or something else is bad. And maybe they're right, and maybe they're wrong, and it doesn't matter. But you got to be able to tolerate that. JORDYN: Yes, you have to be able to tolerate that. And you have to be able to actually, like, listen for the relevant feedback that's buried in there. So, the founder Josh just described was me, P.S. JOSH: [laughs] JORDYN: The first time. JOSH: Not just you. JORDYN: And not just me, not merely me, but it was me. You know, technical background definitely plowed my meager savings—because I'd already been working in startups, which does not pay well, newsflash [laughs]. I don't know if any of you know this; they don't pay well—into a product that I hadn't really spoken to very many people about. But I knew that I needed to start talking about it with people, but I didn't know how to do that well. That's okay. So, I started talking to people about it after the fact. I should have done this sooner. That's cool. My first company was this product called TallyLab. Like, you can think of it like a data diary app. Basically, it's a place you can go and collect small data to kind of figure out, like, if you think you have a food allergy. Think of it like a food allergy notebook but a digital app for it. I think that when the moon is full, and I eat over a pint of strawberries, I get a stomach ache, whatever it is. So, you need to track the cycles of the moon and how much strawberries you ate and when, and then you can do this analysis. Anyway, if you're thinking to yourself, that doesn't sound like a business, you are correct. Anyway [laughs], I was describing this to my friend's dad. My friend had just had her first kid. I was over meeting this baby. Her dad was there. And he was just like, "What do you do?" And I was like, "Oh, I have a startup." He's like, "What's your startup do?" And I told him. And he was like, "Sounds like you're just feeding people's OCD to me." Like, I felt physical pain at that reaction to this. Like, he was like not only...his tone was so derisive [laughs]. But, like, there was information for me in that. First of all, I needed to think about who is this guy. Where is he coming from? Does this have anything to do with his life at all? Should I even listen to this? In fact, maybe he's, like, my anti-ideal customer. And this feedback is great for me because it means my ideal customer is a good fit, whatever. There's information in there, right? But this was some of the first feedback I was getting on this from someone in the wild [laughs]. So, I had to dig that dagger right out of my heart. So, it's going to happen. It's going to happen, but you got to, like, steel yourself for it, like Josh says. And you also find a way to respond to it with curiosity. So, if I could go back in time to that conversation...I just changed the subject immediately, I think, at the time. I was like, "Cool. Let's talk about something else [laughs]." What I should have done is been like, "Tell me more. Why does it strike you like that? Tell me more about this problem in your life," right? That was an opportunity for me to have a customer interview, and I just totally whiffed it [laughs]. DAWN: Hopefully, it didn't harm your relationship with your friend [laughs]. JORDYN: Not at all. Not at all. I think she felt somewhat aghast. She was like, "Dad, lay off." [laughs] JOSH: Which is actually the other lesson to take from this, which is these things all feel really important and personal and, like, present to you as the founder. Nobody else gives a shit. JORDYN: No. And this was a lesson for me. I at least didn't have that problem because I had been in a series of touring rock bands, and I had learned over and over again how little anything I was doing mattered to anyone. Like, you know, you get to the point where, like, you walk offstage, and you're like, "That was the worst set we ever played." No one knows that. No one cares. They were, like, talking to their girlfriend at the bar the whole time, like, whatever, man [laughs]. Like, whatever is going on with you, you as a human are maybe this big in their purview. What you're doing professionally is even smaller. So, like, don't sweat it. They're not going to be thinking about it again, ever [laughs]. DAWN: That's the thing. Maybe your startup idea doesn't matter, but you matter. Everyone here matters. Okay? JORDYN: Yes. DAWN: So, I want to go back to the users or the particular customers in this case. Have there been any surprises? Have there been any daggers out there or any delights? What have you been learning? JOSH: Last time we were speaking, we were basically talking to a convenient sample of people who, let's be honest, look a lot like Jordyn and myself, right? They are people in mostly U.S. tech companies, mostly early-stage ones, not necessarily programmers, but maybe they found the company. Maybe they work in product management, or they have other kinds of executive roles. Maybe they change their job every couple of years because that's what people in tech companies do. Maybe they like, you know, they carry around a smartphone. They live out of their smartphone. They care about building a network. They attend in-person things when they can. They're in a bunch of, like, networking Slacks, and WhatsApp groups, and things like that. And they all kind of look the same. And I think the last time we spoke two weeks ago, we were noticing that this thing we were trying to work on was a problem for all of them but not necessarily a problem that they were, on average, investing a whole lot of time and energy into. We recognized this as a group largely because everybody was participating in the conversations and getting better and better at it and getting better and better at kind of, like, pulling out the insights. So, we experimented with a couple of other audiences. And the reminder here is the idea isn't to build a product for one of these audiences; the idea is to build the first version of the product for one of these audiences who feels the need so intensely they're actually going to use the damn thing and give you some feedback. So, the audience has to have a real pain–a willingness to do some work. And we have to be able to find them, so some attribute that allows us to identify where they are. They all hang out at the playground after recess is, like, a good attribute, or they all search for the same kinds of things using the same language or a comparable language on Google, or they all follow the same people on TikTok. They are all examples of audiences that we could somehow identify and address. People who, you know, deep down, are worried that their second-grade teacher didn't like them enough, right? Probably not an addressable audience, even though you can imagine, you know, all sorts of potential problems and potential solutions you can build for those folks. So, we got to find that. So, we've experimented with a few other groups. One is we identified early on in kind of our broader conversations that journalists might have a need for this, journalists or folks that have a broad network, and they check in with those people frequently. And the other one was people who do Biz Dev, or partnerships work at tech companies as well. And we reached out to a bunch of people. And we discovered that both those groups are probably also a little bit too big for us to be focused on. It's not that nobody in those groups had a burning need for the thing that we're trying to do; it's that people in those groups overall didn't. And now we got to go figure out, like, okay, is there, like, a subgroup inside of there that we can identify? Just sports journalists, just investigative journalists, just journalists who don't have a salary who work freelance, just radio journalists, you know, just journalists who went to specific schools. Hard to know what that's going to be, and that's the work that we're doing, like, literally right now. JORDYN: We actually published our methodology for doing this recently. People should go to thoughtbot.com and look at our Playbook, our Customer Discovery Playbook, if you want to know how to do this. It is not black magic or something. Basically, you just think about the dynamics that matter that create a need for the thing that you're contemplating building, and then you just generate giant lists of the people who might need that thing. And guess what? It's going to be totally wrong and weird, and a bunch of different shaped groups of people. It is going to be like people who hang out at the playground and also dog walkers, and just, like, some weird random assortment of personas, individuals, groups of people, but that's where you start. And then you start learning. You take what you know about those people today, and you find the best place to start. And then you start talking to them, and then you learn why they are or are not a good fit, and you keep going through the list. So, it's not mysterious, but it is work. It is hard work. Synthesizing on a team what you're hearing is part of that hard work, but it's really invaluable because everybody, like Josh mentioned earlier, brings something different to the conversation, thinks about it from a different vantage, brings different life experiences. And that is just invaluable to unlocking insights, perspectives, directions to pursue. It really is very much a...I don't know what we would call it. It's like a real...it's the hard work. You go talk to a bunch of people. You get together as a group, and you talk to each other about what you're hearing from all the other people [laughs]. You go back and talk to more people or the same people if you realized you weren't asking them the things that you needed to be asking them. You come back together. And out of that process, the patterns emerge. DAWN: This is also kind of meta, the fact that y'all are doing so much customer discovery with potential customers who their entire work lives [laughs] are managing conversations, both the frequency and timing of that, but also, like, what they're learning from those conversations. So, that's super interesting. It sounds like, obviously, there are still many conversations to be had. But what else is next? I know we're about halfway through the program. So, what are y'all looking into for the next week or two? JOSH: I mean, we don't yet have that audience, which is, I think, a really important part of this and something which I think about all the time as the founder. What does this mean that it's hard to find the audience? Like, what does that tell about the idea, about the opportunity? But I think we've had enough conversations with enough people who have enough similarities in the problems we're trying to solve that I think we're getting good insights into if we knew who would really want this thing; we have some good ideas about how we might be able to help them out. So, we're starting to actually go through the process of, you know, the really early sketches, the wireframes. And what might a solution look like? Which I think is doing two things, right? One, it helps us to sharpen our thinking a fair amount, right? There's, like, a thing which we can react to as a group, which is not as amorphous as an interview. Like, a sharp, pointy thing we can react to. The second is we're going to start showing this to people. And not everybody we talk to is going to be, like, our final audience we're building for. That's okay. They can still, like, give us thoughts and give us feedback. And it'll probably change the tenor of the conversations we're having with them. And that's also okay, too, right? We're going to learn different kinds of things than we would in the absence of this. JORDYN: Yeah. And that is super exciting. And then the other side of that coin becomes feasibility questions. So, this thing that we're imagining, how would we build it? Can we build it? What do we need in order to build it? And so, those conversations are really starting to fire up as we start to imagine a solution. DAWN: I know there's a really awesome blog post to come from Jordyn that I reviewed [inaudible 22:27] JORDYN: Wow. Public nudging. DAWN: [laughs] JORDYN: I'm late with this blog post, and I'm being publicly nudged. This is so intense; you're right. DAWN: [laughs] But it's so relevant to exactly what y'all have been talking about. JORDYN: I know. I know. [laughs] DAWN: So, [crosstalk 22:40] retroactively point everyone to it. It's really good stuff. JORDYN: How would you state the problem, Josh, if anyone out there has the problem? JOSH: The problem we're looking at is people who have a hard time managing their social network in general but their professional social network in particular. You know, that might be, you know there's people you wish you were keeping in touch with, but you just forget to keep in touch with them. Or, you know, you tell somebody to do something in some thread, or some channel, on some social network, or some direct message, and you just kind of forget about that because you don't go back to it. Or maybe, you know, you're making friends on Discord. You're making friends on Slack. You're making friends out in the real world, but you don't actually, like, add them into your LinkedIn, something like that. Somebody who's having problems like that that's actually done something about it. Did you go and build yourself, like, a spreadsheet? A baby CRM in Notion, or in Coda, or in Airtable? Do you search out a purpose-built tool? You know, if you think you've ever tried, whether you've been successful or not, to actually solve this problem for yourself, I'd love to talk to you, or Jordyn would love to talk to you. Dawn would probably love to talk to you also. But reach out to any of us any way you can. I got a super Googleable SEO-compatible name, as does Jordyn. So, like, reach out to one of us, and we'd love to chat. DAWN: Awesome. Well, thanks, y'all. This has been wonderful, as always. And if anybody has questions for the team, feel free to comment on the post afterwards. And we'll see y'all next time. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions.
Sara is a team lead at thoughtbot. She talks about her experience as a professor at Kanazawa Technical College, giant LAN parties in Rochester, transitioning from Java to Ruby, shining a light on maintainers, and her closing thoughts on RubyConf. Recorded at RubyConf 2023 in San Diego. -- A few topics covered: Being an Assistant Arofessor in Kanazawa Teaching naming, formatting, and style Differences between students in Japan vs US Technical terms and programming resources in Japanese LAN parties at Rochester Transitioning from Java to Ruby Consulting The forgotten maintainer RubyConf Other links Sara's mastodon thoughtbot This Week in Open Source testdouble Ruby Central Scholars and Guides Program City Museum Japan International College of Technology Kanazawa RubyKaigi Applying mruby to World-first Small SAR Satellite (Japanese lightning talk) (mruby in space) Rochester Rochester Institute of Technology Electronic Gaming Society Tora-con Strong National Museum of Play Transcript You can help correct transcripts on GitHub. [00:00:00] Jeremy: I'm here at RubyConf, San Diego, with Sara Jackson, thank you for joining me today. [00:00:05] Sara: Thank you for having me. Happy to be here. [00:00:07] Jeremy: Sara right now you're working at, ThoughtBot, as a, as a Ruby developer, is that right? [00:00:12] Sara: Yes, that is correct. Teaching in Japan [00:00:14] Jeremy: But I think before we kind of talk about that, I mean, we're at a Ruby conference, but something that I, I saw, on your LinkedIn that I thought was really interesting was that you were teaching, I think, programming in. Kanazawa, for a couple years. [00:00:26] Sara: Yeah, that's right. So for those that don't know, Kanazawa is a city on the west coast of Japan. If you draw kind of a horizontal line across Japan from Tokyo, it's, it's pretty much right there on the west coast. I was an associate professor in the Global Information and Management major, which is basically computer science or software development. (laughs) Yep. [00:00:55] Jeremy: Couldn't tell from the title. [00:00:56] Sara: You couldn't. No.. so there I was teaching classes for a bunch of different languages and concepts from Java to Python to Unix and Bash scripting, just kind of all over. [00:01:16] Jeremy: And did you plan the curriculum yourself, or did they have anything for you? [00:01:21] Sara: It depended on the class that I was teaching. So some of them, I was the head teacher. In that case, I would be planning the class myself, the... lectures the assignments and grading them, et cetera. if I was assisting on a class, then usually it would, I would be doing grading and then helping in the class. Most of the classes were, uh, started with a lecture and then. Followed up with a lab immediately after, in person. [00:01:54] Jeremy: And I think you went to, is it University of Rochester? [00:01:58] Sara: Uh, close. Uh, Rochester Institute of Technology. So, same city. Yeah. [00:02:03] Jeremy: And so, you were studying computer science there, is that right? [00:02:07] Sara: I, I studied computer science there, but I got a minor in Japanese language. and that's how, that's kind of my origin story of then teaching in Kanazawa. Because Rochester is actually the sister city with Kanazawa. And RIT has a study abroad program for Japanese learning students to go study at KIT, Kanazawa Institute of Technology, in Kanazawa, do a six week kind of immersive program. And KIT just so happens to be under the same board as the school that I went to teach at. [00:02:46] Jeremy: it's great that you can make that connection and get that opportunity, yeah. [00:02:49] Sara: Absolutely. Networking! [00:02:52] Jeremy: And so, like, as a student in Rochester, you got to see how, I suppose, computer science education was there. How did that compare when you went over to Kanazawa? [00:03:02] Sara: I had a lot of freedom with my curriculum, so I was able to actually lean on some of the things that I learned, some of the, the way that the courses were structured that I took, I remember as a freshman in 2006, one of the first courses that we took, involved, learning Unix, learning the command line, things like that. I was able to look up some of the assignments and some of the information from that course that I took to inform then my curriculum for my course, [00:03:36] Jeremy: That's awesome. Yeah. and I guess you probably also remember how you felt as a student, so you know like what worked and maybe what didn't. [00:03:43] Sara: Absolutely. And I was able to lean on that experience as well as knowing. What's important and what, as a student, I didn't think was important. Naming, formatting, and style [00:03:56] Jeremy: So what were some examples of things that were important and some that weren't? [00:04:01] Sara: Mm hmm. For Java in particular, you don't need any white space between any of your characters, but formatting and following the general Guidelines of style makes your code so much easier to read. It's one of those things that you kind of have to drill into your head through muscle memory. And I also tried to pass that on to my students, in their assignments that it's. It's not just to make it look pretty. It's not just because I'm a mean teacher. It is truly valuable for future developers that will end up reading your code. [00:04:39] Jeremy: Yeah, I remember when I went through school. The intro professor, they would actually, they would print out our code and they would mark it up with red pen, basically like a writing assignment and it would be like a bad variable name and like, white space shouldn't be here, stuff like that. And, it seems kind of funny now, but, it actually makes it makes a lot of sense. [00:04:59] Sara: I did that. [00:04:59] Jeremy: Oh, nice. [00:05:00] Sara: I did that for my students. They were not happy about it. (laughs) [00:05:04] Jeremy: Yeah, at that time they're like, why are you like being so picky, right? [00:05:08] Sara: Exactly. But I, I think back to my student, my experience as a student. in some of the classes I've taken, not even necessarily computer related, the teachers that were the sticklers, those lessons stuck the most for me. I hated it at the time. I learned a lot. [00:05:26] Jeremy: Yeah, yeah. so I guess that's an example of things that, that, that matter. The, the aesthetics or the visual part for understanding. What are some things that they were teaching that you thought like, Oh, maybe this isn't so important. [00:05:40] Sara: Hmm. Pause for effect. (laughs) So I think that there wasn't necessarily Any particular class or topic that I didn't feel was as valuable, but there was some things that I thought were valuable that weren't emphasized very well. One of the things that I feel very strongly about, and I'm sure those of you out there can agree. in RubyWorld, that naming is important. The naming of your variables is valuable. It's useful to have something that's understood. and there were some other teachers that I worked with that didn't care so much in their assignments. And maybe the labs that they assigned had less than useful names for things. And that was kind of a disappointment for me. [00:06:34] Jeremy: Yeah, because I think it's maybe hard to teach, a student because a lot of times you are writing these short term assignments and you have it pass the test or do the thing and then you never look at it again. [00:06:49] Sara: Exactly. [00:06:50] Jeremy: So you don't, you don't feel that pain. Yeah, [00:06:53] Sara: Mm hmm. But it's like when you're learning a new spoken language, getting the foundations correct is super valuable. [00:07:05] Jeremy: Absolutely. Yeah. And so I guess when you were teaching in Kanazawa, was there anything you did in particular to emphasize, you know, these names really matter because otherwise you or other people are not going to understand what you were trying to do here? [00:07:22] Sara: Mm hmm. When I would walk around class during labs, kind of peek over the shoulders of my students, look at what they're doing, it's... Easy to maybe point out at something and be like, well, what is this? I can't tell what this is doing. Can you tell me what this does? Well, maybe that's a better name because somebody else who was looking at this, they won't know, I don't know, you know, it's in your head, but you will not always be working solo. my school, a big portion of the students went on to get technical jobs from after right after graduating. it was when you graduated from the school that I was teaching at, KTC, it was the equivalent of an associate's degree. Maybe 50 percent went off to a tech job. Maybe 50 percent went on to a four year university. And, and so as students, it hadn't. Connected with them always yet that oh, this isn't just about the assignment. This is also about learning how to interact with my co workers in the future. Differences between students [00:08:38] Jeremy: Yeah, I mean, I think It's hard, but, group projects are kind of always, uh, that's kind of where you get to work with other people and, read other people's code, but there's always that potential imbalance of where one person is like, uh, I know how to do this. I'll just do it. Right? So I'm not really sure how to solve that problem. Yeah. [00:09:00] Sara: Mm hmm. That's something that I think probably happens to some degree everywhere, but man, Japan really has groups, group work down. They, that's a super generalization. For my students though, when you would put them in a group, they were, they were usually really organized about who was going to do what and, kept on each other about doing things maybe there were some students that were a little bit more slackers, but it was certainly not the kind of polarized dichotomy you would usually see in an American classroom. [00:09:39] Jeremy: Yeah. I've been on both sides. I've been the person who did the work and the slacker. [00:09:44] Sara: Same. [00:09:46] Jeremy: And, uh, I feel bad about it now, but, uh, [00:09:50] Sara: We did what we had to do. [00:09:52] Jeremy: We all got the degree, so we're good. that is interesting, though. I mean, was there anything else, like, culturally different, you felt, from, you know, the Japanese university? [00:10:04] Sara: Yes. Absolutely. A lot of things. In American university, it's kind of the first time in a young person's life, usually, where they have the freedom to choose what they learn, choose where they live, what they're interested in. And so there's usually a lot of investment in your study and being there, being present, paying attention to the lecture. This is not to say that Japanese college students were the opposite. But the cultural feeling is college is your last time to have fun before you enter the real world of jobs and working too many hours. And so the emphasis on paying Super attention or, being perfect in your assignments. There was, there was a scale. There were some students that were 100 percent there. And then there were some students that were like, I'm here to get a degree and maybe I'm going to sleep in class a little bit. (laughs) That is another major difference, cultural aspect. In America, if you fall asleep in a meeting, you fall asleep in class, super rude. Don't do it. In Japan, if you take a nap at work, you take a nap in class, not rude. It's actually viewed as a sign of you are working really hard. You're usually working maybe late into the night. You're not getting enough sleep. So the fact that you need to take maybe a nap here or two here or there throughout the day means that you have put dedication in. [00:11:50] Jeremy: Even if the reason you're asleep is because you were playing games late at night. [00:11:54] Sara: Yep. [00:11:55] Jeremy: But they don't know that. [00:11:56] Sara: Yeah. But it's usually the case for my students. [00:11:59] Jeremy: Okay. I'm glad they were having fun at least [00:12:02] Sara: Me too. Why she moved back [00:12:04] Jeremy: That sounds like a really interesting experience. You did it for about two years? Three years. [00:12:12] Sara: So I had a three year contract with an option to extend up to five, although I did have a There were other teachers in my same situation who were actually there for like 10 years, so it was flexible. [00:12:27] Jeremy: Yeah. So I guess when you made the decision to, to leave, what was sort of your, your thinking there? [00:12:35] Sara: My fiance was in America [00:12:37] Jeremy: Good. [00:12:37] Sara: he didn't want to move to Japan [00:12:39] Jeremy: Good, reason. [00:12:39] Sara: Yeah, he was waiting three years patiently for me. [00:12:44] Jeremy: Okay. Okay. my heart goes out there . He waited patiently. [00:12:49] Sara: We saw each other. We, we were very lucky enough to see each other every three or four months in person. Either I would visit America or he would come visit me in Kanazawa. [00:12:59] Jeremy: Yeah, yeah. You, you couldn't convince him to, to fall in love with the country. [00:13:03] Sara: I'm getting there [00:13:04] Jeremy: Oh, you're getting Oh, [00:13:05] Sara: it's, We're making, we're making way. [00:13:07] Jeremy: Good, that's good. So are you taking like, like yearly trips or something, or? [00:13:11] Sara: That was, that was always my intention when I moved back so I moved back in the Spring of 2018 to America and I did visit. In 2019, the following year, so I could attend the graduation ceremony for the last group of students that I taught. [00:13:26] Jeremy: That's so sweet. [00:13:27] Sara: And then I had plans to go in 2020. We know what happened in 2020 [00:13:32] Jeremy: Yeah. [00:13:33] Sara: The country did not open to tourism again until the fall of 2022. But I did just make a trip last month. [00:13:40] Jeremy: Nice [00:13:40] Sara: To see some really good friends for the first time in four years. [00:13:43] Jeremy: Amazing, yeah. Where did you go? [00:13:46] Sara: I did a few days in Tokyo. I did a few days in Niigata cause I was with a friend who studied abroad there. And then a few days in Kanazawa. [00:13:56] Jeremy: That's really cool, yeah. yeah, I had a friend who lived there, but they were teaching English, yeah. And, I always have a really good time when I'm out there, yeah. [00:14:08] Sara: Absolutely. If anyone out there visiting wants to go to Japan, this is your push. Go do it. Reach out to me on LinkedIn. I will help you plan. [00:14:17] Jeremy: Nice, nice. Um, yeah, I, I, I would say the same. Like, definitely, if you're thinking about it, go. And, uh, sounds like Sara will hook you up. [00:14:28] Sara: Yep, I'm your travel guide. Technical terms in Japanese [00:14:31] Jeremy: So you, you studied, uh, you, you said you had a minor in Japanese? Yeah. So, so when you were teaching there, were you teaching classes in English or was it in Japanese? [00:14:42] Sara: It was a mix. Uh, when I was hired, the job description was no Japanese needed. It was a very, like, Global, international style college, so there was a huge emphasis on learning English. They wanted us to teach only in English. My thought was, it's hard enough learning computer science in your native language, let alone a foreign language, so my lectures were in English, but I would assist the labs in japanese [00:15:14] Jeremy: Oh, nice. Okay. And then, so you were basically fluent then at the time. Middle. Okay. Yeah. Yeah. Hey, well, I think if you're able to, to help people, you know, in labs and stuff, and it's a technical topic, right? So that's gotta be kind of a, an interesting challenge [00:15:34] Sara: I did learn a lot of new computer vocabulary. Yes. [00:15:39] Jeremy: So the words are, like, a lot of them are not the same? Or, you know, for, for specifically related to programming, I guess. [00:15:46] Sara: Hmm. Yeah, there are Japanese specific words. There's a lot of loan words that we use. We. Excuse me. There's a lot of loan words that Japanese uses for computer terms, but there's plenty that are just in Japanese. For example, uh, an array is hairetsu. [00:16:08] Jeremy: Okay. [00:16:08] Sara: And like a screen or the display that your monitor is a gamen, but a keyboard would be keyboard... Kībōdo, probably. [00:16:20] Jeremy: Yeah. So just, uh, so that, they use that as a loan word, I guess. But I'm not sure why not the other two. [00:16:27] Sara: Yeah, it's a mystery. [00:16:29] Jeremy: So it's just, it's just a total mix. Yeah. I'm just picturing you thinking like, okay, is it the English word or is it the Japanese word? You know, like each time you're thinking of a technical term. Yeah. [00:16:39] Sara: Mm hmm. I mostly, I, I I went to the internet. I searched for Japanese computer term dictionary website, and kind of just studied the terms. I also paid a lot of attention to the Japanese professors when they were teaching, what words they were using. Tried to integrate. Also, I was able to lean on my study abroad, because it was a technical Japanese, like there were classes that we took that was on technical Japanese. Computer usage, and also eco technology, like green technology. So I had learned a bunch of them previously. [00:17:16] Jeremy: Mm. So was that for like a summer or a year or something [00:17:20] Sara: It was six weeks [00:17:21] Jeremy: Six weeks. [00:17:21] Sara: During the summer, [00:17:22] Jeremy: Got it. So that's okay. So like, yeah, that must have been an experience like going to, I'm assuming that's the first time you had been [00:17:30] Sara: It was actually the second time [00:17:31] Jeremy: The second [00:17:32] Sara: Yeah. That was in 2010 that I studied abroad. [00:17:35] Jeremy: And then the classes, they were in Japanese or? Yeah. Yeah. That's, uh, that's, that's full immersion right there. [00:17:42] Sara: It was, it was very funny in the, in the very first lesson of kind of just the general language course, there was a student that was asking, I, how do I say this? I don't know this. And she was like, Nihongo de. [00:17:55] Jeremy: Oh (laughs) ! [00:17:56] Sara: You must, must ask your question only in [00:17:59] Jeremy: Yeah, Programming resources in Japanesez [00:17:59] Jeremy: yeah. yeah. That's awesome. So, so it's like, I guess the, the professors, they spoke English, but they were really, really pushing you, like, speak Japanese. Yeah, that's awesome. and maybe this is my bias because I'm an English native, but when you look up. Resources, like you look up blog posts and Stack Overflow and all this stuff. It's all in English, right? So I'm wondering for your, your students, when, when they would search, like, I got this error, you know, what do I do about it? Are they looking at the English pages or are they, you know, you know what I mean? [00:18:31] Sara: There are Japanese resources that they would use. They love Guguru (Google) sensei. [00:18:36] Jeremy: Ah okay. Okay. [00:18:38] Sara: Um, but yeah, there are plenty of Japanese language stack overflow equivalents. I'm not sure if they have stack overflow specifically in Japanese. But there are sites like that, that they, that they used. Some of the more invested students would also use English resources, but that was a minority. [00:19:00] Jeremy: Interesting. So there's a, there's a big enough community, I suppose, of people posting and answering questions and stuff where it's, you don't feel like, there aren't people doing the same thing as you out there. [00:19:14] Sara: Absolutely. Yeah. There's, a large world of software development in Japan, that we don't get to hear. There are questions and answers over here because of that language barrier. [00:19:26] Jeremy: Yeah. I would be, like, kind of curious to, to see, the, the languages and the types of problems they have, if they were similar or if it's, like, I don't know, just different. [00:19:38] Sara: Yeah, now I'm interested in that too, and I bet you there is a lot of research that we could do on Ruby, since Ruby is Japanese. [00:19:51] Jeremy: Right. cause something I've, I've often heard is that, when somebody says they're working with Ruby, Here in, um, the United States, a lot of times people assume it's like, Oh, you're doing a Rails app, [00:20:02] Sara: Mm hmm. [00:20:03] Jeremy: Almost, almost everybody who's using Ruby, not everyone, but you know, the majority I think are using it because of Rails. And I've heard that in Japan, there's actually a lot more usage that's, that's not tied to Rails. [00:20:16] Sara: I've also heard that, and I get the sense of that from RubyKaigi as well. Which I have never been lucky enough to attend. But, yeah, the talks that come out of RubyKaigi, very technical, low to the metal of Ruby, because there's that community that's using it for things other than Rails, other than web apps. [00:20:36] Jeremy: Yeah, I think, one of the ones, I don't know if it was a talk or not, but, somebody was saying that there is Ruby in space. [00:20:42] Sara: That's awesome. Ruby's everywhere. LAN parties in college [00:20:44] Jeremy: So yeah, I guess like another thing I saw, during your time at Rochester is you were, involved with like, there's like a gaming club I wonder if you could talk a little bit about your experience with that. [00:20:55] Sara: Absolutely, I can. So, at RIT, I was an executive board member for three or four years at the Electronic Gaming Society. EGS for short, uh, we hosted weekly console game nights in, the student alumni union area, where there's open space, kind of like a cafeteria. We also hosted quarterly land parties, and we would actually get people from out of state sometimes who weren't even students to come. Uh, and we would usually host the bigger ones in the field house, which is also where concerts are held. And we would hold the smaller ones in conference rooms. I think when I started in 2006, the, the, the LANs were pretty small, maybe like 50, 50 people bring your, your, your huge CRT monitor tower in. [00:21:57] Jeremy: Oh yeah, [00:21:57] Sara: In And then by the time I left in 2012. we were over 300 people for a weekend LAN party, um, and we were actually drawing more power than concerts do. [00:22:13] Jeremy: Incredible. what were, what were people playing at the time? Like when they would the LANs like, [00:22:18] Sara: Yep. Fortnite, early League of Legends, Call of Duty. Battlegrounds. And then also just like fun indie games like Armagedtron, which is kind of like a racing game in the style of [00:22:37] Jeremy: okay. Oh, okay, [00:22:39] Sara: Um, any, there are some like fun browser games where you could just mess with each other. Jackbox. Yeah. [00:22:49] Jeremy: Yeah, it's, it's interesting that, you know, you're talking about stuff like Fortnite and, um, what is it? Battlegrounds is [00:22:55] Sara: not Fortnite. Team Fortress. [00:22:58] Jeremy: Oh Team Fortress! [00:22:59] Sara: Sorry. Yeah. Oh, yeah, I got my, my names mixed up. Fortnite, I think, did not exist at the time, but Team Fortress was big. [00:23:11] Jeremy: Yeah. that's really cool that you're able to get such a big group there. is there something about Rochester, I guess, that that was able to bring together this many people for like these big LAN events? Because I'm... I mean, I'm not sure how it is elsewhere, but I feel like that's probably not what was happening elsewhere in the country. [00:23:31] Sara: Yeah, I mean, if you've ever been to, um, DreamHack, that's, that's a huge LAN party and game convention, that's fun. so... EGS started in the early 2000s, even before I joined, and was just a committed group of people. RIT was a very largely technical school. The majority of students were there for math, science, engineering, or they were in the computer college, [00:24:01] Jeremy: Oh, okay. [00:24:01] Sara: GCIS, G C C I S, the Gossano College of Computing and Information Sciences. So there was a lot of us there. [00:24:10] Jeremy: That does make sense. I mean, it's, it's sort of this, this bias that when there's people doing, uh, technical stuff like software, um, you know, and just IT, [00:24:21] Sara: Mm hmm. [00:24:23] Jeremy: there's kind of this assumption that's like, oh, maybe they play games. And it seems like that was accurate [00:24:27] Sara: It was absolutely accurate. And there were plenty of people that came from different majors. but when I started, there were 17, 000 students and so that's a lot of students and obviously not everyone came to our weekly meetings, but we had enough dedicated people that were on the eboard driving, You know, marketing and advertising for, for our events and things like that, that we were able to get, the good community going. I, I wasn't part of it, but the anime club at RIT is also huge. They run a convention every year that is huge, ToraCon, um. And I think it's just kind of the confluence of there being a lot of geeks and nerds on campus and Rochester is a college town. There's maybe like 10 other universities in [00:25:17] Jeremy: Well, sounds like it was a good time. [00:25:19] Sara: Absolutely would recommend. Strong Museum of Play [00:25:22] Jeremy: I've never, I've never been, but the one thing I have heard about Rochester is there's the, the Strong Museum of Play. [00:25:29] Sara: Yeah, that place is so much fun, even as an adult. It's kind of like, um, the, the Children's Museum in Indiana for, for those that might know that. it just has all the historical toys and pop culture and interactive exhibits. It's so fun. [00:25:48] Jeremy: it's not quite the same, but it, when you were mentioning the Children's Museum in, um, I think it's in St. Louis, there's, uh, it's called the City Museum and it's like a, it's like a giant playground, you know, indoors, outdoors, and it's not just for kids, right? And actually some of this stuff seems like kind of sketch in terms of like, you could kind of hurt yourself, you know, climbing [00:26:10] Sara: When was this made? [00:26:12] Jeremy: I'm not sure, but, uh, [00:26:14] Sara: before regulations maybe. ha. [00:26:16] Jeremy: Yeah. It's, uh, but it's really cool. So at the, at the Museum of Play, though, is it, There's like a video game component, right? But then there's also, like, other types of things, [00:26:26] Sara: Yeah, they have, like, a whole section of the museum that's really, really old toys on display, like, 1900s, 1800s. Um, they have a whole Sesame Street section, and other things like that. Yeah. From Java to Ruby [00:26:42] Jeremy: Check it out if you're in Rochester. maybe now we could talk a little bit about, so like now you're working at Thoughtbot as a Ruby developer. but before we started recording, you were telling me that you started, working with Java. And there was like a, a long path I suppose, you know, changing languages. So maybe you can talk a little bit about your experience there. [00:27:06] Sara: Yeah. for other folks who have switched languages, this might be a familiar story for you, where once you get a job in one technology or one stack, one language, you kind of get typecast after a while. Your next job is probably going to be in the same language, same stack. Companies, they hire based on technology and So, it might be hard, even if you've been playing around with Ruby in your free time, to break, make that barrier jump from one language to another, one stack to another. I mean, these technologies, they can take a little while to ramp up on. They can be a little bit different, especially if you're going from a non object oriented language to an object oriented, don't. Lose hope. (laughs) If you have an interest in Ruby and you're not a Rubyist right now, there's a good company for you that will give you a chance. That's the key that I learned, is as a software developer, the skills that you have that are the most important are not the language that you know. It's the type of thinking that you do, the problem solving, communication, documentation, knowledge sharing, Supporting each other, and as Saron the keynote speaker on Wednesday said, the, the word is love. [00:28:35] Jeremy: [00:28:35] Sara: So when I was job hunting, it was really valuable for me to include those important aspects in my skill, in my resume, in my CV, in my interviews, that like, I'm newer to this language because I had learned it at a rudimentary level before. Never worked in it really professionally for a long time. Um, when I was applying, it was like, look, I'm good at ramping up in technologies. I have been doing software for a long time, and I'm very comfortable with the idea of planning, documenting, problem solving. Give me a chance, please. I was lucky enough to find my place at a company that would give me a chance. Test Double hired me in 2019 as a remote. Software Consultant, and it changed my life. [00:29:34] Jeremy: What, what was it about, Ruby that I'm assuming that this is something that you maybe did in your spare time where you were playing with Ruby or? [00:29:43] Sara: I am one of those people that don't really code in their spare time, which I think is valuable for people to say. The image of a software developer being, well, if you're not coding in your spare time, then you're not passionate about it. That's a myth. That's not true. Some of us, we have other hobbies. I have lots of hobbies. Coding is not the one that I carry outside of the workplace, usually, but, I worked at a company called Constant Contact in 2014 and 2015. And while I was there, I was able to learn Ruby on Rails. [00:30:23] Jeremy: Oh, okay. So that was sort of, I guess, your experience there, on the job. I guess you enjoyed something about the language or something about Rails and then that's what made you decide, like, I would really love to, to... do more of this [00:30:38] Sara: Absolutely. It was amazing. It's such a fun language. The first time I heard about it was in college, maybe 2008 or 2009. And I remember learning, this looks like such a fun language. This looks like it would be so interesting to learn. And I didn't think about it again until 2014. And then I was programming in it. Coming from a Java mindset and it blew my mind, the Rails magic also, I was like, what is happening? This is so cool. Because of my typecasting sort of situation of Java, I wasn't able to get back to it until 2019. And I don't want to leave. I'm so happy. I love the language. I love the community. It's fun. [00:31:32] Jeremy: I can totally see that. I mean, when I first tried out Rails, yeah, it, like, you mentioned the magic, and I know some people are like, ah, I don't like the magic, but when, I think, once I saw what you could do, And how, sort of, little you needed to write, and the fact that so many projects kind of look the same. Um, yeah, that really clicked for me, and I really appreciated that. think that and the Rails console. I think the console is amazing. [00:32:05] Sara: Being able to just check real quick. Hmm, I wonder if this will work. Wait, no, I can check right now. I [00:32:12] Jeremy: And I think that's an important point you brought up too, about, like, not... the, the stereotype and I, I kind of, you know, showed it here where I assumed like, Oh, you were doing Java and then you moved to Ruby. It must've been because you were doing Ruby on the side and thought like, Oh, this is cool. I want to do it for my job. but I, I thought that's really cool that you were able to, not only that you, you don't do the programming stuff outside of work, but that you were able to, to find an opportunity where you could try something different, you know, in your job where you're still being paid. And I wonder, was there any, was there any specific intention behind, like, when you took that job, it was so that I can try something different, or did it just kind of happen? I'm curious what your... The appeal of consulting [00:32:58] Sara: I was wanting to try something different. I also really wanted to get into consulting. [00:33:04] Jeremy: Hmm. [00:33:05] Sara: I have ADHD. And working at a product company long term, I think, was never really going to work out for me. another thing you might notice in my LinkedIn is that a lot of my stays at companies have been relatively short. Because, I don't know, I, my brain gets bored. The consultancy environment is... Perfect. You can go to different clients, different engagements, meet new people, learn a different stack, learn how other people are doing things, help them be better, and maybe every two weeks, two months, three months, six months, a year, change and do it all over again. For some people, that sounds awful. For me, it's perfect. [00:33:51] Jeremy: Yeah, I hadn't thought about that with, with consulting. cause I, I suppose, so you said it's, it's usually about half a year between projects or is It [00:34:01] Sara: varies [00:34:01] Jeremy: It varies widely. [00:34:02] Sara: Widely. I think we try to hit the sweet spot of 3-6 months. For an individual working on a project, the actual contract engagement might be longer than that, but, yeah. Maintainers don't get enough credit [00:34:13] Jeremy: Yeah. And, and your point about how some people, they like to jump on different things and some people like to, to stick to the same thing. I mean, that, that makes a lot of, sense in terms of, I think maintaining software and like building new software. It's, they're both development, [00:34:32] Sara: Mm hmm. [00:34:32] Jeremy: they're very different. Right. [00:34:35] Sara: It's so funny that you bring that up because I highly gravitate towards maintaining over making. I love going to different projects, but I have very little interest in Greenfield, very little interest in making something new. I want to get into the weeds, into 10 years that nobody wants to deal with because the weeds are so high and there's dragons in there. I want to cut it away. I want to add documentation. I want to make it better. It's so important for us to maintain our software. It doesn't get nearly enough credit. The people that work on open source, the people that are doing maintenance work on, on apps internally, externally, Upgrades, making sure dependencies are all good and safe and secure. love that stuff. [00:35:29] Jeremy: That's awesome. We, we need more of you. (laughs) [00:35:31] Sara: There's plenty of us out there, but we don't get the credit (laughs) [00:35:34] Jeremy: Yeah, because it's like with maintenance, well, I would say probably both in companies and in open source when everything is working. Then Nobody nobody knows. Nobody says anything. They're just like, Oh, that's great. It's working. And then if it breaks, then everyone's upset. [00:35:51] Sara: Exactly. [00:35:53] Jeremy: And so like, yeah, you're just there to get yelled at when something goes wrong. But when everything's going good, it's like, [00:35:59] Sara: A job well done is, I was never here. [00:36:02] Jeremy: Yeah. Yeah. Yeah. I don't know how. To, you know, to fix that, I mean, when you think about open source maintainers, right, like a big thing is, is, is burnout, right? Where you are keeping the internet and all of our applications running and, you know, what you get for it is people yelling at you and the issues, right? [00:36:23] Sara: Yeah, it's hard. And I think I actually. Submitted a talk to RubyConf this year about this topic. It didn't get picked. That's okay. Um, we all make mistakes. I'm going to try to give it somewhere in the future, but I think one of the important things that we as an industry should strive for is giving glory. Giving support and kudos to maintenance work. I've been trying to do that. slash I have been doing that at ThoughtBot by, at some cadence. I have been putting out a blog post to the ThoughtBot blog called. This week in open source, the time period that is covered might be a week or longer in those posts. I give a summary of all of the commits that have been made to our open source projects. And the people that made those contributions with highlighting to new version releases, including patch level. And I do this. The time I, I, I took up the torch of doing this from a co worker, Mike Burns, who used to do it 10 years ago. I do this so that people can get acknowledgement for the work they do, even if it's fixing a broken link, even if it's updating some words that maybe don't make sense. All of it is valuable. [00:37:54] Jeremy: Definitely. Yeah. I mean, I, I think that, um, yeah, what's visible to people is when there's a new feature or an API change and Yeah, it's just, uh, people don't, I think a lot of people don't realize, like, how much work goes into just keeping everything running. [00:38:14] Sara: Mm hmm. Especially in the world of open source and Ruby on Rails, all the gems, there's so many different things coming out, things that suddenly this is not compatible. Suddenly you need to change something in your code because a dependency, however many steps apart has changed and it's hard work. The people that do those things are amazing. [00:38:41] Jeremy: So if anybody listening does that work, we, we appreciate you. [00:38:45] Sara: We salute you. Thank you. And if you're interested in contributing to ThoughtBot open source, we have lots of repos. There's one out there for you. Thoughts on RubyConf [00:38:54] Jeremy: You've been doing programming for quite a while, and, you're here at, at RubyConf. I wonder what kind of brings you to these, these conferences? Like, what do you get out of them? Um, I guess, how was this one? That sort of thing. [00:39:09] Sara: Well, first, this one was sick. This one was awesome. Uh, Ruby central pulled out all the stops and that DJ on Monday. In the event, in the exhibit hall. Wow. Amazing. So he told me that he was going to put his set up on Spotify, on Weedmaps Spotify, so go check it out. Anyway, I come to these conferences for people. I just love connecting with people. Those listening might notice that I'm an extrovert. I work remotely. A lot of us work remotely these days. this is an opportunity to see some of my coworkers. There's seven of us here. It's an opportunity to see people I only see at conferences, of which there are a lot. It's a chance to connect with people I've only met on Mastodon, or LinkedIn, or Stack Overflow. It's a chance to meet wonderful podcasters who are putting out great content, keeping our community alive. That's, that's the key for me. And the talks are wonderful, but honestly, they're just a side effect for me. They just come as a result of being here. [00:40:16] Jeremy: Yeah, it's kind of a unique opportunity, you know, to have so many of your, your colleagues and to just all be in the same place. And you know that anybody you talk to here, like if you talk about Ruby or software, they're not going to look at you and go like, I don't know what you're talking about. Like everybody here has at least that in common. So it's, yeah, it's a really cool experience to, to be able to chat with anybody. And it's like, You're all on the same page, [00:40:42] Sara: Mm hmm. We're all in this boat together. [00:40:45] Jeremy: Yup, that we got to keep, got to keep afloat according to matz [00:40:49] Sara: Gotta keep it afloat, yeah. [00:40:51] Jeremy: Though I was like, I was pretty impressed by like during his, his keynote and he had asked, you know, how many of you here, it's your first RubyConf and it felt like it was over half the room. [00:41:04] Sara: Yeah, I got the same sense. I was very glad to see that, very impressed. My first RubyConf was and it was the same sort of showing of [00:41:14] Jeremy: Nice, yeah. Yeah, actually, that was my first one, too. [00:41:17] Sara: Nice! [00:41:19] Jeremy: Uh, that was Nashville, Yeah, yeah, yeah. So it's, yeah, it's really interesting to see because, the meme online is probably like, Ah, Ruby is dead, or Rails is dead. But like you come to these conferences and yeah, there's, there's so many new people. There's like new people that are learning it and experiencing it and, you know, enjoying it the same way we are. So I, I really hope that the, the community can really, yeah, keep this going. [00:41:49] Sara: Continue, continue to grow and share. I love that we had first timer buttons, buttons where people could self identify as this is my first RubyConf and, and then that opens a conversation immediately. It's like, how are you liking it? What was your favorite talk? [00:42:08] Jeremy: Yeah, that's awesome. okay, I think that's probably a good place to start wrapping it. But is there anything else you wanted to mention or thought we should have talked about? [00:42:18] Sara: Can I do a plug for thoughtbot? [00:42:20] Jeremy: yeah, go for it. [00:42:21] Sara: Alright. For those of you out there that might not know what ThoughtBot does, we are a full software lifecycle or company lifecycle consultancy, so we do everything from market fit and rapid prototyping to MVPs to helping with developed companies, developed teams, maybe do a little bit of a Boost when you have a deadline or doing some tech debt. Pay down. We also have a DevOps team, so if you have an idea or a company or a team, you want a little bit of support, we have been around for 20 years. We are here for you. Reach out to us at thoughtbot.com. [00:43:02] Jeremy: I guess the thing about Thoughtbot is that, within the Ruby community specifically, they've been so involved with sponsorships and, and podcasts. And so, uh, when you hear about consultancies, a lot of times it's kind of like, well, I don't know, are they like any good? Do they know what they're doing? But I, I feel like, ThoughtBot has had enough, like enough of a public record. I feel It's like, okay, if you, if you hire them, um, you should be in good hands. [00:43:30] Sara: Yeah. If you have any questions about our abilities, read the blog. [00:43:35] Jeremy: It is a good blog. Sometimes when I'm, uh, searching for how to do something in Rails, it'll pop up, [00:43:40] Sara: Mm hmm. Me too. Every question I ask, one of the first results is our own blog. I'm like, oh yeah, that makes sense. [00:43:47] Jeremy: Probably the peak is if you've written the blog. [00:43:50] Sara: That has happened to my coworkers They're like, wait, I wrote a blog about this nine years ago. [00:43:55] Jeremy: Yeah, yeah. So maybe, maybe that'll happen to you soon. I, I know definitely people who do, um, Stack Overflow. And it's like, Oh, I like, this is a good answer. Oh, I wrote this. (laughs) yeah. Well, Sara, thank you so much for, for chatting with me today. [00:44:13] Sara: Absolutely, Jeremy. Thank you so much for having me. I was really glad to chat today.
This episode introduces the second participants of the season's thoughtbot's Incubator Program, Mike Rosenthal and Chris Cerrito. Mike has a background in music industry marketing, and Chris is a maker and tinkerer with experience in exhibit development. They're developing a product combining physical objects with digital content, starting with music. Their concept involves creating physical items like wooden mixtapes with NFC chips linking to digital playlists. This blend of physical and digital aims to revive the tangible aspects of fan engagement in a digital era. Their project, named Goodz, is the first pure consumer product in the Incubator program, adding complexities like supply chain and manufacturing considerations. The team is conducting user interviews to validate market interest and refine their messaging. They aim to have a functioning physical product and a supporting digital backend by the end of the program. Challenges include defining the target market and understanding how to attract customers to a new product type. The thoughtbot team is excited about the project due to its fun nature and technical aspects, offering a fresh perspective compared to problem-focused startups. The conversation also explores the broader implications of bridging the digital and physical worlds in fan engagement, with the potential to collect valuable data for artists and create lasting, meaningful connections for fans. Follow Josh Herzig-Marx on LinkedIn (https://www.linkedin.com/in/joshuaherzigmarx/) or X (https://twitter.com/herzigma). Visit his website at joshua.herzig-marx.com (https://joshua.herzig-marx.com/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: LINDSEY: All right. I'm going to kick us off here. Thanks, everyone, for tuning in. We're doing our first update with two founders that are now going through the Startup incubator at thoughtbot. thoughtbot, if you're not familiar, product design and development consultancy. We'll help you on your product and make your team a success. One of the very fun ways we do that is through the startup thoughtbot incubator, which is an eight-week program. So, with us today, I myself am Lindsey Christensen, marketing for thoughtbot. We also have Jordyn Bonds, who is our Director of Product Strategy and runs the thoughtbot incubator. And then, as I mentioned, we've got two new founders who are going to tell us a little bit about themselves and what they're working on. Mike Rosenthal, let's kick off with you. Can you tell us a little bit about maybe your background and what brings you to present day? MIKE: Sure. First of, thanks for having us. It's been a lot of fun doing this over the last [inaudible 01:03]; it's only two weeks, two and a half weeks, something like that. It feels like a lot more. I come from a music industry background, so worked in sort of marketing and strategy for artists for a long time; worked with a band called OK Go back, sort of starting in 2009 or so. I did a lot of early kind of viral music video stuff. And we were sort of early to the idea of sort of leveraging fan engagement and revenue, honestly, kind of beyond sort of just selling their music and touring, so sort of exploring other ways that artists can make money and connect with their fans and was with those guys for five years. And then, I went on and worked at an artist management company in Brooklyn called Mick Management and ran the marketing department there, so doing similar type of work but for a roster of 2025 major label bands. And so, really got to see fan engagement on all different levels, from really large bands down to baby bands who were just getting started. And then, yeah, started my first startup in 2018, so doing sort of fan engagement work, and NFTs, and blockchain-type stuff working with bands, but then also sports and entertainment properties. Yeah, that kind of brings me here. So, always been sort of on the music side of things, which ties into a lot of what Chris and I are working on now, but more generally, sort of fan engagement and how to, you know, drive revenue and engagement for artists and deliver value for fans. LINDSEY: Very interesting. All right, Chris, going to head over to you. Chris Cerrito, can you tell us a bit about your background? And it sounds like yours and Mike's paths; this isn't the first time you've crossed. CHRIS: No. Mike and I have been working together since 2007, I believe. Yeah, that's a great place to start. I've always been kind of a maker and a tinkerer, always been interested in art materials, how things are put together. And that kind of culminated at grad school, where Mike and I met at NYU, where we both studied physical computing and human-computer interaction, making weird things that kind of changed the way that people interact and play with technology in their day-to-day lives. I think the first project he and I worked on together was a solar robotic band that we played with light in front of a bunch of people. It was very wonderful and confusing at the same time. After grad school, I was lucky enough to become a resident artist and then an exhibit developer at a museum in San Francisco called the Exploratorium, which is a museum of science, art, and human perception. I spent ten years there working on exhibits, teaching people things ranging from, let's see; I built a dueling water fountain to teach visitors and users about the prisoner's dilemma. I built a photo booth that used computer vision to teach people about the microbiome that lives on their face, like, just all kinds of weird things like that that fuse the digital and the physical worlds. I loved my time there. And then kind of COVID hit, and I realized that everything I had been working on for ten years was locked up in a museum that I no longer had access to. And it really gave me a desire to kind of bring my ideas into the physical world. I wanted to make things that people interact with and use in their lives on a day-to-day basis. And I would say that's really what brought me here to this point. LINDSEY: Very cool. Very interesting backgrounds, in my opinion. What is the new idea? What is the thing that you're bringing into the incubator? Mike, I'll start with you. Tell us a bit about what you're working on. MIKE: Chris and I are working on physical objects that connect to digital content is sort of the broadest way that I could describe it. I think, you know, as Chris kind of mentioned, you know, we've both been working on sort of physical things that have interactivity for a lot of our careers. I think we both come from an era of a lot more physical objects in your life, whether that's, you know, VHS cassettes at your parent's house growing up, or records and tape cassettes, and just sort of physical things that remind you of the things that you love. And I think that, you know, cell phones are great, and the sort of the smartphone era is amazing and having, you know, every single song, and movie, and television show and podcasts, et cetera, in a black box in my pocket is great. But I think we've sort of gotten to a point where it's more of an organizational problem now than anything else. And we sort of forget the actual things that we love in this world. And so, we're working on basically making physical objects to tie to digital content, and we're starting with music. And that's what we've been working on at thoughtbot is sort of how we can create physical things that basically you can tap, and that will take you to streaming content. One of the first things we're working on literally looks like sort of a little mixtape on a piece of wood, and you can just load that up with any sort of playlist that you might have on Spotify, or Apple Music, or YouTube, or whatever, and tap it, and it will take you there. And so, it's just sort of that idea of like, oh, we used to be able to sort of flip through a friend's music collection and judge them ruthlessly, or become even better friends with them based on kind of what you saw there. And we think that the time is ripe for, I don't know, a blend of that nostalgia with actual sort of, like, real-world utility that people could be into this right now. Chris, what am I missing there? CHRIS: I'd say just to expand on that a little bit, it's, you know, we spend so much time in the digital world, but we still exist in the physical. And a lot of the things, like, you might spend a really long time editing a photo for your parents or making a playlist for a friend, and there's, like, a value there that might not translate because it's digital. It's ephemeral. And I think tying these digital assets to a physical thing makes them special. It gives them, like, a permanent place in your life, something to respect, to hold on to, and maybe even pass down at some point. LINDSEY: Yeah, and I think before we logged on, we actually had Jordyn and Mike grabbing cassette tapes from the room there and to show us -- MIKE: [inaudible 06:49] LINDSEY: What [laughs] was some of their collection and to prove some of the power of these physical –- MIKE: Nothing, like, just old mixtapes. LINDSEY: Mementos. MIKE: Yeah. We were just talking about this on our sync with the thoughtbot crew. They're, like, there's sort of two levels of nostalgia. There's nostalgia for people like us who, yeah, [crosstalk 07:09] mixtapes, right? For people who actually grew up with this stuff and still have it lying around or don't but, like, look at something like that that gives you, like, instant flashbacks, right? You're like, oh my God, I remember scrolling on that little j-card or, like, getting a mixtape for my first, you know, boyfriend or girlfriend, and having it just mean everything. So, there's people for whom that was a thing. And there's, you know, generations of people for whom that is, like, their only connection to that is, you know, Stranger Things or, like, you know, the mixtape exists in pop culture as a reference. So, there's still, like, a very strong attachment there, but it's not a personal one, right? It's a cultural one. But I think everybody has that connection. So, that's kind of why we're starting with the mixtape, just because I think everyone can kind of relate to that in some way. LINDSEY: Yeah, no, yeah. When I hear mixtape, it goes immediately to crushes. You make a mixtape for your crush. CHRIS: Exactly. LINDSEY: It's a huge, powerful market, powerful. MIKE: Oh my God, so powerful. I mean, yeah, I don't know anybody -- LINDSEY: What's more motivating? MIKE: [laughs] Yeah, exactly. CHRIS: Or even just I have a really good friend who I don't get to see as often as I'd like. And he and I are constantly sending each other, you know, Spotify links and text messages. And it's great. I love that interaction. But at the same time, you know, I might forget to add that to a playlist, and then it's kind of lost. If I had taken the time to make something and send it to him physically or vice versa, it just becomes so much more special and so much more real. MIKE: Yeah. I mean, honestly, I first made these...I mean, we can go to this origin if we want. But, like, I literally just went on moo.com, right? The business card company. And they let you upload, you know, 50 different images, and they'll send you all of those as business cards. And so, I literally went on and just made business cards of all the album covers of, like, albums that I loved growing up, right? And their cheapest is this little piece of cardboard. But I had 50 of these, and I'd put them all out on my coffee table, just as something I wanted to have around. And people kept coming, you know, friends would come over, and you would just have these conversations that I haven't had in 10 or 15 years, right? Because no one's going to come to my house and pick up my phone and look at my Spotify collection. But if these things are all just sitting out, they're like, "Oh shit, you're into that? Like, I haven't thought about that album in 15 years." Or like, "Oh, I didn't know you were into that. I'm, like, a crazy super fan of that artist as well." And all of a sudden, we're having these conversations that we just weren't having. Yeah, there's something there where it's all been nostalgia coupled with the kind of prompting of conversation and connection that we've kind of lost, I think. CHRIS: And I think just to clarify a little bit on what Mike's saying, is, you know, this mixtape will be our first product launch, and then we're hoping to move into collectibles for artists and labels. So, shortly after we launch this tape, we're hoping to launch some kind of pilot with a label where you will be able to buy a version of this for your favorite music artist at a merch table in a concert, possibly online. Our dream is to have these sitting there on the table with T-shirts, and records, and other things that artists sell so you can express for the artists that you love. This is a way of expressing your fandom. LINDSEY: Jordyn, heading over to you, this feels like maybe the first consumer product that has gone through the incubator, would you say? Or how do you think about it? JORDYN: Yeah, if you're a consumer -- LINDSEY: Or is it different than other types of products? JORDYN: Yeah, the first incubator project we did with Senga was, I think, what you would call prosumer. So, it was sort of a consumer thing but directed at folks who had kind of freelancing in sort of a business context. It's got a lot of dynamics of the consumer. But this one, for sure, is the first pure consumer play. Though now that I'm thinking about it, you know, AvidFirst had some consumer elements to it, but it was, you know, it was, like, more complex tech [laughs] [inaudible 10:46] totally different thing -- LINDSEY: But definitely the first of the physical, physical [inaudible 10:52] JORDYN: Oh, sure, the first of the physical thing. Right. Absolutely. LINDSEY: Does that change any of, like, the approach of the programming, or it's kind of -- JORDYN: I mean, no, not fundamentally, though it does add this layer of operations that you don't have with a pure software play. So, we have to be, there is a thing that needs to get shipped to people in the world, and that takes timelines, and it takes -- LINDSEY: Supply chain. JORDYN: Yeah, exactly. And Chris is doing most of that stuff. I don't want to, you know, this is not, like, the main focus of our team necessarily, but it intersects, right? So, this isn't the first one of these types of products I've worked on personally in my career. But there's something, like, really, for me, very fulfilling about, like, there's software. There's a big component of software. There's also this physical object that needs to exist in the world. And partly, what's so compelling about Goodz is that it gives you the promise of a physical, like, the sort of good aspects of a physical product, a thing you can hold in your hand and look at and really connect with in that physical way. But it has this dynamic digital, like, essential quality as well. So, it's very compelling as a product because it sort of marries the things that we like about both the physical world and the digital world, which is partly why the team was really excited about working on it [laughs]. LINDSEY: Well, that was going to be my next question is, you know, what stood out to you about the Goodz application for the incubator and the interview process that made you and the team feel like this was going to be a great project to work on? JORDYN: Yeah. So, I think just the team really resonated with the sort of idea in general, and it seemed fun. There was, like, it's a very positive thing, right? It isn't so much about solving problems and pain points. And, sometimes the, you know, when you're very focused on solving problems, it can feel a little doomy because you actually have to, like, immerse yourself in the problems of the people that you're making software for. And sometimes, you start to feel like the world is just full of problems. What Goodz is doing is sort of it is solving a problem in a sense, but not in that kind of way. It's really, like, a fun upside kind of thing, which I think a lot of the folks on the team were very excited about. But, like, the software component, actually, is very interesting to us from a technological standpoint as well. There's a lot of opportunity here to do interesting things on the backend with an object that's essentially functioning as a bookmark out in the world. What all can you do with that? There's something super compelling and technically interesting about it. And I think, also, the team was just sort of excited by Chris and Mike, you know, the energy and the kind of background they were bringing to the table was also super interesting. And then, above all else, what I say every time you ask me this question, which is stage fit, y'all, good stage fit. They're right at the beginning. They haven't built the product yet [laughs]. Gotta say it. It's a good stage fit. They know who they're building for broadly but not super specifically. Got a good vision but, like, haven't made that first step with the software. Perfect stage fit for us [laughs]. LINDSEY: Great. So, Chris, we were talking a bit before about how you two have been collaborators in the past, worked on business ideas before. Why bring this idea into the thoughtbot incubator? What are you hoping to, you know, achieve? CHRIS: One of the main reasons why we wanted to bring this into the incubator was just for support, momentum, and then, also, I would say, validation for our idea. I mean, we came to the incubator with a very, yeah, I would say it was a fairly developed idea that needed to be proved, and we, quite frankly, needed help with that. You know, Mike and I have our own expertises, but we don't know how to do everything. We're more than willing to jump in where we need to go. But having people with expertise to work with has proven to be incredibly helpful, and just having kind of fresh faces to bat ideas around with after he and I have been staring at each other for months now on Zoom calls and meetings. And just, you know, being able to talk about these ideas with fresh faces and new people and get new perspectives has been so very, very helpful. I think something that's also great from the momentum standpoint is that because there's a time limit to this experience, we've got the time that we have with you guys, and we've been able to set goals that I think are very achievable for things we want to occur in the next couple of months, and it feels like we're going to get there. And I think by the end of this, I mean, our hope, and I think we're on track, is to have a functioning physical product that we're going to offer to consumers with a digital backend to support it, which is, in my mind, amazing. That'll totally validate this idea and prove if we have something or not. LINDSEY: I was going to ask if you're open to sharing what those goals specifically are. Is that it? Is it that by the end, you have -- MIKE: Is that it? Lindsey, that's a lot. [laughter] CHRIS: It's a lot. I mean, yeah. I mean, we're going to have a physical object in the world that you can buy via an e-commerce site -- JORDYN: Sounds like we need Lindsey on the team if Lindsey feels like this is so achievable. [laughter] CHRIS: Yeah, yeah. Lindsey...yeah. We're in the beginning [crosstalk 15:47] LINDSEY: I meant, is that the goal? CHRIS: That is the goal. LINDSEY: Is that all? CHRIS: I was going to –- LINDSEY: Is that all you got? CHRIS: Mike, do you agree? MIKE: Yeah. Is that the goal? Yes, that is the goal. I mean, you know, when we sat down with the thoughtbot team kind of week one, you know, they're sort of like, "All right, let's define kind of the experiment." So, we refer to them as experiments, which I think is helpful because, like, what are the experiments that we want to be doing during our time here? And, you know, we talked about it a lot. And yeah, I think it's, you know, having a physical product out in the world, having a website in which to sell it. But also, it's really like Chris was saying, it's like, it's market validation, and just making sure we actually have something that people want. It's like, you know, running a startup takes so long and, like [laughs], you know, you'll do it for so many years. It's like bands when people say, like, "Oh, that's an overnight sensation." It's like, you know, that band has been slogging it out in tiny, little venues for four years before you ever heard of them. It's like, that's what so much of the startup world feels like to me, too. It's like, "Oh, you're just getting started as a startup?" It's like, "Well, we've been working on this forever." And I know how long this can take. And so, I think we want to learn as early as possible, like, is this something people actually want? Because if they don't, like, we'll just go do something else. I don't want to spend years making something that people don't want. So, I think the biggest goal, for me, is just validation, and then that is sort of how we get there is like, okay, how do we validate this? Cool. Let's identify some, you know, assumptions of personas that we think are people who do actually want this and then try to go sell it to them. And all the implications from that are, okay, well, you need a website where somebody can buy it. You need a physical product that somebody can actually buy. So, all those things sort of come out of that, but, for me, it's like, proving that assumption, is this thing real? Do people actually want this? And everything else is like, okay, how do we prove that? LINDSEY: Jordyn, what does that look like in these first few weeks here? User interviews, I assume, how are the user interviews going? JORDYN: Always. Always. So, you know, we kick it off by just, like, doing the exercise where we list everybody who might want this. And the team, you know, it's a fun product. Everybody brought their own assumptions and ideas to the table on that. You know, we had a lot of different scenarios we were imagining. It's super fun getting that stuff out of people's heads, just, like, what are we all thinking? And then, you know, we get to negotiate, like, okay...I always encourage everyone to think, like, if everyone else on the team was on the moon, you had to make a decision about a market segment to pick; which one would you pick? And then we kind of argue about it in a productive way. It really helps us get at, like, what are the dynamics that we think matter upfront? And then we pick one, or, in this case, we have a few. We have a handful. And we're running interview projects where we just recruit people to talk about people that meet this persona, talk about a specific problem. We're in the middle of that right now. And it's fun, fantastic. These conversations are super interesting. We're validating a lot of the things that Mike and Chris, you know, walked into this with, but we're learning a bunch of new things as well. And, like, really, part of the aim there is to validate that there's a hole in the market that we might fill but also to hear the language people are using to describe this stuff. So, when people talk about buying music, merch, you know, making playlists, et cetera, like, what language do they use to talk about that? So that we make sure we're speaking the language that our customer uses to describe this stuff. And we're, you know, we're right in the pocket of doing that, learning stuff all the time. And it helps us kind of hone the messaging. It helps us know where to go talk to people about it, how to talk about it, but it's, you know, it all kind of fits together. And it's just this, really...the early stages. It's just a bunch of us in a room, a virtual room, in this case, sort of, like, tossing ideas around. But out of it crystallizes this sense of alignment about who this is for, how to talk to them about it, and with a goal. And, you know, Mike and Chris walked in with the exact right mindset about this, which is, yes, it's experiments. We need to validate it. Let's make sure there's a there-there. If there's a there-there, let's figure out where it is [laughs], like, all those things. And we're running these experiments, and it was really [inaudible 19:36]. We got down to business quite quickly here. It was really great. LINDSEY: Like you said, it's not necessarily a problem or, you know, the typical framing of a problem. How do you start those user interview questions around this? Do you feel a gap between the physical and the digital sound? [laughter] JORDYN: No, no. LINDSEY: It's maybe not it [laughs]. JORDYN: Yeah, no. Well, I can tell you what our startup questions are. One of them is, tell me about the last time you bought music merch. Go for it, Lindsey. Tell us. LINDSEY: The last time I bought music merch, I went to a Tegan and Sara concert a few weeks ago, and I bought a T-shirt. JORDYN: Tell me about buying that T-shirt. Why'd you buy it? LINDSEY: Because I wanted to remember the show and my time with my friends, and I wanted to support the artists. I know that buying merch is the best way to support your favorite touring artists. JORDYN: So, it's just, you know, we could spend the rest of this time talking [laughter] [crosstalk 20:34], and it would be awesome. So, it's really a lot of things like that. LINDSEY: Gotcha. JORDYN: You don't ask, "What problem are you trying to solve by buying this t-shirt?" Right? Like, that's not, you know, but we ask you to tell us a bunch of stories about when you did this recently. You know, and if you make playlists for friends, you know, that's a different persona. But we would have asked, you know, like, "Tell me about the last playlist you made. You know, who did you share it with? You know, what happened after that? What happened after that? What happened after that?" It's a lot of questions like that. And there's just nothing better. People love to tell you what's going on with them. And it's great [laughs]. LINDSEY: Yeah. As you all have been doing these interviews, Mike and Chris, have you been surprised by anything? Any interesting insights that you're seeing already? CHRIS: I mean, I haven't done really much in the way of user interviews in the past. This is a really new experience for me. And then we're, obviously, not on the calls because that would be weird and probably intimidating for people. But we're getting lots of highlights from folks who are doing them, you know, in our daily sync. And I'm surprised at how many, like, really intense, like, playlist nerds we have found even just in, like, the few people we've talked to, like, in the best possible way. Like, people who are like, "I make playlists all the time." Like, you're talking about, like, a vinyl fan or, like, a...Jordyn, what's the story? It's, like, the guy who there was so much out-of-print vinyl that he started a vinyl label just to get the albums in vinyl. [crosstalk 21:56] JORDYN: Yeah. There were a bunch of releases that he feels really passionately about that were never released on vinyl that he knew would never be released on vinyl. And so, he started a vinyl record label. And we just found this guy [laughter]. CHRIS: Is that indicative that that's, like, an entire persona we're going to, like, target? Absolutely not. But it's just, like, it's amazing that even just in the few user interviews we've done, that we've found so many very passionate people. And it's sent me down, like, a TikTok rabbit hole of, like, TikTok, like, music nerd influencer-type folks who are posting playlists. And they, like, hundreds of thousands of likes on these videos that are literally just, like, screen with text on it that you're supposed to, like, pause the video [laughs] and, like, look at, like, the songs that they're recommending. And it's like, who does that? And it was like, these people do that. And it's like, so there are...it's been very encouraging to me, actually. I was worried that we were going to find not as much passion as we had suspected, and I think the opposite has proven to be true. So, it's exciting. CHRIS: Yeah, I completely agree with Mike. It's been so encouraging. I think, for me, what we're doing is an idea that I'm very excited about and have been very excited about for a long time. But hearing the responses that we're getting makes me confident in the idea, too. That's great. I mean, I think that is everything that a founder needs, you know, is excitement and confidence. MIKE: Well, and just the whole user interview experience has, like, made a lot of my other conversations sort of I've tried to frame parts of them as user interviews because I'm talking to a lot of, like, label folks now, and artists, merch people. And, you know, I ended up just sort of, like, asking them, I mean, yes, trying to explain the product and work on kind of partnership stuff, but a lot of it is really just geeking out with them. And just, like, hearing their thoughts about, like, what they love about merch because these are people that clearly think about this stuff all the time. So, it's definitely kind of, like, tuned my other conversations into trying to get unbiased feedback. LINDSEY: Yeah. Everything is a little user interview now. MIKE: Yeah, exactly. LINDSEY: Get that angle in there. All right, so some early validation and excitement. That's really cool to hear. Any challenges or, you know, other kinds of learnings early on? Anything that's been invalidated? MIKE: I don't know that we're there yet. [inaudible 24:02] Chris, I don't know. I'm happy to find that some things are invalidated, but I don't really feel...you know, some of the personas that we decided or maybe just one of the personas we decided to pursue, I think we're having a hard time having those user interviews kind of really bear fruit, but that's helpful, too, actually. I mean, it's like, okay, well, maybe that's not a group that we target. JORDYN: Yeah. It's about, like, [inaudible 24:24]. I encourage folks not to think about this like a 'no, not that,' and instead think of it as like a 'not yet.' And that's, I think, the dynamic here with a couple of the personas we were interested in. It's just been turned into kind of, like, a not yet for reasons that we very quickly figured out, but we'll get there. It's just a matter of figuring out we had some other personas take precedence because they're more sort of red, hot in a way, right? It's just easier to get in contact with these people, or it's, like, clear what they're going for or what they need from the market. So, you know, we have this whole list, and it was not clear at first who was going to kind of stand out. But we've kind of found some focus there, which means, invariably, that there's things that are falling out of the frame for now, and you're kind of de-prioritizing them. But it really is, like, a we'll get to that [laughs]. We'll eventually get to that. LINDSEY: Yeah. And part of the process, who's going to rise to the top right now? JORDYN: Yeah, exactly. LINDSEY: Do you have anything you can show and tell with us today or not yet? MIKE: So, Chris has been hard at work on all the physical side of this stuff and going back and forth with our manufacturing partner and all that good stuff. But we have a final version of the mixtape product. LINDSEY: For when this gets pulled into the podcast, Mike's showing us a physical card. CHRIS: It's a small card, and we call them Goodz. And it's printed on three-millimeter plywood using a UV printing process, super durable. And this is something you can put in your pocket. You're not going to wreck it. I think you could actually (Don't quote me on this.), but I think you can even, like, put it through a washing machine, and it would be fine. Embedded in this card is a chip that can be read by your phone, and that's pretty much what we're working with. MIKE: Yeah, so the idea is you just sort of tap this, and it'll take you to a streaming version of a playlist. And then Chris has also been making these adorable crates. And [crosstalk 26:10] LINDSEY: The little crates I love. MIKE: And we actually have some wooden ones, too, in the testing that's [crosstalk 26:15] LINDSEY: And then the mixtapes get stored in the little crates [crosstalk 26:19] MIKE: Yeah. So, you could have -- LINDSEY: Throw it on your desk. CHRIS: Each crate can hold about, I think, 15 of these things. What's really cool about this product on the physical side is we are using a tried-and-true technology, which is NFC chips. These are things that make Apple Pay work, make Google Pay work. They are in your E-ZPass when you drive through a toll booth. This is stuff that's been around for years. So, we're just kind of leveraging this technology that's been around for so long in a new way. MIKE: Yeah, I think it's similar to kind of the evolution of QR codes, right? It's like they were sort of around forever, and then it was, like, COVID and restaurant menus kind of kicked those into mainstream. Like, NFC has been around for a long time. It's very tried and true. It's affordable. But I want to say Apple only turned it on by default, like, the NFC reader in the iPhone in the last, like, 18 to 24 months, right? Like, it started...like, it's been around for a while, but they're sort of slowly kind of...and now you just sort of see it everywhere. People are using it on the subways in New York to scan for tickets or for accessing stuff. I was also just showing Chris has been prototyping with the ability to sort of keep these on a key ring. So, we have, like, a little chain hole on them. It is [inaudible 27:22] to sort of have this on your backpack or, you know, on a key ring, or something like that. And friends could kind of, like, come up to you and just, like, scan one that looks interesting. CHRIS: And yeah, something that's awesome about this is you don't need an app. You don't need to download anything. As long as your NFC reader is on when you scan this, it will bring you to the music that it's linked to, which I think is awesome. So, I mean, my dream is to have these, like, hanging off of people's backpacks so I can, like, scan them in the subway or, you know, it's such, like, an easy thing to do. And it requires so little technical time on the user's end to be able to do it. LINDSEY: Oh, we got a question here. "So, Moo used to offer NFC cards. What made you decide to do the thicker plywood model?" CHRIS: Durability is really what it comes down to. We wanted something that felt like an object that you can have and treasure. Like, these have weight, you know, these feel like something, not just a piece of paper. This is something that you can have and [inaudible 28:22] your desk, and it's not going to fade in the sunlight. It's not going to disintegrate over time. This is something that's going to last. MIKE: Yeah, the cards would definitely, like, as I would sort of carry them around and show them to people and stuff, the cards would start, you know, breaking. It's like having a business card in your pocket, right? Eventually, it's going to kind of wear out. And plus, we had, like, the stickers were visible on the back of them. And we were, like, having the sticker just completely disappear inside the wood; it just feels a little bit more like magic. LINDSEY: Well, thanks for demoing there. I put you on the spot a little bit. But they are...I had seen them in the Slack, and they're very cool [laughs]. So, I had to ask if we could show them off a bit. MIKE: Of course. CHRIS: I think another thing to think about, too, is we've been talking a lot about the user experience. But if and when we get to the point of making these for artists, artists will be able to collect so much data off of the way that people buy and collect and use these things over time, which is something that we're really, really excited about. And also, you know, we're working on a way to make the link in the object updatable over time. So, artists will be able to change what a card points do to inform their users about the latest and greatest thing. LINDSEY: Very cool. Jordyn, what's next on the programming agenda for Chris and Mike? JORDYN: It's really sort of we're in this, like, iterative cycle. So, we're talking to folks. We're working on the website. The conversations we're having with people are informing how we're framing this first experiment with the mixtape, how we're marketing it, who we're marketing it to. I think next up is probably a Google Ad experiment to really see if we can piggyback on some stuff or at least figure out a new consumer product. It's so tough, right? It's also not a thing people are searching for. So, we have to come up with some experiments for how we get people to that website [laughs]. So, you know, Google Ads funnels is just something you kind of have to do because it's very interesting to figure out what people are responding to, what people are searching for. But we're going to have a bunch of other experiments as well and non-experiments. Outbound experiments: can we go to people? Can we get listed in a gift-buying guide for the holidays? Or, like, we don't know. There's a bunch of experiments we need to do around that, which is really just this iteration. We won't stop talking to users, but, you know, everything we're hearing from them will inform where we go and how we talk to the folks in those places where we end up. And really, it's just about starting...once this is up and, you know, there's, like, an orderable thing, there's, like, a whole data cycle where we start to learn from the stuff we're testing; we actually have some real data for it, and we can start to tweak, iterate and change our strategy. But the bigger thing, also, is this bigger platform. So, the next thing really, the big next thing, is to sort of start to scope and create an architecture idea. What's it going to take to build the actual backend thing? And it's the thing that thoughtbot really [laughs] excels at, which is software. So, you know, that's the big next kind of project. Once the mixtape experiment is sort of out and in flight and we're getting data, we really need to turn our attention to the technical backend. LINDSEY: Exciting. Another comment/question from Jeff, who maybe needs a user interview. "Love the crate more than the actual albums. Maybe offer collections of artists." MIKE: Yeah, that's the plan. CHRIS: Yeah, definitely. It's a good idea. Yeah, it's, I mean, and labels get to, especially, like, small indie labels get really excited about doing, like, crates worth of collections of different artists or, like, you know, digging through their back catalog, their subscription services. There's a lot of different angles for sure about that idea. LINDSEY: [inaudible 31:55] Chris and Mike, going into this next section of the programming, for anyone watching right now, or watching the recording, or listening to the recording, any action items from them? You know, are you looking for any user interviews or have any survey or any destinations you'd like to send people yet? CHRIS: Not quite yet, but soon, I would say. Well -- MIKE: I mean, [inaudible 32:19] plug the website, I mean, you know, I think we've got, like, an email to sign up from there, right? The URL is getthegoodz.com and I [crosstalk 32:27] LINDSEY: Goodz with a Z. MIKE: Goodz with a Z. CHRIS: With Z. MIKE: So yeah, if you want to go there, you can sign up. I think there's an email signup on there to learn more. LINDSEY: Perfect. All right. getthegoodz.com email sign up. To stay up to date on Goodz and the incubator, you can follow along on the thoughtbot blog. You know, as always, send us any questions you might have, and we're happy to get to those. But otherwise, thanks for listening. And thank you all — Jordyn, Chris, and Mike. Thanks so much for joining today and sharing and being open about your stories so far. MIKE: Thank you. CHRIS: Yeah, thank you, Lindsey. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Chris Cerrito and Mike Rosenthal.
In this week's episode Kieran is joined by Sally Ladrach who is the enablement manager over at Thoughtbot. Sally is leading the charge on the subject of enablement teams using the agile framework more when planning their programs.
thoughtbot's Incubator Program is back for a third round! This episode introduces founder Josh Herzig-Marks of Knect, and he will be sharing his journey from freelance work to joining the program and what happens throughout! So far, he appreciates the deliberate communication practices required for practical remote work, despite remote work already being second nature to him, and he understands the importance of proactive and transparent communication in a team setting. One critical insight for Josh so far was the misconception surrounding the term "CRM" in personal relationship management. His moment involved mislabeling a survey, which led to confusion about the project's intent. As the Incubator Program progresses and continues to scale, Jordyn expresses excitement about involving more teams with different geographic focuses. The goal is to foster a collaborative environment within the thoughtbot Incubator Slack channel, encouraging past and present participants to share experiences and advice. We invite listeners who resonate with any of the challenges heard or have potential solutions to reach out! Our next Incubator episode will introduce our other Session 3 participants, Mike and Chris, founders of Goodz. Follow Josh Herzig-Marx on LinkedIn (https://www.linkedin.com/in/joshuaherzigmarx/) or X (https://twitter.com/herzigma). Visit his website at joshua.herzig-marx.com (https://joshua.herzig-marx.com/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: LINDSEY: My name is Lindsey Christensen, and I head up marketing for thoughtbot. For anyone listening or joining who isn't familiar with thoughtbot, we're a product design and development consultancy that helps you make great products and help make your team a success. One of the very cool ways we do that is with the thoughtbot Startup Incubator, which is a program that we launched this year and that Jordyn, who's with us today, has been heading up. What's up, Jordyn? And today, what we're going to be doing is catching up with one of the latest founders who's participating in the incubator and seeing what he's been up to since the kickoff over these last two weeks. JOSH: It's been two weeks. It's been two really fast weeks. LINDSEY: [laughs] Josh, could you give us a little introduction to yourself? JOSH: Sure. I'm Josh. Hi. I've been in tech product management for, like, 20-ish years, 15 or so of those were in head-of-product roles. And a bunch of those early on were my own startup, where I discovered I was a pretty mediocre founder but really liked this product leadership thing. I had a very lucky exit, which I leveraged into a series of first product manager, first head of product, first product leader roles at a series of early-stage companies across a ton of domains: B2B, B2C, FinTech, mobile, Revtech. And then, a little over a year ago, my partner and I got to do this thing we've been talking about for a while, which was we swapped who the primary parent was. We have two kids, two teens, 13 and 15, right now, so that's eighth grade and ninth grade. I wanted to take over primary parenting so that they could focus as much or as little on their career as they wanted to in the same way they had allowed me to do for the first 15-ish years of our kids being kids. And if I were a better person, I would have found some kind of job that allowed for work-life balance, but I'm not. I have a whopping case of ADD, which we'll probably come back to later on in this conversation. And the way that I knew I'd be able to actually fulfill my responsibility as a primary parent was by retiring from salaried work. So, I did that a little over a year ago, last summer. And kind of keep me busy and occupied in between 8:30 in the morning, you know, school drop off and 3:00 o'clock in the afternoon school pickup. And when I'm not doing shopping, and cooking, and lunches, and doctor's appointments, and dentist appointments, and orthodontist appointments, and play dates, and soccer practices, and basketball practices, and soccer games, and basketball games, and Bar and Bat Mitzvahs, and all the other things that we do, I built a very small niche coaching mentorship and advisory practice around founders, solo product managers, and first-time heads of product. And that's pretty much up until about two weeks ago what I had been doing with myself. LINDSEY: That's a great update. I especially liked all the practices that you have to go to. [crosstalk 02:54] JOSH: I do like practices. We went to a co-ed soccer game for my middle school kid. And it was the first time that the boys' team and the girls' team ever played together, and they got totally clobbered by this other team. And what I loved about it at the end was the kids weren't bummed. They were like, "That was really fun." And, you know, for a lot of these kids, they've been friends since kindergarten. So, this is, like, nine years of being friends and playing recess soccer together. And they're not very good at soccer, but they just really love all playing together so much. And they just bring so much sportspersonship to the field. It was really a pleasure. LINDSEY: Okay. So, you're doing all this fun primary parenting and going to all the fun practices. You've got a coaching business that you're working on as well. But there was this idea, this idea that's needling. What brings you to us? JOSH: I think before it was an idea, it was a problem. And I knew this was a Josh problem. And the Josh problem was that I have a really big network, you know, built over the past, you know, more than 20 years of professional life. And, you know, one of the joke lines I have is that the solution to almost any business problem is found in talking to more people. I really value being able to, you know, call people up, message them, text them, email them, get together with them, ask them lots of questions, listen hard. And I try really hard to reciprocate, doing the same thing. I don't know what your professional network looks like, Lindsey or Jordyn, over the past, I don't know, couple years, decade, however long it's been, you know. But what used to be email and LinkedIn, maybe, and maybe getting together in some local meetups, has really spiraled what, to me, feels, again, whopping case of ADD, completely out of control, right? I have my LinkedIn network, which has not gone away, right? And now I'm a member of, I don't know, Jordyn, we share these a lot, a dozen different professional networking Slacks. Those are the ones that Jordyn and I share, probably far, far more than that, right? Product management ones, entrepreneurship ones, product marketing ones, engineering ones, tech company ones, ones geographically based for the Boston area, ones that are focused on things like climate change and climate tech. So, a ridiculous number of these. And as somebody with some experience and the privilege to have some free time, it feels kind of like, I don't know, an obligation sounds too grandiose, but it feels like a nice way that I can give back is by participating and trying to be helpful inside of these. So, that's happened. And Discord became a thing, you know, certainly, it had been a thing for gamers since before that. But since the beginning of the pandemic, Discord became a thing. I'm in, like, I don't know, a dozen different similar Discord groups. And I'm in WhatsApp communities, and I'm in Telegram communities. And in-person meetups have started to happen again. And I found myself kind of losing control. I was telling people, whether, you know, over the phone, or in Zoom calls, or direct messages, that I'd make connections to them, make intros, and it was getting increasingly hard to do that. I was forgetting about people, you know, like, it's hard to remember to stay in touch with all of your colleagues when you move on from past roles. And, you know, I would try to make connections to people to be like, okay, Lindsey, you know, you wanted to meet somebody else in marketing in the Boston area. And I remember that, like, six years ago, they worked at Rocket, and now they've moved on to something else. I can't remember what it's called. And, like, how do you, like, you know, page through your email and your Slack connections and your LinkedIn to find that person? And that was really hard, too. So, I have ADD. My family would say that I'm, like, moderately functional. So, how do I achieve that? By creating systems for myself. And I did all the things which other people have tried to do. I built myself, like spreadsheets and Notion databases. I have an awful lot of, like, Notion databases now powered by forms. I'm like, just put your information in, and it'll appear magically into my database where I try to, you know, push the work onto other people. And none of it was really working for me. And that was kind of the genesis of the idea and then trying to figure out, is this a Josh problem, or is this a broader problem? That's kind of how I got started. LINDSEY: Lots of people, lots of channels, not a lot of tracking or confusing tracking. And we chatted briefly before, you know, you were starting the program. And this really resonated for me. And I also ended up doing a user interview [chuckles] with the team about it. JOSH: Yeah [laughs]. LINDSEY: Because yeah, in my role, and moving from different companies or doing mentoring on the side, and being in investor communities and marketing communities, it gets overwhelming for sure. And I feel the pain. And I've had the embarrassing moments of not remembering how I know someone or a conversation we had, or someone I really respect asking me for an intro, and I'm like, I don't remember anything about how I know that person. JOSH: I mean, that was both gratifying and disappointing. Gratifying, like, oh, it's not just a Josh problem; we all struggle with this, and disappointing, right? And as I've had more of these conversations, just to realize, like, I know almost nobody who doesn't struggle with this. There's a few. There's a few outliers, a few weirdos, a few superheroes who are able to do this really well and who feel in control. And, like, literally, as they describe it, it sounds like...Jordyn, you're nodding, right? It sounds like a superpower as they're describing how they do this, how they kind of manage it. JORDYN: [laughs] JOSH: But for the most part, thank goodness it's not a Josh problem. The bummer is, nobody has, like, you know, the magic incantation, right? The spell or the secret or, like, the one weird trick, or the tool or, like, could I just give you money and solve this thing? And none of this really exists today. And that was kind of a bummer. I was hoping for, you know, better news that this was a solved problem. LINDSEY: [laughs] Yeah. Jordyn, heading over to you for a minute, Josh applied for the incubator with this problem that he was working on. We had a lot of great applications, I think, for this session. What made you think or you and the team land on Josh as one of our session three founders that would be a great fit for the programming? JORDYN: I'd say it was probably two factors; one is the stage. What's really tough was figuring out who's a good stage fit for us. So, like, what that means is you've identified a specific enough problem. You're not just, like, I want to solve world hunger or something, like, super broad. There's enough of a specific pain point or a problem that you're trying to solve that there's, like, we might conceivably make progress on it in eight weeks. But you're not so far along that you are basically like, "Hey, I've got the specs for an MVP. Can you just build it?" Which is, like, too late for us. And part of that is a discovery mindset of, "Hey, I've identified this pain point. I think other people have it. But I am very open to how we solve the problem or learning new things about it, learning that it is a bigger need in a market I've never thought about," like being open to the things we might learn together. So those things: stage fit, mindset fit. But, also, like, it is a problem that is addressable with software, right? thoughtbot's focus is software. Like, yes, we have worked on products that are not software products, but, like, our bread and butter is software. And my personal bread and butter professionally is software. So, is the problem on the table something that, you know, software is a big component in meeting the need? So, it's, you know, it's stage. So, I guess it's three things: stage, founder mindset, which is this combination of having conviction but being open-minded, a very weird [laughs] thing to find in a person. And then, you know, can we conceive of a way to address this with software without jumping to a solutionizing? That's sort of what we're looking for, and Josh checked all of those boxes. And I think, also, just had a problem that people really resonated [laughs] with, which is clear from [laughs] what Lindsey was saying and for me personally as well, I think I should [laughter] say. This is a problem I have. So, when Josh and I first talked about it, I was just like, yes, I would love to solve this problem. I also wish there was some spell, or incantation, or weird trick, or existing products, et cetera. JOSH: We might have spent an hour nerding out over all of the things that we've tried, yeah. JORDYN: The things that we've tried, emphasis on the nerding. JOSH: On the nerding part, yeah. JORDYN: Any of you listening [crosstalk 10:45] JOSH: Or what if we get sneakier connect Google Sheets to this, like, really weird web query and [laughs] -- JORDYN: [laughs] Exactly. And then giving up because it's totally unmaintainable or, like, [laughter] impossible, yeah. So... JOSH: Right. Oh, and it's all crap, too [laughs]. JORDYN: Right, right. So, if anyone out there listening is like, "Oh yeah, that's me," first of all, you're not alone. Second of all, please reach out to us. We would like to interview you [crosstalk 11:09] JOSH: Or, if anyone out there is like, "Oh, I have this thing solved," right? If you got the solution, please reach out to us. JORDYN: [laughs] Yes, also, please. JOSH: You can save us six more weeks of work [laughs]. JORDYN: If you know the solution, definitely tell us. Anyway, so to your question, though, Lindsey, that's how this [inaudible 11:23], and it just seemed like a great fit along those lines. LINDSEY: Yeah. So but, Josh, you mentioned...well, I think you kind of downplayed your founder history a little bit. But you've been a founder who had success, certainly a product team leader who has been very successful in the early-stage teams. What were you looking for from thoughtbot? Like, what attracted you to working with the thoughtbot team on your problem when you have all this kind of past experience already? JOSH: I think there's probably three parts to it; one is I know a bunch of people in the thoughtbot team pretty well. In past roles, I have actually hired thoughtbot; I think it was twice. And I've referred a bunch of your current and past clients as well. Like, I'm just generally a big thoughtbot fan. I think I've even used thoughtbot products long before I even knew, like, Chad or Jordyn, some of your old products from, like, you know, the early 2000s. So, we're going really OG here. So, I knew thoughtbot really well and think really highly of everybody who I've interacted with there. Number two is, I know, you say incubator, but, for me, the word that's really been resonating has been accelerator. It can be really slow the early, I don't know, weeks, months, years to go from an idea to, hey, this is really an opportunity. And I didn't want to spend weeks or years at this. I have a full-time job. It's, you know, taking care of the family. Like, that's what I wanted to be focused on. And if this was really an opportunity, I wanted to figure this out relatively quickly. And I love the fact that thoughtbot has this eight-week accelerating program. And the third one is I had this...and, you know, not every assumption I came in with was one that I'm going to leave the program with. But I came in with the assumption that a lot of the risk was technology risk. I had a rough idea. I was quickly discovering this wasn't just a Josh problem; this was a broader problem, right? There's plenty of challenges beyond that, but it's good to discover that your problem is broad. But is it something which can actually get built and built relatively straightforward? Jordyn here [inaudible 13:27] this all the time. You know, I don't like science project problems, right? And thoughtbot is really, really good at building software and partnering with somebody who could help to remove that kind of risk as a non-technical founder, as somebody with literally zero technical skills, I find that very, I don't know, comforting, exciting. LINDSEY: Okay, writes down in marketing notebook: "Accelerator resonating more than incubator." [laughs] JOSH: I wanted to get to the decision...incubator is a better word for it. But I personally wanted to get to that is this a good opportunity or a bad opportunity decision faster. LINDSEY: To quickly validate invalidate. JOSH: Right. I wanted this, like, I wanted to timebox this thing, and eight weeks is a nice chunk of time. LINDSEY: Love that, yeah. JORDYN: I want to just, like, flag here that, like, all of these words are very frustrating [laughter]. And we had a really hard time picking one. LINDSEY: I know [laughs]. JORDYN: And we really actually, like, in literal terms, I think that program is way more, like, founder bootcamp than anything, but thoughtbot can't run a bootcamp without people thinking it's a Rails bootcamp, right? JOSH: Yeah. LINDSEY: [laughs] JORDYN: Like, if we just said, "thoughtbot bootcamp," people would be like, oh, as a developer, I should go to this bootcamp, and thoughtbot will teach me how to be a better engineer, which would be totally reasonable from a brand standpoint, right? So, we were like, all right, not bootcamp. And then accelerator typically comes with investment dollars, in my experience as a founder, and we don't invest cash in the companies that we work with yet. So, that was off the list. And that just left incubator, which, eh, like, I don't disagree that it's not the best word, but, whatever, we lack a good one. JOSH: I'll tell you one thing. So, I'm involved with other things in this space. I'm based in Boston but for Raleigh's brand-new Founder Institute chapter, which I think is a great program. And I'm really proud of the, you know, first cohort of founders that are going to the program down there. And I love them. And I love their energy, and enthusiasm, and focus and that we at Founder Institute are providing them with value. I think we really are, or I wouldn't be participating. But I wanted people to work alongside me. And I think that's actually one of the things which is really unique about thoughtbot's program. This isn't, like, you know, a bunch of other founders with varying amounts of experience working alongside you. This is, like, actual people who do things: designers and software engineers, developers who are working alongside you and learning alongside you. But it makes it, I would say, less of a lonely process. This is one of the things I remember. When I founded a company, the one time I did this prior, I did it with my best friend, which is about as unlonely as you can possibly get. And it still is really, really lonely. Having this like, you know, team backing you up and a company backing up that team and organization is nice. LINDSEY: Thanks for sharing that about the loneliness factor. That kind of reminds me, Jordyn; I know in the last session, you were trying out the idea of, like, this founder emotion tracker. Has that made its way to session 3? JORDYN: Not really, mostly because both of the teams we're working with, two teams, by the way, not just Josh, have been founders before. And so, the emotional rollercoaster of, like, literally every day, you know, Monday, you feel like a million bucks because you have a really great idea, and you're really excited about it. And then, Tuesday, you talk to a bunch of people who add some complexity to the assumptions that you had [laughs] made on Monday. And then you start to feel like maybe this isn't a thing, oh no. And then, Wednesday, you learn about some, like, technical thing that you didn't realize was a stumbling block. And so, by the end of Wednesday, you're like, everything is doomed. I shouldn't even be doing this. I've just wasted everyone's time. But then the team wakes up on Thursday and is like, "Actually, there's an easy solution to this. And we've found a new group of people to talk to who have this problem in a really clear way." And then you feel like a million bucks again. And then you just cycle through it. Like, that cycle is something that Josh and our other founding team have actually felt before. And so, we haven't really been, like, leaning on the emotional roller coaster timeline as much just because it hasn't been as relevant. And that's kind of what's tough about the program we're running, which is that everybody comes to it with different assets in hand. I always think of that scene in The Princess Bride when they're outside the castle, and Westley is like, "What do we have? What are our assets?" It's like you arrive to this with different assets in hand. You might have already talked to 50 people, but you have no technical background. So, you don't know what on earth to do about the information that you've learned. Or, you know, maybe you do have a technical background. And so, you've done a bunch of solutionizing, but you haven't talked to a single person about [laughs] whether they have the problem you're trying to solve. Anyway, it really runs the gamut. And so, the programming is designed to help teams find focus and find market message fit. But what people roll up with is very different. In this case, we have a cohort, so to speak, that has some prior startup experience, especially as founders. And so, they know a little bit more about how every day is going to emotionally feel different. And that emotional rollercoaster workstream is on the roadmap. But we don't spend as much time with it as we did with Ashley and with Agnes before in the first two sessions because they were first-time founders and really didn't know how they should be feeling. And that, to me, is one of the many value adds, including what Josh mentioned, like just having a team diligently focused on your problem space full-time is a huge boost of momentum and confidence. Just, like, people thinking about the same thing you're thinking about with you and bringing their earnest efforts to solving the problem has been one of the main things people have found valuable about it, in addition to the acknowledgement that, like, you're going to have a lot of different emotions. And it doesn't mean anything necessarily. Like, your day-to-day emotion does not mean that you are a failure or that this is a bad idea or that you're a success, and this is a good idea [laughs]. Like, neither of those things is necessarily true. LINDSEY: So, let's chat a little bit about what has actually been happening since kickoff. So, two weeks ago, started. Jordyn, maybe I'll start with you. What has the first two weeks of programming looked like? JORDYN: We have been really heads down on interviewing. Josh rolled up having done a survey, which yielded a bunch of conversations already, conversations [inaudible 19:34]. So, we iterated on the scripts. You know, part of the efforts of the first couple of weeks are really geared toward having our team understand the things that Josh understands already. We need to kind of get on the same page. And so, we try to talk to as many people as we can because there's nothing...One of our theses here, beliefs, I don't know what the right word is, is that there's really nothing that drives momentum quite like team alignment, and there's nothing quite like talking to customers and hearing for yourself what their pain points are. That drives alignment. So, it's like, everyone's talking to people. I'm sure people out there have been on teams where it's like one person talks to customers, and they're translating to everybody else. "Here's what I'm hearing. So, this is what we need to build." And it's like if everybody has first-hand experience with the conversations, alignment and conviction sort of grows organically out of it. It's a lot less work to align if everybody's talking to people. So, it's always, like, the first order of business is, how do we talk to people so that we know the things you know to the level that you know them? So, we've been doing a ton of interviewing. And then, that's about driving alignment and understanding, but it's also ultimately about trying to drive focus. So, as we are talking to people and listening to them, we're really trying to listen for patterns and to map those to the market segments these people inhabit. So, like, every one of us has our own network that we're bringing to this effort, and so we start there. And we start where you are with what you have, right? I think that's, like, a Teddy Roosevelt quote: start where you are with what you have. Somebody said that. Anyway, so we all do that. But really, ultimately, we want to...building software is all about a repeatable problem that you can address with a one-size-fits-all [laughs] more or less product. What we're trying to find is, like, we're trying to listen for patterns and listen for pain points that are addressable and really focus in on a narrow niche or a situation context that we can address in some repeatable way. And I would say, at this moment, we've done a bunch of that interviewing. And we're now like, okay, we're feeling the need to focus, but we have not quite started that dive. I don't know, Josh, maybe you feel the same or different. JOSH: No, I think that's right on. I mean, you know, the first thing we all had to do was develop our own [inaudible 21:45] understanding of the problem and the potential user, right? It wasn't going to happen from me talking to people. It was going to happen from us talking to people. And then, the next step is to start to align that empathic understanding, which sounds like a thing that gets finished, but really, it's only a thing that gets started and never really ends. And then, you know, we got to be willing to make some bets, right? We got to figure out, you know, what is our hypothesis? You know, what do we think are the risky bits? And what are the things that differentiate this from being a problem? Where I think we have broad agreement across the entire team. And, literally, everybody we spoke to, the only people who don't think this is a problem are the ones who have some complicated, ridiculous system they built themselves, which they will acknowledge is not going to apply to anybody else. So, the problem is broad, right? But where exactly is the opportunity? Because at the end of the day, we're looking to build a business. LINDSEY: Josh, I saw your head nodding during the alignment discussion. How has it been aligning with the team around the problem you've been thinking so much about? JOSH: I don't know, Jordyn, how you feel about it. I've found it really fun. And it's been fun for a couple of reasons. I think the number one reason that I really like it is this is a really diverse team, right? So, Jordyn and I are in Boston and have; I would say, fairly similar tech company entrepreneurish sort of, you know, hand-wavy, miscellaneous tech people, startup folks background. We have somebody in Denmark, but she's Spanish. We have someone in maybe London right now, but he's Nigerian. And we have a member of our team in Saudi Arabia. That's a lot broader perspective. And I think that comes to play in, like, at least three different ways. They come with their own perspectives, and their own world experiences, and lived experiences, and values, and ways they talk about those things, right? Number one. They come with their own networks of people to talk to you for whom it's easy to reach. So, it's not just all hand-wavy, tech startupy folks like I'd be talking to. And, like, literally, my entire list is, like, oh, they're all people like me. Like it was really easy to get 60 people to want to talk to me because they're all people I've been talking to for a while, which is awesome and maybe a little bit uninteresting. But more than that, they all bring different language. Like, we've been struggling. Like, this is what we did. We spent what? Two hours of our hour and a half meeting this morning struggling with, like, are we having a difference, like, meaning or a difference of words? And it's not an efficient way to use your time, but it really is an effective way to use your time. Because, like, that struggle of trying to communicate what we're hearing and try to communicate what we're thinking and what we're feeling, I think, has led to a much better understanding of the problem and maybe even the opportunity than we would have had otherwise. I'm a big fan of struggle. JORDYN: Definitely. And I do feel like there's an element of this where you can never understand your customers' problems in too much detail. It's like every pass we do at this, we kind of have a deeper, more granular, nuanced sense of the problems. And just in that conversation this morning, we, like, took a problem that we had understood one way and, like, were able to break it down, like, okay, what are the actual pieces of this? Oh, there's, like, many pieces of it, right? Like you said, Josh, it feels inefficient, or sometimes it just feels like you walk out of a call and you're like, what was that about? And then only later do you find, you know, maybe when we are ideating, like, ways we might solve a problem, that conversation we had that felt really murky and, like, are we just arguing about semantics here? Are we arguing [laughs]...I don't know, like, however, you might frame that, like, actually becomes really important where you're like, oh, well, I'm very glad we took the time to break this problem down because now that we're trying to develop a solution, it becomes clear that there are many, little things we're trying to solve. And we can't solve them all at once. And so, it's great that we all have a fluent understanding of the details of that because it makes those conversations much faster so [inaudible 25:30]. JOSH: Can I say a nice thing about thoughtbot? I know this isn't, like, the, you know, [crosstalk 25:34] LINDSEY: Please. Please do. Welcome, Josh. Yeah, the floor is yours. JOSH: Let me say a nice thing about thoughtbot. The last time I did this, I did this with my best friend, Ben, a person I had literally known since I was six years old, maybe five, I don't know, since first grade. And we were entering a new space. This was, like, grocery marketing. And we talked to a crap ton of people, a lot of them doing things like going to grocery store headquarters and just talking to people and meeting people who are, like, manufacturers of a grocery product and going to trade shows with 60,000 grocers all in one giant room. Remember those days pre-COVID? We would, like, you know, take the samples with your left hand and shake with your right hand, and don't get those two things mixed up because there's a lot of people in the room with you. And we talked to easily 1,000 people, and we knew how to establish that, like, shared empathic understanding of the market and the problem really well because we were side by side. We were really well-practiced at having those conversations. And, you know, after the day of, you know, shaking hands, and meeting people, and introducing ourselves was done, we'd go back to the hotel room, shared, of course, because we were young entrepreneurs who couldn't afford to get nice hotel rooms. And we'd spend the next couple of hours, like, talking about it. We, like, talked to each other all the time. One nice thing about thoughtbot is you're really good at working remotely and working asynchronously. And if, you know, it had been up to me by myself to be like, okay, you know, Josh, you have this, like, remote team in different time zones with, you know, non-overlapping hours. How are you going to, like, work together to establish this common understanding, this common semantic model, this common syntax for talking about the problem, and the users, and the needs, and the opportunity? I'd be like, I don't know, right? And this is somebody who's, like, worked remotely for the past, I don't know, 5,6, 7 years, I mean, most of his job. But, like, still, that early bit is a thing, which, you know, I've seen a lot of thoughtbot practice and skill around. And it's not an easy skill to master. And it's one that you practiced organizationally. And that's really valuable. And I don't think I fully appreciated that until we got started. LINDSEY: Oh, thanks. Jordyn, any thoughts on that? Were you thinking about remote setup of the program, or at this point, it's just everything is remote? JORDYN: Working remotely can really deepen, in good ways, one's communication practices because it forces you to be intentional about communicating in a way that when you are co-located with people, you kind of don't have to because there's people in front of you when you talk to them. So, I agree, Josh, that thoughtbot does a good job of making that work, the work to communicate and stay on the same page, like, tangible, visible, whatever it is. That's also just something I've given a ton of thought to because I've been working remotely, like, as a primary orientation since 2010. And so, this is just, like, how I work. And it's very; I don't know, organic to my mind now that it's basically, like, if I'm doing something and I don't tell someone about it, it's like a tree falls in the forest, you know, if there's no one around to hear it. If I'm working on something and I don't tell anyone about it, it's like I didn't do anything. Communication is, like, 60% of the job. And the setpoint is, oh, I did something. Oh, I emailed someone. Maybe I should tell the team about this [laughs]. Just literally because you're not in a situation where I'm going to overhear a phone call that Josh is having because he's at the desk next to mine, or I'm going to, like, ambiently be aware that, like, Carol and Toby went into a conference room to talk about something. Like, while I maybe didn't consciously think about that, it's sort of in my periphery. Like, none of that is happening because we're not in the office together, right? We don't get to do the thing that you did with Ben, where we just talk about stuff because we're near each other. So, you really have to get into this practice of externalizing very proactively the things going on in your own mind with the team. And it's a challenge. It's work. It doesn't just happen effortlessly, right? But yeah, to say it's critical or to say it's a critical piece of how we approach the work is an understatement. I don't know, it's like, it is the work [laughs]. The making of the software, whatever, that's easy [laughs]. Communicating about making software that's hard [laughs]. So, I don't know, it's very heartening -- LINDSEY: Yeah, that makes sense. JORDYN: To hear, Josh, that you think that we do a good job of that. I think we're constantly trying to do a better job of it, frankly. I don't know if you can do [crosstalk 29:28] JOSH: That's probably why you do a good job. LINDSEY: So, I know a lot of the early weeks, days has been around alignment and doing a lot of these user interviews. Have there been any moments yet, Josh, any new, like, light bulbs for you or insights, or are we not quite there yet; it's more kind of setting the scene? JOSH: I'll share one really embarrassing one. LINDSEY: Oooh. JOSH: Which keeps on coming back to bite me. When I sent out the survey and, of course, I [inaudible 29:57] for everybody listening, basically, surveys are useless, except they're really nice lead generation tools for people who are willing to talk to you. But when we sent out the survey, at the top, it says something like, "Personal CRM survey." And I'm pretty sure that when I set up the calendar invite system, which is, by the way, for folks listening out there, like, you want to get your, like, operational side of this thing done before you start sending emails out because you're going to quickly, like, lose the ability to keep track of stuff. I think the meeting of it also, I said something like personal CRM survey. And it was, I don't know, sometime in the middle of the first week, maybe later on, when, like, I think we all realized on the team that, like, CRM is the wrong framing for this thing, right? Nobody likes CRMS [laughs]. CRMs are transactional. They're tools to sell something to somebody. You know, they are tools for, like, auditing your behavior if you're a salesperson to make sure you're doing what you're supposed to be doing. They're, like, on a cadence. Like, CRMs are tools for a world, which is not what most people aspire for their personal relationships to be. And I don't think we've quite settled on what this thing actually is. And maybe there isn't a thing yet, right? Maybe that's part of the challenge that we're having, like, this thing doesn't exist, but it's not a CRM. And three-quarters of the way through the interviews is when I asked people like, "So, what question should I have asked you?" They all said, "Well, you didn't ask me about personal CRMs at all." I'm like, "Okay, that's a good point [laughs]." So, there have been plenty of pivots inside of my head around this and the way that I think about this problem, and some of these things are still embarrassing and still kind of coming back to haunt me and maybe haunt the rest of the team as well. I don't know, Jordyn, what [crosstalk 31:27] LINDSEY: Honestly, I was hoping for something way more embarrassing, but [laughs] -- JOSH: Way more embarrassing. JORDYN: If that's your embarrassing...[laughs] LINDSEY: Yeah, you're doing great. You're doing great. JORDYN: You're doing great. JOSH: Okay, the number of video calls where I'm not wearing pants. [laughter] LINDSEY: Okay, onto the next question, Jordyn –- JOSH: Embarrassing or awkward, I don't know, yeah. [laughter] LINDSEY: Jordyn, you mentioned that Josh is not the only participant in this [crosstalk 31:52] JORDYN: Great question. LINDSEY: Tell me about, why not just Josh? What's going on? What are the developments there? JORDYN: Yeah, this is really exciting. So, we wanted to scale this program from the moment that we ran single companies [inaudible 32:08] to start because we wanted to learn as much as we could in a kind of intense, focused way from developing a process and seeing what's valuable about it. So, this was always kind of on our minds to do. And the way it worked out was just that there were two teams at thoughtbot ready and willing to serve. And we had, you know, anytime we [inaudible 32:28] the application window, we always kind of have a list of folks that we're excited about. We can't take all of them. But in this case, we had the two teams. And it also kind of fell in this nice way where we've got this team with a center of gravity, you know, GMT center of gravity, essentially. And then we have another team, which has more of a, like, U.S. center of gravity. And so, the timing kind of worked out. And yeah, I don't know, it wasn't anything more complex than that. It's just we'd always been on the lookout for how we could scale this effort––bring it to more folks. And this was the first opportunity where it appeared like it would work out. I mean, TBD if it's working out [laughs]. We can decide at the end [laughs]. But it's very exciting. It's fun. And we're really looking for ways to help these teams collaborate, you know, we'll see how. Everybody's in a Slack channel together inside of thoughtbot's Slack called thoughbot incubator. And our past participants are in there as well. And we're really trying to create an atmosphere where people can help each other, share tips, talk about what they're working on. There is actually some intersection between what Josh is working on and what the other team is working on, I think, just because, Josh, what you're working on applies [laughs] to a lot of people. I think it applies to these people, too. Anyway, that's [crosstalk 33:42] LINDSEY: It's fun to see the incubator Slack start to build out and folks talking to each other, and more thoughtboters are trickling in there. Because, Josh, you mentioned you've been a client before and a thoughtbot fan in the past. And now you can officially live in thoughtbot Slack, too, and hang out with us 24/7. JOSH: Still just a guest. LINDSEY: [laughs] JOSH: Only got my two channels. Can't DM you unless you're in one of those two channels. LINDSEY: One [crosstalk 34:11] JOSH: But yes, it is very exciting. This is better than snacks at your downtown Boston office. LINDSEY: Yeah, that's great. JOSH: I think I even added an emoji to Slack. I was pretty happy with that. LINDSEY: Oh, nice. We've got a good custom emoji library. JOSH: I mean, that's what we have for company culture, right? Is company emojis. LINDSEY: To kind of finish this out here, Josh or Jordyn, do you have any calls to action for our viewers or listeners, maybe interviews or survey participants or anything else? JORDYN: Well, certainly, if the pain point we described resonates for you [laughs], reach out. We would love to interview you. Or, like Josh said, if you actually have solved this problem [laughs] -- LINDSEY: Oh yeah, that was a good one. JORDYN: Please reach out [laughs]. That would be amazing. JOSH: But I actually meant that. So, like, hey, if you out there are a software developer, an entrepreneur, own a company that you think has really solved this, I would love to learn from that if you want to talk to us. If you are a person who struggles with this and feels like you've tried really hard to solve this, I'd love to hear from you as well. You know, did you search for a tool? Did you ask your friends? Did you try to build something yourself? Do you still use that thing you built yourself? Did you try one of those CRMs? [crosstalk 35:26] Did you try a personal CRM tool out there, right? Clay, Dex, Monica, folk, if those names resonate with you, like, I want to hear, right? I want to hear about people who feel like they're doing this thing really well or people who don't feel like they're doing as well as they should but who feel like they've put, like, real effort into it. LINDSEY: Great. Well, we're going to be catching up with Josh here every other week. JOSH: Great. LINDSEY: We'll have some updates on the thoughtbot blog. And in our alternating week, we're going to be catching up with the other founders going through the incubator. So, next week, we're going to chat with Mike and Chris. And y'all will get to meet them and hear a little bit about their journey and what's led them to validating their idea in the thoughtbot incubator as well. JOSH: And strong rec people to tune in for that one. They are extremely photogenic and very funny, and they talk slower than me, too, so a greater chance for people to understand what they're saying. So, all in all, definitely tune in for that. LINDSEY: That's a great promo. If you want to stay up to date with the incubator or are thinking about applying for the next session, I think will be in the new year, you can go to thoughtbot.com/incubator. And you can also sign up for email updates. And we can make sure to send you recordings of these interviews as well as the blog updates and then keep you up to date about when applications open and end. Jordyn and Josh, thank you so much for joining today and sharing what's been going on in the early days. It's really exciting to follow along. All right, have a great day. Thanks, everyone, for watching. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Jordyn Bonds and Josh Herzig-Marx .
Rich Rines is an initial contributor to Core DAO, an independent blockchain combining the decentralization and security of Bitcoin with the scalability and application platform of Ethereum.Rich focuses on the implementation and growth of Core DAO's revolutionary decentralized consensus mechanism aimed at unlocking the full potential and promise of blockchain technology by leveraging the complementary qualities of Proof of Stake alongside Proof of Work.Rich is also the founder and CEO of an outbound contact center software company called AutoReach and led money movements engineering at Coinbase for 3 years. Prior to those roles, Rich was an engineer at LendingHome and Thoughtbot.In this conversation, we discuss:- Bitcoin miner challenges- Bitcoin use cases- Leveraging PoW and PoS- Core's impressive global audience and the successful airdrop stats from launch- Interoperability and cross-chain functionality- Onboarding communities that need crypto most: developers, Bitcoin miners, and end-users- Building money movement products- Onboarding web2 over web3Core DAOWebsite: coredao.orgX: @Coredao_OrgLinkedIn: t.me/CoreDAOTelegramRich RinesX: @richrinesLinkedIn: Rich Rines --------------------------------------------------------------------------------- This episode is brought to you by PrimeXBT. PrimeXBT offers a robust trading system for both beginners and professional traders that demand highly reliable market data and performance. Traders of all experience levels can easily design and customize layouts and widgets to best fit their trading style. PrimeXBT is always offering innovative products and professional trading conditions to all customers. PrimeXBT is running an exclusive promotion for listeners of the podcast. After making your first deposit, 50% of that first deposit will be credited to your account as a bonus that can be used as additional collateral to open positions. Code: CRYPTONEWS50 This promotion is available for a month after activation. Click the link below: PrimeXBT x CRYPTONEWS50
Dawn Delatte and Jordyn Bonds interview Ashley Sheble, the Founder of AvidFirst, about her experiences and progress in thoughtbot's Incubator Program, which aims to help founders like Ashley turn an idea into a viable product. In the third part of the Mini Incubator Series, they talk about user interviews, data analysis, and prototyping to validate ideas. They emphasize the importance of being open to user signals and adjusting their approach accordingly. They also discuss the upcoming weeks of the program and the goal of refining their story and business strategy. Just catching up? Listen to Part I (https://www.giantrobots.fm/498) and Part 2 (https://www.giantrobots.fm/499) of the Mini Incubator Series! Follow Ashley Sheble on LinkedIn (https://www.linkedin.com/in/ashley-sheble/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: DAWN: Thanks, everybody, for joining. We're glad that you're here. If you've tuned in before, great, welcome back. You're probably familiar with thoughtbot; if you're not, we're a product design and development consultancy that helps make you, and your team, and your product successful. We are currently running the second session of our incubator program, which is an eight-week program that takes you through a lot of different activities and exercises to help you identify market and product opportunities, experiment with them, and ideally come up with a solution that you can move forward with. I'm Dawn. I'm a Managing Director here at thoughtbot. And I lead a team that works with very early-stage products, and founders, and companies. And I'll hand it over to Jordyn. JORDYN: I'm Jordyn Bonds, and I'm the Director of Product Strategy on Dawn's team. And I'm kind of the...I don't know what, founder in residence for the incubator trying to bring my experience as a former founder to bear for our participants, in this case, Ashley. ASHLEY: Okay, my name is Ashley Sheble. I'm the CEO and founder of AvidFirst and have been working with Jordyn and a great team in the second incubator session. So, removing all bias from the statement I'm about to say, but if anybody's thinking about applying to the next incubator, just do it. It's an amazing experience. You're going to learn so much. There are so many smart, helpful people who really care about building cool products that make a difference. And so, do it. DAWN: I love it. Thanks for the impromptu promo. JORDYN: Yeah, thank you [laughs]. It's good to hear. DAWN: Yeah, I'm excited. Cool. Well, Ashley, why don't you maybe kick us off with a little bit of a recap of these past two weeks? What have y'all been working on? ASHLEY: Yeah, so, just for a little background, in case anybody hasn't been following along, AvidFirst is a technology company aimed at simplifying college saving and spending. Our goal is really to make 529 accounts more usable broadly and then, more specifically, attractive to next-gen consumers. And for those who aren't familiar with 529 plans, that's okay because neither are about 70% of Americans. But essentially, they are college savings vehicles. They're investment accounts that allow people to contribute money. The money grows tax-free and then can be withdrawn tax-free when used for qualified education expenses. And over the past few years, the term qualified education expense has really expanded from beyond just tuition and fees to room and board on and off campus, computers, technology, supplies, apprenticeships, K through 12, like, the list is getting longer and longer. And so, our goal is just to really help simplify a really complex system and savings vehicle to make them more appealing and attractive to people. So, the past few weeks, specifically, we have been aggregating all the data from our user interviews. We've done a lot of user interviews with different stakeholders and have been taking the information and saying, okay, what do we do next? How do we validate the way we're thinking about solving this problem will actually solve the problem in the way that we think it will? And so, through lots of process mapping, brainstorming different pilot initiatives, and then now working through some of the nuances of the industry. The 529 industry, specifically, is a complex animal. I don't really know how else to explain it. It's very complex. And so, we are just navigating these complexities and looking for solutions that will truly simplify the complexity. JORDYN: I will just dig in a little bit to that analysis of the interviews that we've been conducting. That analysis kind of, like, stepped up a notch in the last week in a really fun way where we, the team, really kind of dug into the dynamics of each interview, sort of the things that we're most curious about, and have been asking and really, like, scored each interview. And then did sort of a cohort analysis, like, where are the trends with which personas? We had already had some intuitions, and we just wanted to confirm with the data that we weren't deluding ourselves about what the direction was. So, that was a really, like, I think it was a really useful exercise and kind of fun to see. And what doing that helps with is our own conviction, but then it also helps us make sure that we are honing who we're talking to going forward. Talking to folks is, like, so critical and is so not scalable. It is so time-consuming [laughs]. So, you want to make sure that you're doing it really strategically. So, it's sort of, like, every wave of interviews we do, we do a little more analysis. And it's, like, we finally got to a critical number where we felt like doing this data pass was going to be statistically significant. We had enough interviews to really focus the interviews we're going to do going forward. So, just to give a little, like, lens into how that's worked and how we've been thinking about it. DAWN: I think we ask this question often, maybe every time, but I'm interested to see how it continues to evolve. But what was something that you learned these past two weeks that really surprised you or maybe even confirmed your hunches? JORDYN: So, as often happens, when you start talking to a focus group of people who share a lot of pain points in their lives or their work, you end up with, like, a lot of trends. Like, there might be a thing you're asking them about that you're particularly focused on or curious about, and you want to focus your questions on that. But invariably, you're talking to a human being, and they're going to talk about a lot of different things. And so, early on, and when we started interviewing people at the very beginning of this project in August, you know, we were very focused on college savings and spending. But an interesting thing, like, sort of trend that came up was also how much parents care about imparting, you know, some sense of financial responsibility in their young adults [laughs]. And we were like, well, that's interesting. Okay, let's, like, keep an eye on that. Maybe that's interesting to us. And what has kind of surprised me in the last couple of weeks is how much of that has sort of solidified. This is not, like, a news flash, by the way, like I think [laughs]. This is, like, a thing. Anyone who has teenagers out there is like, duh, like, why is this shocking to you? But the way that it ties into college savings and spending, I think we found some really interesting connections and threads there that have only gotten stronger with the specific cohorts that we've been talking to. So, I think that we, at first, had started as just this sort of, like, well, that's interesting, but we'll see where it goes kind of thing. And now it's, like, become a little bit more core to how we're thinking about just broadly what folks are facing, who we're addressing. So, I guess it wasn't, like, a surprise, but, like, the deepening of that signal, you know, in the sense of signal and noise, has been, like, really interesting to us, I think. ASHLEY: There's a system thinking expert that talks about how changes in a field are rarely made by the experts in the field but rather outsiders looking in. And so, for me, that's amazing because I don't have experience as a technology founder. I'm working with others who are founders in the technology space, which is great. But it does leave some question marks for us as it relates to building some processes and doing some pilot mapping, which completely overcomable because we're able to draw on resources from within the thoughtbot organization. And then, also, just network, people within our network. Jordyn seems to know everybody. I'll be like, "Do you know somebody in North Dakota?" And she's like, "Actually, yes, my third cousin's sister lives there, and I can get her on the phone." And it's just -- JORDYN: It's my first cousin. I will tell you, it's my straight-up first cousin. ASHLEY: Well, there's always someone that Jordyn knows no matter where, it seems like, which is extremely helpful when we're trying to find experts to help us answer some questions. So, it's great to be able to work through problems in a very systematic way, using some of the strategies that thoughtbot has employed, I guess, over and over and can be applied to different industries. But it does help us find, what are the questions we still need answered? And then, who are the people that can help us answer these questions? And be very strategic about that. JORDYN: I would add to that on the networking score. I think this is one of those things that first-time founders often struggle with. They struggle with recognizing who in their network is a valuable person to talk to in the first place. And then, they struggle with making those connections because it feels like you're asking people to do stuff for you, and that doesn't always feel great. But really, your network, and where you come from, and the people you know and who care about you are one of your biggest assets going into this work. And it's important to take stock of those folks as early as you can and think about how to involve them. And often, they want to be involved. They're excited to have a way to support you and contribute their expertise or whatever else. It's actually really transformed some of my relationships, like family relationships that I didn't necessarily have as...people I just discovered in my own sort of extended family who were doing related things to me. And we're much deeper friends now because we get to talk about that stuff all the time. And before I was a founder, we just didn't really talk [laughs]. So, just think through who you know and how they might be able to help you, and chances are they really want to. It's a very useful exercise. And it doesn't have to be super transactional. It can be a real bond builder. ASHLEY: Yeah, I would say that's completely true, especially from my own experience. I don't like to ask people for help, generally. And so, asking people for their time and for their advice, I'm like, oh my gosh, why are they going to give this to me? What can I do for them? But it's really been amazing how generous people are with their knowledge, and insight, and their time. I'm attending a conference next week for the 529 industry. And there have been so many helpful, kind people who are just experts in their field, leaders in their companies and are willing to talk to me about their experiences about what challenges they see. Because ultimately, you know, when a company succeeds and helps the industry grow, everybody grows and benefits from that. So, I hadn't really looked at it that way until Jordyn really encouraged me to just be, like, just call that person or just, you know, reach out. And sure enough, they were more than willing to be helpful. DAWN: I imagine there is a sort of a bit of human factor here in that, you know, what you're giving to them is an opportunity for them to share, like, something that's, like, deeply important to them and that probably not a lot of people ask them about, even their day-to-day work. So, I imagine that can feel good, too, and maybe even sort of help them better understand [laughs], like, what it is they're doing. So, you've definitely sunk into who to talk to. What about the how? Like, what are y'all doing now to try to continue validating that this is the right opportunity and that there's a product opportunity there? ASHLEY: Yeah, so, really drilling down on those two cohorts that we mentioned a little earlier, specifically one of them, making sure that we are asking questions now related to this solution that we are thinking about, and more around their experience with similar type of products or similar type of solutions to make sure that we are thinking about building features or building process flows in a way that will integrate into the way they're used to doing things today so it doesn't seem like a new learning curve to, you know, think about adopting our product. And then, also, just making sure that we are providing value, ultimately, because we don't want to just build something just to build something that we think will work for this group of people who told us that something is hard. We want to make sure that we're actually making something that's hard much easier than it already is. JORDYN: Yeah. We've really, I mean, to build on that, we've gotten a little bit further into testing messaging, which is we think that we understand folks' problems and how they are talking about them, but we really need to validate that. And, you know, we have created some landing pages and are showing them to folks and getting their reactions. But we've also started doing a little bit of prototyping, which we hope to start showing folks soon. And this is all just...a prototype, in this case, meaning this isn't, like, a clickable app. This is just, like, sort of a static design that appears clickable [laughs], think of it like a PDF with some links in it, and just showing that to folks and saying, you know, "What would you do here? How would you respond to this?" And it's just a really great way to...it's fast. It's easy to spin one of those up and then get them in front of folks and make sure that how we're thinking about this is sort of broadly in the right direction. It's so much cheaper to find out that we're thinking about this wrongly with something like that than with an app that we spent six months building and launching, ha-ha. Now, who's done that before? Not me, no, never [laughs]. I've never wasted a year building a thing. So, it's a really fun thing to do. And sometimes you can even...it's not even, like, let's validate what we're thinking. Sometimes, it's really helpful to actually throw some curveballs in there on purpose to make sure we're invalidating the right things. So, it's really fun to be moving into that phase with what we know to be true and really getting closer to testing things out in, like, a real-world situation. ASHLEY: It's somewhat surprising, too, what people are reacting to or not reacting to. The things that we thought people would be really excited about, they're like, "Eh." And the things that we thought are just kind of, like, filler on the page, they're like, "That's awesome." So, it's really crazy to see that juxtaposition. And then, you've got some people who will be like, "Huh, that's cool." And then, you've got some people who are like, "Can I sign up right now?" And you have to say, "We'll let you know when you can, but not right now." Just the differences are pretty surprising. JORDYN: Yeah, and I'm glad you brought that up, Ashley, about, like, the stuff that you just kind of put on the page to make it look like a real page, and then people really zero in on it. There's just so much serendipity involved in this work. And part of the skill in making products is being open to the right things at the right time, right? You want to stay focused on your mission and what it is you're trying to accomplish. But you don't want to ignore, you know, if people are reacting really strongly to something that you thought was sort of ancillary, it's important to, like, take a beat and think about that. How does that fit in? Can we use that? What you want to do is find lightning that you can bottle, and if people are not feeling lightning [laughs] about the primary thing you are working on but they are about something else, that's totally okay. I mean, the recent past of successful applications in software products is littered with stories like that, where people thought they were building one thing, and they just consistently heard about this related thing from their users. And they were like, well, why don't we just invest in that? It takes a lot of courage to stare in the face of that signal, the data that you're getting from people, and let go of the things that are not working and really embrace the things that are. DAWN: This reminds me a little bit of the conversation we were having when we were together in New York last week around the focus on validating or invalidating. The conversation we were having was kind of trying to shift that away from ideas to assumptions. But this is making me think that it focuses too much on one single thing that you're trying to get an answer for, as opposed to, like you're saying, being open to sort of receiving signals about completely tangential things or things that you may have not been paying attention to before. So, that makes a lot of sense. ASHLEY: Yeah. Now I'm thinking, like, should we put even more crazy things on the page and just see what happens? Who knows? JORDYN: I think there's another aspect of this first-time founders often struggle with, which is that feeling that you shouldn't put anything on the page that you're testing that you couldn't actually do. And it's tough. It can feel a little bit like you're misleading people. But there's absolutely ethical ways to do this, where you tell people, "Hey, this is just an idea. We're just trying to get people's gut reactions to this. We have not even put pixel-to-paper here. We don't even know. We just want to get your reaction." As long as you're transparent with folks about where you're at and about not promising them things you can't actually do, I mean, obviously, if it were as easy as just promising stuff to people of what they want, we could just make a landing page that said, like, "Free bag of money. Who wants free bag of money," right? [laughs] And people would be like, "Why is the bag of money free?" [laughs] Right? And so, you really want to be careful and not necessarily do anything that is misleading. But on the other hand, there's no better way to get folks' emotional reaction than to put something together and just see how they respond to it. So, there's a lot of, like, sort of nuance to doing this. And, Dawn, to your point, the balancing act between being open and being scattered, right? That's a fine line. I've definitely been on teams before that are just, like, the new hotness every week. "Hey, there's this cool app out. Let's just immediately redesign everything to look just like that." And you're like, "Maybe? [laughs] I don't know if that's, like, the best idea." So, it's a real balancing act, but it always comes back to who you're building for and what they want and need. And if you're staying very focused on that and measuring, you know, comparing every idea anything that comes your way against those, showing it to them and getting their reaction, you can't fail. Keeping no daylight between yourself and your customer that is the surest path. DAWN: Yeah, it kind of carries through to the core thing that we're saying, which is don't focus on one thing to validate or invalidate. Be open to receiving signals from other, you know, opportunities. But that's not validating or invalidating something. That's showing you where to focus your time. And then the product experiments and feasibility research and all of that is designed to help you to get closer to validation. But, in some cases, there's a point at which you have to take a risk, right? And your customers are ultimately going to tell you over time whether or not the solution was the right one. But you get more confidence. You get closer to the right solution the more strategic you are about that process, so...oh, go ahead. ASHLEY: I think the great thing about technology, too, is it's not set in stone. You can change it. If you learn something new, you can modify what you're doing to fit what you're hearing, and I think that's so incredible. We live in a time where there are so many tools and resources out there to really be nimble. And just to Jordyn's point earlier, I think the hardest part is being willing to take in some of these signals and be like, okay, this is what they want, and being willing to move in that direction versus the path you have already designed in your head. DAWN: Yeah, we've only got a couple of weeks left in this incubator [laughs]. How are y'all feeling? What are you planning? What are you looking forward to over the next couple of weeks? ASHLEY: I can't believe that time went by so fast. I thought eight weeks felt like two years when we first started. I was like, oh, we've got so much time. We're going to do so much. We have done a lot. But the time has really flown by. So, I'm just kind of, like, now thinking about how do I make the most of the last few weeks? And just make sure that we check all the boxes that we set out to check in the beginning, and then have a plan from there in terms of continuing the work in a productive and, you know, exciting way. JORDYN: Yeah, one of the, like, sort of Northstar outcome for us in the incubator is to give the founder confidence in what they're doing and their path, the confidence in that vision, and then enough confidence to articulate it consistently to the folks they need to sort of bring along with them. So, what I'm, like, really looking forward to in the next couple of weeks is honing that story for Ashley. Like, what's your story? What's your why? What's your how? What's your when? And how to make sure that story is just easy to communicate. I mean, already, Ashley, like, up top of this exact livestream where you articulated sort of, like, what AvidFirst is doing, I think I feel better and better about that articulation given what we know. It feels really good. It feels solid. And as we're going, we're just as skeptical as anyone else, right? But we're trying to anticipate what folks...external stakeholders broadly define what their misgivings are going to be. And we're compiling a kind of list of frequently asked questions about what AvidFirst is doing, like, why 529s? Why next-gen consumers? Et cetera. Just so that that story is so internalized that, like, you can't really be taken off guard necessarily. I mean, you want to be open to new questions and new ideas. That's not what I'm saying. But just basically, like, being able to thoroughly and deeply, at the drop of a hat, to sort of pitch this to your dentist while they're cleaning your teeth, you know, like that kind of conviction and, like, the solidity of the narrative is really what we're going for in the next few weeks. And I think we're well on our way there. We have all the pieces. It's about putting it together coherently, I think, at this point. It's really exciting, though. I do feel like we're really zeroing in on a valuable lens on college saving and spending that I think the market is really ripe for, so it's exciting. DAWN: Yeah, it's been great to see all the progress. We have a comment that I just noticed. ASHLEY: Oh. DAWN: Not a question, but I wanted to call it out because it was related to what you were talking about a few minutes ago, Jordyn. Kiran said they totally agree. "We had the same epiphany/pivot this summer. We went from direct-to-consumer to an enterprise model. Try to zoom out with a systems thinking lens, and it will help with a clearer path and tell your story." JORDYN: Yeah, that's awesome. DAWN: There are no other questions from the audience. And it seems like maybe there's still a little bit of a lag. So [laughs], we can wrap up. If anybody has questions after this, feel free to comment. We'll be, you know, checking out the posts on LinkedIn and YouTube. And we can follow up there. You can always, like I said, come and follow along. Check out our thoughtbot.com incubator site. You can both apply to the next incubator session and sign up to hear from us in our weekly newsletter. We write about progress on our blog as well, so thoughtbot.com/blog. There's all kinds of ways to find us and actually talking about the work that we're doing. So, please follow along. JORDYN: Anyone out there who's wondering, am I right for the incubator? Just apply. It's really, like, nothing is too early if it's just an idea you've been kicking around that's born of your industry experience or your personal experience. The application process is really lightweight. This is not going to take you days to fill out this application. We've heard from folks that even filling out the application is the first thing they ever did with regard to the idea, helped solidify it, and solidify their thinking for them. So, just go apply. You got something? You got an idea for an app? You see a growing market out there, and you feel like it's underserved with software? Just holler at us. We'd love to hear it. Apply. It's fun [laughs]. DAWN: Yeah. Thanks, everybody, for tuning in. Thanks, Jordyn and Ashley, for participating. See you again in a couple of weeks, yeah? JORDYN: Yes. It'll be the last week, so we'll have things to say, no doubt. DAWN: Yes, tune in. It'll be a good time. All right. Thanks, everybody. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or a development partner, we will compensate you if they decide to work with us. More info on our website at tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Ashley Sheble, Dawn Delatte, and Jordyn Bonds.
Dawn Delatte, Vendela Colavecchio, and Jordyn Bonds interview Ashley Sheble, the Founder of AvidFirst, about her experiences and progress in thoughtbot's Incubator Program, which aims to help founders like Ashley turn an idea into a viable product. The discussion covers various aspects of the program, including the evolution of the product idea, insights gained from industry conferences, the importance of listening to customers, and the ongoing development of the go-to-market strategy. Everyone emphasizes the value of the Incubator Program in helping founders connect with their market and refine their strategy. Just catching up? Listen to Part I (https://www.giantrobots.fm/498), Part 2 (https://www.giantrobots.fm/499), and Part 3 (https://www.giantrobots.fm/501) of the Mini Incubator Series! Follow Ashley Sheble on LinkedIn (https://www.linkedin.com/in/ashley-sheble/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: DAWN: Hello, everyone. So, since we have a bigger crew here today, slightly bigger crew, we should just jump right in, right? If you're not familiar with thoughtbot, we're a design and development consultancy who create and build products from the very earliest stages. We are currently in our second incubator session. This is actually our final week. We're wrapping up this week our second program with Ashley at AvidFirst. And I'll let everybody go around and say hi and give a little intro. Today, we're going to be chatting about how the program has been going, any new recent activity, and things that we've learned and done, and, you know, what's going to happen here after the session ends. I'm Dawn. I am a Managing Director here at thoughtbot. And I will shoot it over to you, Ashley. ASHLEY: Thanks, Dawn. And my name is Ashley Sheble. I'm the CEO and Founder of AvidFirst. AvidFirst is really focused on helping people save and spend for college in a modern way. We're simplifying the process, modernizing the experience, and really, with the end goal of helping families avoid student debt. So, I've been working with the thoughtbot team for the past eight weeks, really refining our strategy, and we'll talk about this here in a minute. But pivoting a little bit on the strategy just based on what we learn from the market from talking to users, from talking to experts, from talking to people with just insight around what's needed in the space. And so I'm excited to share more about the past eight weeks. DAWN: Awesome. Thank you. Jordyn, do you want to hop in? JORDYN: Sure. I'm Jordyn Bonds. And I'm the Director of Product Strategy on the Ignite team. And I am a two-time former co-founder of tech startups, so whence I come to this work. Vendela, I'll let you go. VENDELA: I'm Vendela Colavecchio. I'm the Design Director on our team here running the incubators at thoughtbot. And yeah, should I talk about my role on the incubator [chuckles] more? I guess the incubator is sort of funny because, you know, as a designer, typically, my tasks fall under more of a traditional design category. But I think with the incubator, we're, like, all hands on deck, just trying to get lots of things done and help out in any way that we can. So, definitely some design things, but also just a bunch of participating in discussions and getting all sorts of tasks done. DAWN: I'm sure we'll dive more into that. As usual, though, we're going to let Ashley kick us off, kick our discussion off with a little bit of an update on what's been going on in these past two weeks since we last chatted and, you know, where we are now. ASHLEY: Yeah. So, the past couple of weeks have been pretty exciting. I went to an industry conference. It was a 529 and ABLE conference. So, 529s are tax-advantaged savings accounts specific for education expenses. ABLE accounts are tax-advantaged savings accounts, specifically for people who have a disability. And so, spent a week learning from experts in both spaces, hearing from all the different stakeholders, so state agencies, program distributors, you name it, every sort of stakeholder in the whole industry was there. And it was amazing to just be able to go in and learn and meet people and hear their perspectives around what's going well, what's not going well. It could not have been more well timed because I think had the conference been earlier, I might not have been ready to ask the right questions from the different stakeholders. And had the conference been later, well, we couldn't have used any of that insight and learning to continue working on refining or pivoting the project. So, it was a great experience. People were so collaborative, so helpful. I think it's interesting that my perspective going in was, oh, people aren't going to want to talk to me. They're not going to want to share their insight. But it was quite the opposite. People were really happy to talk about what they thought could be improved or what they thought seemed to be going well. But it's only from one perspective. So, if you start asking questions around what you've learned from other people's perspectives, you kind of see this, like, aha moment. Like, oh, I hadn't thought about that before. Maybe that's something to consider. So, it was an amazing experience. So, as a result of that particular event last week, have really been synthesizing what we learned, filling in any gaps. And then just using that to think about a different strategy based on kind of the signals in the room, what people were really excited about, and what people really thought needed some work versus what we went into the conference thinking was the right answer, if that makes sense. DAWN: That's so exciting. Can you tell us more about this pivot? You mentioned a pivot. ASHLEY: Yeah. And I wouldn't call it maybe a full pivot. I would say it's more an expansion on the work we've already done, which is good. So, we're not just throwing away all the work we've done for the past seven weeks and saying, "Forget it." There are a lot of parallels in the 529 space and the ABLE space. A lot of the stakeholders are the same, and it's just a different target market with a little bit different need set. And so, really trying to understand what the differences are, and what the similarities are, and how we can replicate the work that we've already done for one space in the other space, and then build upon that a lot more rapidly than it took us to build the initial work for the 529. So, there's definitely some advantages that the two industries are really intertwined. But at the same time, there are some differences that we need to be keenly aware of and making sure that we're solving a problem meaningfully. DAWN: Jordyn and Vendela, how has this, not pivot, but new expansion or new strategy, how has this affected your work? VENDELA: What I'm thinking about on sort of a meta-level is how it's exciting to see that this new angle doesn't really change how we would approach the problem in terms of just running the incubator. So, it's almost, not in a discouraging way, but it's almost just like starting back from week one and kind of going through, what do we know? What do we need to find out? What kind of questions do we need to ask stakeholders, et cetera? And just seeing how having done that already together it makes it pretty clear what the path forward would be in terms of the process. In terms of information, who knows what we'll find out? But I think that's been exciting. The pivot doesn't feel so scary as it might sound [laughs]. JORDYN: Yeah, I would just build on that to say that it's giving us this really awesome opportunity to immediately run the same process that we just ran but, like, to see how much we've learned from doing it the first time. It's like you're starting over, but you're starting over from a better place, right? With more skills, way more understanding of sort of what's important and what's not important. And, you know, once you've run the process at least once, no part of it feels daunting, right? It just feels like work you know how to do, so it's like, okay, this is a really interesting additional sort of adjacent opportunity. We need to very quickly itemize all the things we don't know about it, and then figure out how to learn about it. Is it research? Is it interviewing? Is it testing? But none of those things feels unknown, right? It just feels like you get to do it faster and better. This is, like, a thing, you kind of can't convince someone without them having done it. And a lot of folks come to us, come to thoughtbot with a product idea. And we tell them like, "Okay, let's get in there and validate and invalidate things." And they're, like, "Invalidate? [vocalization] I don't want to invalidate my awesome, precious product idea [laughs]." And what we know that they don't know is that there are pieces that we're going to validate and pieces we're going to invalidate, but always you uncover new opportunities in that process. And you're just better and better at ascertaining what's promising about those things. So, it's only upside, but it feels like we're asking them to let go of something or to lose something, right? There's a feeling of like, it's like a scary...it's a feeling of like, I've built something, a tiny thing of value here, and you're asking me to risk that. And that couldn't be further from the truth. But it's, like, a really hard thing to convince someone until you've done it once. So, it's very fun, anyway, that we're getting to do this within one incubator cycle. Usually, it's, you know, it doesn't happen that quickly. ASHLEY: I like how you qualified that as fun. I will say...and Vendela and I were talking yesterday, and we were going through the sprints around, not starting over but beginning at the beginning with this new angle. And I was having the emotional rollercoaster of, like, what are we doing? Oh my gosh. And then, oh my gosh, this is so exciting. And then, oh my gosh, what are we doing? I feel very equipped now, having gone through this process once, to have the tools, the skills, the mindset to know, okay, it's part of the process. Here's what's going to happen. Here's what we'll probably learn. And just have a very structured way of approaching a new idea or a new angle, versus feeling like just thrown into the deep end and trying to figure out how to swim or which way is up. So, that's been pretty encouraging and eye-opening, too, that I developed all these skills that I didn't realize I had developed till we started redoing this, which is exciting. DAWN: I love that. It's kind of a testament to how valuable time spent is and how important it is to become really, like, more efficient with this process and the value of sort of rapidly being able to validate or invalidate different assumptions. I imagine that this might be a little bit different than what you expected. As Jordyn was saying, [laughs] most founders don't, you know, expect to have to loosen the grip on specific ideas. So, now that you're at week eight, how has this experience been overall for you? ASHLEY: It's been incredible. First of all, just the talented team that has been working on this project with me, I cannot say enough good, nice, positive things about that. I've heard horror stories about people working with teams that there's just a lot of dissension. There's lack of trust, all those things. And we had none of that, which is incredible. So, I feel very fortunate to have been with the team that I was with. I will also say that everybody had different strengths. And so, we're looking at an opportunity or a problem from a different lens in four ways, which is amazing because then you can cover so much more ground so much more quickly. I will also say, too, just the process: the thoughtbot program has for the eight-week structure is so intentional because sometimes I would think, well, wouldn't it make sense to do this thing before this thing? But just trusted the process, and the process was right. So, I would just say anybody that's thinking about going through the incubator or goes through the incubator next, just trust the process because you guys have a portfolio of success. You know what you're doing. I'm a testament to just really endorse the fact that each step is necessary in getting to the next step in a successful way. So, you're not taking two steps forward, one step back. You're constantly making forward progress. DAWN: That's awesome. What about you, Vendela, and Jordyn, how has this program and this session been this time around? VENDELA: I can talk about my experience as the first time going through the incubator, and then maybe, Jordyn, you have some insight on comparing the two or how you think it went in general. But I think one thing that has been really fun to do and participate in, and to Ashley's point about kind of having this environment of trust and just counting on each other that we're all distilling the information that we're hearing, I guess, accurately or in a way that aligns with how the rest of the team would perceive these things, is that we've had these really cool moments of not feeling like we 100% with complete certainty know exactly how something looks, but being creative about how we might get closer to that point. So, hearing a few tidbits here and there, thinking of ways that we're reading between the lines and interpreting that, and thinking about how we can narrow who we're talking to or approach the conversation slightly differently, so adjusting our script, or running some kind of other experiment, or structure things differently. And then, we might find that that angle wasn't exactly right, but by pursuing that angle, we learned something new that actually did get us closer in some way. And I think a lot of that was subtle throughout the process. But now, just thinking about this new kind of topic or pivot, whatever you want to call it [laughs], that we're pursuing, I think that lesson is going to be really valuable for Ashley moving forward, too, and just thinking, okay, I feel like what we're trying now isn't getting any closer. What have I heard that I could just grab, like, a small piece of string and pull on it, and see where that goes, and unravel something, and hopefully learn something new? So that there's just consistent kind of learning and not feeling like you're just totally blocked at any point. JORDYN: Yeah, to build on that a little bit, there's a real quality with this early work of just starting with what you have, where you are. And, you know, you don't have everything you need, like, you just don't, not in life and certainly not in [laughs] startup land. But the question is, like, figuring out what you need and figuring out how to get that from where you are. And that might be validation of a hypothesis you have, or it might be resources that you need that you don't have yet. And so, a lot of the work that we did together is to identify those things and to figure out ways to get them. And it's a real creative process because every problem is different. It's why it's really hard to talk about the programming in a specific way. It's like, you know, broadly, we're driving at the same outcomes every time. But every problem space, every industry requires a kind of different set of approaches, and, to me, that's really fun. It's like, okay, imagine as a metaphor, you know, that you are dropped from a helicopter into a jungle in Central America versus into Mongolia. Like, what you're going to need to survive in those two [laughs] environments is probably going to be pretty different, right? But that doesn't mean that your strategy for figuring those things out is going, like, the tactics you employ will be different. Yeah, I'm glad to hear, Vendela; that was a fun aspect of this. And sort of jumping off from that point, what was different this time? It's always different running this program. And every time, there's something new and different. But this was the first time we've run it with a FinTech product, and just learning about that ecosystem, the players, and the complex landscape of incentives and motivations, et cetera, was just, like, there was a steep learning curve for us at the beginning. And it was just super interesting and helpful to sift through that. It was like being, you know, dropped from a helicopter into a new sort of ecosystem. And we were like, all right, like, which berries are poisonous here? I don't know. But I also know that I need to eat something to survive [laughs]. So, it's like those kinds of questions, which is just super interesting. And then, what it always causes me to do is look at my own network anew. So, often, we find ourselves talking about, like, this question of starting with where you are with what you have. That includes with the network you have and the people you know. And it really depends on the problem you're solving, who you tap for what questions, right? And, suddenly, like, every one of these that we run, I get to turn to my own network. And I find new reasons to talk to different people about different things in my own network, which is really fun. It's like it allows me to get to know people in my own life in a new way. Like, every time this happens like, one of the first things we do is we turn to our own networks. Like, who do we know that has this problem or works in this industry, whatever? But having never worked on a FinTech product before, I didn't really need to do that with this lens. And it's like a whole new set of people lit up for me, and I got to have really interesting conversations with them. So, that was one thing that was different and really kind of fun. ASHLEY: It's funny to hear your take on the FinTech complexity because I feel like every time Vendela, or Jordyn, or Dave, who's not here, would ask me a question, it was, well, here's the answer, but if this, then that, or if this other thing, then that. It was never just a straightforward answer. And I was like, oh my gosh, they're just going to throw their hands up in the air at some point, but never did. They were just like, cool, that's fine. We'll figure out these different pathways, and if this, then we'll do that, and if this other thing, then we'll do this other thing. And I was just blown away by how nimble the team was and willing to just embrace the complexity. So, that, for me, was a huge positive. I don't know if you'll ever want to work in a FinTech product again; maybe yes, maybe no. DAWN: I would argue that we're more prepared now. You know, we've done a lot of FinTech work in the past, but applying this framework to understanding it as quickly as the team needed to, I'm sure, sort of pushed everybody farther, faster. So, Dave -- JORDYN: Yeah, I should say that was specific to me. thoughtbot has done plenty of FinTech work, Jordyn has not. But also, to your point, Ashley, like, I would love to actually. Now I'm like, oh okay, I kind of understand where the opportunities are here. I feel more prepared now rather than, like, more daunted. ASHLEY: Well, and you have a huge network in the FinTech space. So, that was something that was hugely helpful to me was talking with other founders who have been successful in the FinTech space, or people who have exited and had a great experience, or maybe people who have exited for, you know, reasons they didn't choose. But it was so important to hear from all those different perspectives and say, okay, here's what I would want to replicate, what I would definitely want to avoid. And so, anyways, just the network that Jordyn and others had and were willing to share with me was so valuable. DAWN: I was going to quickly shout out to Dave, who was sick this morning and wasn't able to make it. We were going to have him join. He was the senior developer in this sort of product pod that you've been working with. And I'm sure he has some interesting, more technical perspective to share. He did write a blog post, I think, maybe after week four, that I'm sure has some of those insights in it for folks who might be interested in reading from a developer's perspective. Yes, this is all wonderful to hear. I am curious to know what's next for AvidFirst. ASHLEY: Yeah, continuing on. There are a couple of things to pilot. And so, that's really the next step, pilot MVP as we think about this new angle. Because we want to make sure that the solution in mind is actually the solution that's needed. And so, those are the next steps, and then capital raise and then off to the races. So, if there's anybody listening that is interested in teaming up or wants to talk or contribute, would love to have a chat. DAWN: Is there anything that we can help with, anything on your mind, more network connections? [laughs] ASHLEY: Oh, gosh, offhand, I feel like I would be over-asking at this point because you guys have been beyond helpful. I really think the framework that I have to work with going forward—the team helped build a plan for here's what to do next, here's what to do after that, and here's what to do after that—is really setting me up for success as I think about continuing this journey without the amazing team day in, day out. JORDYN: Well, you have us as a team for life now, sorry. So, anytime you need something, [laughs] you can call. VENDELA: I was going to say I hope that you stick around in our Slack channel and update us on what's going on because now we're super invested, and we definitely want to hear how you're doing. ASHLEY: Yeah, absolutely. DAWN: Vendela and Jordyn, we've got another application window happening right now about to close for the next incubator session. Who should apply? What should they expect? JORDYN: Anybody with a business idea that involves software. The earlier, the better. And a lot of people, you know, come to us and are like, "Well, I have this idea that I'm kicking around for years in my head, but I haven't done anything yet. You know, what do I have to do to apply?" And we're like, "Sounds good. Apply." And then, other folks who are a little later, you know, and they feel like maybe they've hit some doldrums with an idea that they've explored a little bit. But they need a little bit of sort of reinvigorating and, you know, like a spark to get going on it. That's also a good time. We're really sort of excited to hear everybody's ideas. And the only, you know, downside is that we get more applications than folks we can work with. And there's always, like, a lot of great stuff in there. But everyone is encouraged to apply. You know, we used to have somewhat of a, like, non-technical founder. And when we first started, that was kind of the premise was, like, if you're a non-technical founder, we'll be your technical founding team. But I think we're finding that we kind of round out any skill sets in a way. If you bring a technical background, we can help you with the sales, and the marketing, and the business strategy. And if you come with those things, we can help you with the product and the technology strategy. It's the early-stage work, and the early-stage work is the early-stage work, regardless of your background. We can help fill in those gaps. ASHLEY: Yeah, I'll just add, too, I came in with this pitch check. I'm like, I'm ready to go, you know, we just need to build this thing. And, wow, the idea has changed so much since eight weeks ago. And so, I would just say, too, like, be open to feedback, be open to where the experience takes you. Even if you do have a really well-researched idea, there's always opportunity for improvement based on what the market says. And the market is constantly changing. And customer needs are constantly changing. And so, if you're not evolving with that experience, then you're going to get left behind or build a product for no one or, you know, a product for everyone is really a product for no one also. So, being open to the team's input and process is just invaluable no matter what stage somebody is coming into this with. JORDYN: That makes me just so happy to hear. And I will add that, like, I cannot stress enough that mostly what this program is for is to help folks connect with their market. Like, we actually don't want you to listen to us. We want you to listen to your customer all day, every day. How can you make sure you're moving with those folks, evolving with them, speaking their language, addressing the pain points that they have? Because that's why you're doing this, not because of what you think alone or what we think as your product pod. It's really what the market is doing and what your customer base is doing, and thinking, and feeling. And really, the programming is sort of geared toward helping people understand how to do that work. Like, you might conceptually understand that you need to do that. As a first-time founder, I certainly, you know, I had read the blogs, man. I knew I needed to be, like, customer-centric or whatever. But, like, I didn't really actually know how to do that. And once I did talk to some folks, it was a whole other new skill set to figure out how to listen for the things that mattered in what they were saying to me, right? Translating, you know, what folks are telling you and how they talk about their life and their work into product opportunities and innovation, it's a whole skill set that I, even coming into this work, you know, as a first-time founder with the background I had, I didn't have that skill set. You know, most people sitting out there would not argue, like, of course, you need to listen to your customer and move with the market, et cetera. But the question of, like, how to operationalize that [laughs], you know, is a completely opaque thing sometimes. Even for folks who have, like, done it before somewhat, it can still remain challenging. ASHLEY: Yeah, I feel in a better position now to continue keeping pace with the market. Because if you look at FinTech, historically, there were major innovations every ten years, and then that pace changed to every couple of years, and then it changed to every one year. And now you're seeing FinTech innovation accelerated to every few months; the landscape is different. And so, the solution today may need to be different in six months, or three months, something like that. But I feel like I have the tools now to keep up with that pace of change, whereas before, I would have been left behind. So, I feel really grateful for that. Thank you. DAWN: That warms my heart. We do have a question. So, does thoughtbot help with go-to-market strategy, or is the incubator more focused on zero to MVP? JORDYN: You know, I'm full of very spicy takes. Spicy take here: you're always going to market. Zero to MVP is different than go-to-market? I'm sorry, how? So, the answer is, like, absolutely. And really, what you're doing is perennially going to the market [laughs]. You're making a go-to-market strategy. You're keeping that fresh. You're keeping it new in the same way that you're keeping your products and technology strategy fresh and new, given what you're learning and what you're hearing. So, absolutely, I would say that's actually primarily what the incubator is for [laughs], and then making sure that those strategies are aligned. So, like, one of the things that I've seen in my own work at multiple startups, not just my own, is that those things can become disconnected as your team grows because people have different backgrounds and different...they just have a different focus, right? Your head of marketing has a different focus than your head of product and has a different focus than your head of technology. And keeping all of those strategically aligned and focused on the same customer and the same problem set is a lot of the work of an early-stage startup. And that's, like, a lot of the work that we kind of help founders figure out how to do. How do you tie your go-to-market to your MVP? Like, how do those two things fit in together, right? And how do you keep them in sync? It's not merely like you do this one time and then everyone goes their separate ways [laughs], and in 18 months, you meet back again and have a conversation about it, like, [laughs] not how this works. So, I mean, absolutely. VENDELA: I would add to that, too; I think something that we talk about with all these types of projects is just...and, internally, we talk about this a lot, too, like, we kind of hate the term MVP because it's so ambiguous really. Like, what does that mean for any given product? And so, I think, to your point, Jordyn, like, the going to market and the MVP are so tied together because the whole point of an MVP is to learn something so that you can then bring it from a minimum viable product to something more than that. And we talk a lot with founders about different approaches to MVP. I think some people have maybe a narrow view of what they can be. It's this, you know, maybe slightly lower fidelity but coded custom thing. And there's lots of ways to approach it that don't fit that definition and maybe would work better as a way to experiment and learn something, and then create a new version later on. So, you know, with that first version, you can still go to market, but you're learning something, and then you're maybe building a new MVP after that. And so, making sure that that's not too precious or hard to throw away is something, I think, we tell everybody, too. DAWN: Yes, that's great. Cool. Well, I think it's about time for us to wrap up. Thank you so much, Ashley. It's always an honor to kind of watch the team work with different founders and see them sort of learning as they go and seeing the product and the opportunities evolve. And it's been really great to be able to participate a little bit more this time and chatting with you and hearing about how things are going. I'm happy to hear that there was a lot of opportunity for you to continue exploring with AvidFirst. And we'll be here, so please [laughs] come to us as much as possible. Everybody is really excited to see, you know, you and this thing be successful. So, thank you, Vendela and Jordyn, as always, for being a wonderful team. If you're interested in applying to the incubator, do it. Don't hesitate. You can always visit thoughtbot.com/incubator for more information. And thanks for tuning in. AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at: tbot.io/referral. Or you can email us at: referrals@thoughtbot.com with any questions. Special Guests: Ashley Sheble, Dawn Delatte, Jordyn Bonds, and Vendela Colavecchio.
In this second conversation in this Mini Incubator Series, Dawn Delatte and Jordyn Bonds interview Ashley Sheble, the Founder of AvidFirst, about her experiences and progress in thoughtbot's Incubator Program, which aims to help founders like Ashley turn an idea into a viable product. The trio talks about Ashley's experiences and progress in the program. She emphasizes the significance of user research and interviews in shaping product strategy and understanding customer needs. She also highlights the need to narrow their focus to specific customer segments to build a product that resonates with a particular group. Additionally, they discuss the complexities of the FinTech industry and how regulatory considerations are an integral part of their product development process. As they gain more insights, they are transitioning into the prototyping and testing phase to validate their product concepts and messaging. Just catching up? Listen to Part I (https://www.giantrobots.fm/498) of the Mini Incubator Series. Follow Ashley Sheble on LinkedIn (https://www.linkedin.com/in/ashley-sheble/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: DAWN: Hello, everyone. I'm Dawn Delatte. I am a Managing Director here at thoughtbot. And I'm filling in for Lindsey. And I'm super excited to be here and chat with Ashley and Jordyn about how the incubator is going so far. If you are tuning in, you're probably familiar with thoughtbot, but just in case you're not, we are a product design and development consultancy who works with people and products across the entire product lifecycle to make your team and product a success. We are currently running our second incubator session. If you're not familiar with it, we've got a ton of content from our first session that you can check out, or you can follow along in this one. But our incubator program is an eight-week program that we take a founder through to validate or invalidate their new product ideas through lots of market research, customer discovery, interviews, and such. And then, we come out with a product plan that helps set them on the right path forward. In the last update, we introduced our incubator founder, who's with us again today. In this session, we'll be talking with Ashley and Jordyn about digging deep into research and plenty of interviews and, you know, what they're learning and what the process is like so far. So, I'm excited to get started. How about y'all kick us off with some introductions? Jordyn? JORDYN: I'm Jordyn Bonds. I'm the Director of Product Strategy at thoughtbot on Dawn's team, the Ignite team at thoughtbot. I'm a two-time startup founder myself. I've worked with a couple of other early-stage startups, so all about the zero-to-one startup journey over here. ASHLEY: And I'm Ashley Sheble. I am the Founder of AvidFirst, and I am the second incubator founder. And working with Jordyn and team and thoughtbot to really accelerate the mission of our company, which is focused on simplifying college saving and spending. DAWN: Ashley, why don't you recap a little bit for us what's happened since the last time? ASHLEY: Yeah, I'd love to. So, the past three weeks have been really just getting into the weeds on user interviews, talking with different stakeholders as it relates to the problem we're looking to solve. And what we're finding are some key themes. And so, really trying to aggregate the data, focus in on those key themes, and find out where we can really pull at some of those strings to start creating some solutions that are meaningful and specific. One of the primary trends that we're seeing is just lack of awareness around some of the resources and tools available to people as it relates to saving for college; 529s, for example, are a really great tool. And most people, 70%, aren't aware of them. And so, if you've never heard of them, you're in great company. So, just really looking at high-level trends, getting more specific on even more granular trends, and trying to pull everything together and create a product that's meaningful. And again, it circles back to our overarching mission of simplifying college saving and spending. DAWN: Nice. Is there something that has come up either in the process or, you know, from interviews that has been your big sort of aha or eureka moment? ASHLEY: I feel like there's an aha moment pretty much every day. And sometimes the aha moments are like, oh my gosh, this is amazing. We're really on to something. And then, sometimes the aha moments are like, wow, we're really off course, and we have no idea what this means and what do we do with it. And so, it's kind of this up-and-down experience, like we talked about last time we chatted. But it is exciting at the same time because no matter what aha moment, all of it means something. And it helps us make forward progress in the right direction versus making forward progress and then hitting a roadblock and realizing, okay, that's as far as we can go, and now we have to start all over. The team has been really good about helping me make sense of some of these findings that we are uncovering and piecing together some solutions that really address some of these aha moments, both shocking and positive. DAWN: It's really great to hear you articulate that from a founder perspective and someone who, you know, isn't doing this sort of day-to-day product and development thing because, you know, that's a really common experience for us is hearing what's going well and what's not going well and sort of pivoting. But yeah, it's good to hear that directly from you. So, y'all have been doing a ton of research and a ton of talking to people. Jordyn, tell us how you feel about user research. I know that term, in particular, has some interesting [chuckles] connotations, but dig into that. JORDYN: Yeah. Well, we kind of talked about this a little bit this week, and I think research is really broad and vague. And so, just talking about research often doesn't feel super sort of actionable to people. User research is really about once you have a product and market and you have users, how they're using your product or not using it, right? So that's user research. But I find that people often talk about this sort of higher-level strategic research that we're engaged in right now using the same term. And it leads people astray because they think that you need a prototype or you need an app to be able to do user research, which you do. But that's not really the kind of research that we're engaged in yet. Right now, we're doing customer discovery. And that involves researching and interviewing a ton of different personas, some of whom might end up being our customers, some of whom are interested stakeholders or partners. It's a really wide-ranging kind of cast of characters. And the truth is, we don't know who these people are to us yet, right? So, it's really just sort of interviewing [laughs]. It's a hard thing to kind of characterize. I would love to hear, Ashley, like, how you're finding it. But, like, from where I sit, it really isn't about walking people through an interface yet. It's way more just asking folks about their life and their work and how they're doing things now, I think, is a really critical component. Like what you're trying to do with these interviews is find out what are the true pain points that people have, not what they think you want to hear, but what the pain points are that they already have and that they are already trying to solve in certain ways and how they're solving them. And it requires a lot of just high-level questions and then closing your mouth and listening. But it's a very different thing, I think, than user research. But often, in product land, we kind of just use user research as this blanket term, but it really is a bunch of different kinds of things. ASHLEY: Yeah, I would add to what Jordyn is saying, and the use of research, it's really interesting to just hear people's experience and their own background. And we always try to preface, like, there is no right or wrong answer. We just want to hear about the way you're thinking about something or the way you're currently doing something, not how you hypothetically would do something. Because, I don't know, think about your own life, and you think about the way you would do something. It's probably about ten times better than the way you actually do something. When I get asked like, "Well, how many times a day do you set time to just decompress?" In my mind, I'm like, "Oh, probably, like, five times a day." When in reality, that's never. It's a never. So, if somebody were, like, you know, asking me for user research, you know, "Would you use this thing to decompress?" I'd be like, "Sure." But I wouldn't. I would not use it because I just don't make the time for something like that. So, the point is, is not asking people hypothetically how they would do something but how they're actually doing something now and then using that insight to build around. And then, beyond just that customer journey, the stakeholder journey. And when you think about building a solution, there are more people involved than just the end user. There are so many different parties that play into a certain product, especially as you think about FinTech or you think about a large segment like the education segment. There are a lot of players, and you have to look at the way each player is looking at a problem and understand how those all tie together. And sometimes that's super obvious, and sometimes it's not obvious at all. And so, thankfully, having a team that has a different lens in the way we're interpreting data allows us to get to a solution faster. DAWN: Yeah, I like that. Again, it's great to hear you articulating that. And I think we have this old article about not using terms like user research. I think it focuses a little bit more on user testing because that implies the idea of testing a user. But we're not testing people; we're testing our concepts. I think that we use the word usability test as a way to sort of delineate a little bit better. Here's the purpose of this test. We're actually testing the product versus, you know, having a conversation. When you throw in words like interview or even customer, customer could be presumptive in some ways. But it's difficult to sort of tell people what you're doing when you're like, I'm just having a lot of conversations this week [laughs], just meeting, meeting a lot of people and listening. Meeting and listening, I guess, is the activity [laughs]. So, why is that stuff important? And can there be too much of it? What is this process like, and why are y'all doing it? JORDYN: It's so funny to have internalized the sort of value of doing this kind of work so thoroughly that sometimes I even have...I'm like, how else do you know what's going on out there? I mean, that's ultimately the purpose of it is that you really don't know how people are living and working until you ask them or, even better, watch them live and work if you can. And what's really critical is that that changes over time. We're all constantly changing our behavior in response to new trends, new tools we might adopt, right? And the research at this level, this high level of, like, how are you living and working, really can never end for that reason, right? Like, the classic example in sort of software product land is when Netflix really started to invest in online streaming and gradually sunset its DVD-by-mail service. And they did it right at the peak of that service. And so, people were like, this is really wild. Why are they doing this? This is so successful. Why would they, like, stop doing this thing that's really successful? But they had been talking to their customers, their end users. They had been, as you said, Dawn, more than talking to them, listening to them. And they were looking at the trends. And they were like, there's no future in this. There's a future in online streaming, and we need to get ahead of that future. And we need to dominate that opportunity because we're in a position to do so. And it takes a lot of listening, synthesizing, and then risk-taking. But it doesn't feel like a risk when you've been listening to your customers, I guess, is, like, why this research is so important. When you know something about the market because there is no daylight between you and how folks are living and what they're doing out there, it doesn't feel very risky. You have, like, complete certainty about what's happening out there because you know. Because you're talking to people. You have relationships with them. It's not merely about some...and when we say research, I don't want it to sound, like, sort of cold and, like, purely numbers-driven. This is, like, we're having warm, engaging, you know, human conversations with human beings, like, all day, every day. But because of that, we have a really good sense of what's going on out there. And the decisions we make, they feel inevitable or something. You start to see an opportunity out there that just feels obvious. And it's a funny thing to watch that kind of once everybody on the team is aligned around that reality that we're hearing and the sort of inevitability of, like, what you need. You start to get kind of panicked because you're like, who else is seeing this? This is so obvious to us. And you start to kind of be like, who else is it obvious to? But, you know, sadly, I don't know what the right word is here, but, like, it's hard work. This work of listening it is not very scalable work. You can do some things to operationalize it for sure, but it takes time to engage with humans, to synthesize what you've heard, to share it with your team, to stay on the same page about it. It's not super scalable work, straight up. But it is the most valuable work that you could possibly be doing. So, it's okay that it's not scalable. But yeah, you start to identify these real market insights. And then you kind of have this minute of, like, who else is seeing this? Because this looks really clear to us, right? [laughs] ASHLEY: And it's interesting because the last time we chatted here a couple of weeks ago, Lindsey was like, "I'm sure you'll be in a different spot next week. And, you know, you'll be thinking about something different than you are right now." And, in my head, I was like, probably not. I've done a lot of research. It'll probably be the same. And she was right. It's very different from where we were a couple of weeks ago, and the way we're thinking about taking a certain path and circling back to having these conversations that are so critical and really shape the way you're thinking about problems from so many different directions. And so, I thought that was funny that she was right. DAWN: Lindsey is always right. JORDYN: Another ingredient here that I think is really important that becomes clear when you start doing this work but is a hard thing to describe...and I would kind of love to hear how Ashley has been thinking about this. But if you're not hearing a pattern, if you're out there doing the interviewing and it's just a million different descriptions of reality, that is the surest sign that you are not focused on a small enough addressable group of people. You haven't narrowed into a group of people who are the same. And that's really the only way to build a product is to find a group of people who are the same. Make something for them that they love, and then think about where you can go from there. You can't please all of the people all of the time, but you can't please all the people at once, right? You're not going to be able to build a product that does that. And I would say, like, even later, you're not, you know, there's like...it just...it totally dilutes your focus. So, if you are out there doing a bunch of interviewing, a bunch of research, and you're just hearing a bunch of different voices, and it sounds like there's no signal there, it's just that you haven't sufficiently narrowed. So, one of the things we've been doing over the last couple of weeks is really trying to figure out who exactly has the pain point the most that is addressable, in the sense that it's a group of people who are similar, similar enough that we can build a product for them, that is going to work for all of them, and we can speak about it in a way that resonates for them? And it feels kind of impossible. And it also kind of feels, I don't know, a little bit like cheating. Like, it feels opposite of how I think founders think about making products. It's like, you want to build a thing that appeals to a lot of people. That's the drive, and that is absolutely the correct long-term drive, right? And it feels a little bit about sort of throw the game by choosing the people. It feels a little bit like you're like, well, of course, we can make something for a group of people if we've already pre-selected who they are, but it's like, yeah, exactly, that's a lot easier [laughs]. So, anyway, I didn't want to move on without sort of mentioning that that focus on a persona is really, really critical. Yes, we're doing a ton of research, or we're talking to a ton of different people. But in each of those categories, we're really trying to figure out who are addressable niches to start? ASHLEY: Yeah, and I think just getting as specific as possible, like Jordyn has said, has been...in my mind, I was thinking, we don't want to do that because then that really limits the amount of people we can help or the amount of people who could really benefit from a solution. But the good news is that once you solve a problem for a group of people, you can expand upon that and use the learnings from that solution and build something that can help more and more people. Because initially, I was like, "No, we don't want to do that. That's crazy." And she was right. DAWN: Jordyn is another one of those people that's always right [laughs]. Mostly right. Okay, so you're using what you're finding and hearing in these conversations to help guide, you know, your focus, but especially the space that y'all are operating in, FinTech, in particular, is a very complex space. And so, there's all sorts of other dynamics that have to come into your strategy and direction for the product. So, how are y'all navigating which dynamics to focus on outside of what you're discovering in these conversations, you know, whether that be infrastructure, regulatory things, like, you know, all of those complexities? ASHLEY: Yeah, I would say, right now, we're focusing on infrastructure. And that will inform the regulatory piece because there are so many nuances in the space as it relates to what type of product you're building for whom and where. And so, once that is more crystallized, the regulatory pieces can be plugged in. And you're right; it's super complex. And we want to make sure that we're being extremely compliant in every possible way. And so, that is highest priority. But I think, too, to try to boil the ocean with all the different nuances when maybe we're not as crystal clear on the infrastructure would be, I don't know, waste of time is the wrong phrase, but I think it would not be the most efficient use of time. I think getting that infrastructure and then nailing down the regulatory piece around the infrastructure is the best path that we're thinking. JORDYN: Yeah, I would just add here that this space is really complex. And the image that's kind of emerged most recently is of a giant puzzle we're putting together. There are a lot of pieces to this puzzle. It's not a thousand-piece puzzle, but it feels close [laughs]. But where we're starting out is where you start with any puzzle, which is the corner pieces. Like, what are the cornerstones of what we're doing? And figuring out what those are, always centered in what the value proposition is to customers, right? We need to know what their incentives are, what they need and want. That's the cornerstone. And then the feasibility and the infrastructure and, you know, regulatory are the blanks we fill in sort of from there. But without demand, none of that stuff would matter, right? It's a really hard thing because you start to think about...and we talk about this stuff all the time; I want to call out. It's not, like, we're strictly disciplined about we're not talking about that right now. Like, it comes up all the time. And we're sharing what we're learning and what we're seeing out there. We're looking at other products that have, you know, come onto the market recently, like, long-time players in the FinTech space. We're looking at all of that stuff, what they've done, what they've built, and how. We're thinking and talking about those things, but those decisions are not as important as making sure that we're as close to the customer as we can. That's the cornerstone pieces. Our customers and our partners, what are their motivations? What do they need? And then, once we have those corner pieces, then we fill in the puzzle. It's a big, complex puzzle, but you always have to start with something of value. If you're not bringing something of value to those folks, none of this other stuff really matters. DAWN: This is making me wonder if there are people out there who start their puzzles in the middle [laughs]. JORDYN: Guilty as charged [laughs]. DAWN: I meant more [inaudible 18:57]. I didn't mean metaphorically. We know that happens [laughter], unfortunately. JORDYN: Yes, no, I have absolutely been that person personally, you know, and it can be really distracting. The feasibility puzzle is very interesting, and it feels inevitable. Like, you're going to have to solve those problems. The problem is that you don't know which of them is going to matter right now. So, solving those problems now, like Ashley said, it's sort of a waste of time. You might end up solving them eventually, right? But you need to figure out the strategic path forward. And so, yeah, it's tough. I have an engineering background. I love solving complex puzzles. It's very tempting to go do that right now, and it feels much more tangible. Like, okay, we can go read the regulations. We can, like, look at what the infrastructure can do right now. Let's go solve that problem. But it would be just a colossal waste of time to go off in that direction right now. And we don't yet know fully what the value proposition is for whom. Like, that is the gem at the heart of this. I want to acknowledge that there are software efforts out there where the core value really is in a technical innovation. But I would still argue that the timing of bringing that technical innovation to market has as much to do with the market. We can see this over and over again with tons of technologies that were developed years or decades ago, but the market was not at a place where it needed that thing yet. And I really say needed; wanted is a different thing, right? You need to get to a place where the need is red hot. So, it's tough. The puzzle is fascinating. It's very distracting. We end up talking about it a lot, but we have to, like, bring ourselves back to the stakeholders. DAWN: To wrap things up, now that y'all have sort of deepened your understanding of things, what can you expect from the process going forward? What should we expect to sort of hear about next time we meet? JORDYN: We're actually already edging into this, and it's fun to watch how this process happens. When you start to hear something repeatable, you inevitably move into prototyping because you start to have a real shared understanding of what it is you need to put in front of people. We're just now, I would say, like, today, getting to the place where we're confident that we need to be testing messaging in particular. We've heard enough things that we need to start testing. Like, are we talking about the problems in the way that, you know, customers and our partners are talking about them? And we need to start trying that language out and then seeing how it resonates. That's the first piece of testing. We're already starting to conceive of workflows, like a prototype concept. It's so fascinating how, again, it's just always is a consequence of alignment and insight. You don't have to plan it. It emerges. As soon as you've started to put the pieces together a little bit, it's just very natural that, as a group, you start talking about how you might address this problem. You can tell when we've gotten there because we are aligned. In the same way that you're hearing the same thing from the customer, you start to see the same solution because it's clear what is needed. So, we're really moving into that. I want to make it clear, like, we don't stop interviewing. We don't stop talking to folks. But the sort of how specific we are with what we're asking and what we're showing people changes a little bit. That's really just starting to happen now. And I'm sure we'll have a lot more to say about that next time [laughs]. ASHLEY: Yeah, it's been a lot of fun. I'll say the value of the team is incredible. I can't stress that enough. Just this morning, I came to our morning sync and was like, "Listen, I learned this thing. I think it's over. We're done." And Jordyn and team were like, "No, this is actually a really great thing." And, you know, I'm just like, they're going to give up. They're going to shut it down. They're going to say, "No, we don't want to work with you." And they're like, "This is great news." And so, just the diversity of perspective is so different, and it's really great to have that. Because sometimes you can get focused on something in such a linear way that you're like, there's no way out of this thing. And you kind of miss the forest for the trees, so... JORDYN: I'm glad you brought that moment up. I was hoping we would talk about it during this live session because it was one of those moments where you were like, "I have some really bad news. I learned something. This is very sad." And you kind of talked about it a minute. I had a sort of unbridled glee [laughs]. I was like, oh, awesome, because we knew enough to know there was, like, we were missing something. There are a bunch of solutions in the market that look very different than what we were considering. And we were like, why? There's got to be a good reason. These people are not dumb. The market they're seeing is not different from the market we're seeing. So, like, why have they made a different call? And this piece of information, you know, Ashley showed up and was like, "Hey, I learned something, here it is." And I was like, "That's the piece of information. Great." So, now we actually can make a plan. We are still sort of convinced of the value that we were driving toward. And now we just have an added understanding of what it will take to get there. Good. Now we know what it'll take. It's really terrible to have an idea of the value prop that you want to pursue and not have any idea of how would it get there. But now we actually really did feel like a piece of a puzzle falling into place. And it was hilarious because Ashely was, like, very grim, and then I was like, "Oh," I was like, "Great." [laughs] ASHLEY: I was like -- JORDYN: Ashley was like, "Wait, what?" [laughs] It was very funny. ASHLEY: Yeah, it was great. I was like, I hope the rest of my day is this good, so... [laughter] DAWN: Well, I'm sorry to say, Ashley, but you can't get rid of us that easily [laughter]. Thank you both for chatting with me today. If y'all want to stay updated, you can follow along on LinkedIn or YouTube. We do these live streams every two weeks. We also share incubator news and updates on our blog, so thoughtbot.com/blog. You can always go to the incubator site to understand a little bit more about the program. That's thoughtbot.com/incubator. Send us your questions if you have them. And you can always attend the lives, comment on the threads, send us an email. We love to hear from y'all. Thank you for tuning in AD: Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Ashley Sheble, Dawn Delatte, and Jordyn Bonds.
Lindsey Christensen is back as the Marketing Lead at thoughtbot! She's joined by guests Jordyn Bonds, the Director of Product Strategy at thoughtbot, and Ashley Sheble, a founder currently participating in thoughtbot's eight-week startup incubator, to discuss the multifaceted journey of entrepreneurship. thoughtbot's Incubator Program aims to help founders like Ashley turn an idea into a viable product. They're currently at the stage of validating assumptions about the problem space and target market. Jordyn introduces a new concept: a project roadmap visualization that includes an "emotions workstream." This is designed to help founders anticipate and navigate the emotional rollercoaster often associated with the early stages of startup development. Ashley finds the roadmap valuable, especially as it challenges her to examine her ideas from multiple perspectives. She appreciates the one-on-one support from the Incubator team, which complements her own expertise. She also speaks to the liberating aspect of acknowledging emotions in the startup journey, which is especially pertinent for female founders who often face additional challenges like lack of funding. Jordyn emphasizes the importance of early and continuous customer engagement for product validation and innovation. She encourages aspiring entrepreneurs to talk to potential customers as soon as possible to iterate and learn from these interactions. Jordan and Ashley stress that embracing the logical and emotional aspects of entrepreneurship leads to more effective and grounded decision-making. Follow Ashley Sheble on LinkedIn (https://www.linkedin.com/in/ashley-sheble/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: LINDSEY: All right, we are live. So, thank you for joining us today. So, we've got a new founder that's going through thoughtbot's startup incubator. And we're going to be checking in with her as she goes through the program, learning what she learns, learning about the process. Quick reminder: thoughtbot is a development and design company. We help founders and existing companies create, launch, and improve amazing products and their teams. And one way we do that is through our startup incubator. The incubator is an eight-week program. And our second session just kicked off, which we're going to be talking about a whole lot today. So, I'm excited to introduce you to the founder that's going through that process, as well as our fearless leader of the incubator program, Jordyn, I myself, Lindsey Christensen. I'm the Marketing Lead here at thoughtbot. I'll be asking lots of questions. But if you also have questions, please enter them in the chat, and we'll get to those as well. Before we get to Ashley, I'm going to start off with Jordyn. For those who may not be familiar with you, can you tell us who you are and what you're doing? JORDYN: I am Jordyn Bonds. And I am the Director of Product Strategy on thoughtbot's, Ignite team, which is the team that is kind of experimenting with this incubator, shall we say. And I am a two-time startup founder myself. I've worked at other early-stage startups as initial head of product. Long ago, I spent ten years as a software engineer. So, that's my distant background. And I live in Boston. LINDSEY: Oh, we got our first comment. Someone says, "Thanks for sharing your experience." Thank you. Welcome. Love that. Keep the comments and questions coming. Okay. And now for our latest guest of honor. Ashley, can you introduce yourself to the audience? A little bit about you and maybe even about your journey to bring you here today. ASHLEY: Yeah, absolutely. So, hi, everybody. My name is Ashley Sheble. I'm currently based in Houston, Texas. I have about 15 years of experience in sales and operations roles. And I have two kids. I've got one who started third grade yesterday and one who started her senior year of high school yesterday, which is crazy. Time really flies by. But the reason why that's relevant for this conversation is because I have attended so many college tours over the past few years and started learning about just how expensive higher education has become. I had no idea that a public four-year in-state school could cost $100,000 plus for just four years. And then, you start looking at out-of-state and private schools, and that number doubles, which is crazy to me. So, after I got through that initial sticker shock, I was like, how is this possible? Like, now I understand why the student debt crisis is happening. And became really passionate about learning more about it and trying to figure out ways that I could help. Because obviously, the solutions and tools we have today to help people prepare for the education they or their children or family members need or want just aren't working. So, became really excited about that and working with thoughtbot as their second founder to explore this further. LINDSEY: Amazing. So, Ashley, fighting the good fight. Student debt, I know, a topic near and dear to many people who are dealing with this. You mentioned your kid's journey to college is what started the idea. Let's dig into that a little bit more. How are you approaching the challenge, the problems that you see? Or maybe, like, how long it's been that you've been kind of playing around with this idea. ASHLEY: Yeah, absolutely. So, I'm in a graduate school program and have used this as an opportunity to really explore different ways to attack problems. I became really interested in innovation and entrepreneurship at grad school and began just doing research, learning about ways to solve really big, complex problems, and found that technology could really be an interesting way to approach the student debt problem differently than what's been done before. It's an industry that has largely lacked innovation, and have been working with professors and experts just to think about ways to apply technology to this really complicated problem to provide a more simple solution for people who just want to pay for school. LINDSEY: And this is your first time being a founder. Is that right? ASHLEY: It is. So, thank goodness for thoughtbot being my partner here because I'm not a technical person, meaning I don't develop software. I'm not a software designer, and knew that that was going to be a critical piece of developing a solution. And so, I'm grateful for the opportunity to work with Jordyn and her team. LINDSEY: Have you, like, always thought you would, at some point, start your own thing? You know, have you always been entrepreneurial? ASHLEY: Yeah, I think so. I can tell you my first business started in third grade. I launched my babysitting venture and marketed my services all over the neighborhood and church, and wherever would allow me to hang up a flyer, and had a pretty steady book of business, if you will. And in hindsight, I really cannot believe that parents allowed a 10-year-old to babysit their kids. You know, maybe in the '90s there were fewer questions–definitely less legal restrictions around age. LINDSEY: The '90s were wild. ASHLEY: The '90s were wild, yeah. Maybe I just seemed mature and responsible. I don't know. I don't know. LINDSEY: Amazing. All right. Jordyn, so Ashley submitted for the thoughtbot incubator. What stood out to you in that application? And why did she seem like, you know, the right fit to go through the program? JORDYN: Yeah, Ashley's application was just totally...it had that combination of prepared, done her homework, done the work to present the story well, but also clearly had a passion and a connection to the problem space. It wasn't just, like, a purely academic exercise for her, and just came prepared–really gave thoughtful answers in the application. There's a number of interviews that happened during the application process. She showed up with bells on and asked really good questions, which is something we always look for from founders as well. And she just knocked it out of the park. ASHLEY: Thank you. LINDSEY: And why was maybe where she is in her business or product journey a good fit for the incubator? JORDYN: Great question. So, we sit at a really special moment, which is usually founders are coming to us, well, hopefully, founders are coming to us pre-product. So, they have not built a thing yet. They're basically at that moment where they've identified an opportunity. They've given it lots of thought, done a ton of research, maybe started talking to people about it. But they're not sure how to take an idea, an opportunity, and what happens between that moment and innovation, actually a plan for a product, a strategic plan for product, and the ability to execute on that. There's a big gap there in understanding, especially for first-time founders. It certainly was a gap for me as a [laughs] first-time founder. That's the ideal candidate for us. That said, we do have folks coming to the incubator who are interested in executing, like, a strategic pivot. Maybe they've found that the first thing they did was just, like, a market flop, and they basically want to do the programming. They're sort of starting over. Maybe they have a little bit...they're basically like, "Hey, we disqualified one idea. [laughs] We would like to come up with some other options." Those folks are also a good fit. And that is exactly the moment that Ashley is at. She's done a lot of great research so far–has a really interesting idea, interesting take on an interesting problem, but could really benefit from the programming of turning that into technical innovation. LINDSEY: Which leads me back to you, Ashley. Can you tell us a little bit about your pre-thoughtbot research, like, both, like, how you approached it and maybe even some things that you learned that have helped you with your early direction? ASHLEY: Yeah, absolutely. So, initially, just did a lot of industry research, just general population research, and then became a little bit more focused on solving problems for families in the U.S. right now. So, narrowing down that market scope. And then, our focus right now is drilling into: how can we serve parents, students at each phase of their journey as parents or students, making sure that we are adding value as we're creating a service to help attack saving for college in a really effective way that is easy to do and is also going to help somebody be financially prepared to pay for a really expensive price tag without having to rely on student loans? And so, we're doing a lot of focused research right now, building on what I did in grad school with professors and mentors and experts there, but being more focused and intentional around understanding each phase of the customer journey. So, whether you're a new parent, maybe a parent of kids that are a little older, or a parent of kids that are about to go to college or in college, how are we providing value at each stage of that journey? And so, we're really focusing in with customer interviews, understanding the pain points, and understanding what value is lacking as we think about building something that people want and like to use. LINDSEY: In that early research, is there anything you learned or, like, positive signals you got as you were talking to people where it gave you a motivation to keep going, like, there is a good idea here to follow? ASHLEY: Yeah, there have been some ideas that we're finding are just absolutely terrible, and they're just not going to work, which is good to know now before we spend a lot of time chasing something that's not going to be helpful. And also really finding some interesting patterns among conversations. We're digging in a little more where, initially, we thought, oh, nobody cares about that, or, oh, that's not a big deal. That's not a pain point, but actually, it is. So, Jordyn, with her experience as a founder in prior experiences she's been able to use what she learned that maybe went well or didn't go as well as she had hoped and apply that learning to what we're doing together on this particular project. And so, that's super valuable, helps me avoid some rookie mistakes, and definitely prevents us from wasting a lot of time and resources that probably would have been wasted otherwise. LINDSEY: Jordyn, can you tell me a little bit more about the kickoff, where we are? Because this is early, early days, where, you know, maybe a week in. You know, what does that initial kickoff with the founder look like? What are you doing? JORDYN: Yeah. So, the first few days are really spent...we as a team on the thoughtbot side need to get to the place where we know everything the founder knows to date. So, it's very intense, a lot of, like, resource sharing, research sharing, conversations, a lot of elliptical conversations where Ashley will tell us something, we'll all go off and do some digging and some research, and come back and be like, ask her some questions, where she's like, [laughs] "If you recall, I said that to you," you know. But, basically, it's one of those sort of processes where you don't know what you don't know. You start to understand. You come back, you ask questions, you dig. And the process is really about figuring out: where are the holes? So, Ashley has done a ton of really great work. She is but one person who has had divided attention. So, there are some places where we have some assumptions, all of us as individuals, and Ashley, specifically as a founder, has some assumptions about this problem space that we haven't validated yet. We haven't validated or invalidated. That's really what we're looking for. It's like, is this hunch correct, incorrect? How do we know? So, we're really in those first few days are listening for those assumptions, for those untested assumptions. There's a ton of stuff in there where she's just like, I know the answer to this already. Here's what I know, and here's how I know it. Great, cool, validated, got it. But there's this other set of things that really then becomes the focus of the subsequent weeks of work. And often, we find what those assumptions center around are early adopter market characteristics. There's the big vision, right? Which we don't doubt. Basically like, we do not disagree that paying for college is a huge problem. The student debt crisis is huge. There's a million ways to go about addressing that problem. How are we going to, from where we are right now, lay a pathway where we build value upon value? We find something valuable to give the market where it is right now, where we are right now, and then we build from that. And so, you know, there's assumptions about who needs this, who wants this, who's struggling to pay for college, who's having no problem at all paying for college. But what we're trying to do is sort of zoom in on that group of folks, very tiny, specific group of folks who are having this problem the most acutely in a way that we are best situated to address. That's the magic we're trying to do. So, it's really those early days are about listening to what Ashley knows, going out into the market, doing some research, follow-up research, but then really trying to come up with an early adopter hypothesis. And then immediately, as quickly as possible, interviewing as many of those people as we can so that we can validate or invalidate the assumptions we have about them. So, that's really the phase that we just started. Like, today and yesterday, we just started interviewing. We have our first sort of hypothesis about...Ashley mentioned the journey of, like, beginning of child's life. Maybe, as a parent, I have aspirations for this child to go to college. Where do I start saving? You know, that end of the journey all the way to I am actively paying for a college education right now. Where in that journey are the pain points? And can we focus specifically on a particular group of people at a particular moment in that journey in order to provide maximum value right now and then expand from there? So, we're doing a bunch of interviewing. I had a customer persona interview right before coming to this. You immediately start learning. There's just no substitute for it. The thing I tell founders constantly and I just sound like an absolute broken record, but you got to talk to people. You got to start talking to them now. You got to keep talking to them. You got to think hard and creatively about what you're hearing and who they are. And that's really the work that we're doing together right now. LINDSEY: Exciting. [crosstalk 15:04] Ashley, I was going to say how is this kickoff then for you? ASHLEY: Really good. One thing Lindsey and team have brought to the table, especially thinking about me working as a solo founder, is just around the fact that everybody has different perspectives. And we all have different expertise and different experiences that we're bringing to the table. So, the way that I've been thinking about a problem could be 180 from the way Jordyn's thinking about it or some other folks on our team. And it's really interesting to have to really test a lot of these assumptions. I'm like, oh yeah, everybody thinks this way. Oh yeah, everybody does this. And it turns out I'm the only one, or maybe only a couple of us in the group are aligning with that perspective. And so, it has been so valuable as a solo founder to have a team of people researching the same problem from a different perspective. So, I just wanted to add that. LINDSEY: No, that's a great one. And that is sometimes challenging, I think, for the founders. I don't know if you're finding this when you're just getting started. But as you go through the process, things that you have maybe held to be true or facts you end up finding out are assumptions, or maybe assumptions that are false. Which also reminds me of Jordyn: you were telling me something very interesting that you're doing during this incubator, which is founder emotions mapping. JORDYN: [laughs] Yeah. LINDSEY: What is this? JORDYN: Yeah, we've got this project roadmap visualization. It's a Gantt chart. Y'all, it is a Gantt chart. And it basically just lays out, broadly speaking, what we're going to do together on what timeline. It helps us, together, visualize where we're going, where we are, and what we need to do in between so that we don't lose sight of that. And this time, it was the first time that we added...we had this sort of insight that we should add an emotions workstream [laughs] because so much of the early stage is just an emotional rollercoaster because you are learning so much so fast. And if you're lucky and you immediately go into innovation, delivery, learning more, scaling, right? It's this very fast loop. And it's not just that you're learning stuff about your market really quickly. You're learning stuff about yourself and about the work. The learning curve is just really steep. And we had realized that you end up going through this cycle of emotions that's pretty predictable [chuckles], and that's great, right? We want founders to know that their emotions...not only are their emotions, like, totally valid, we wanted to welcome them in a little bit more than we have in the past. So, we added this little emotions work stream that was basically just like, hey, first week, first few days of kickoff, you're going to feel like a million bucks. You're like, yes, I know some stuff. I finally got a team working on this with me. To the moon, right? Like, you got this, like, very optimistic, exuberant kind [laughs] of attitude. Immediately, you start hearing perspectives you hadn't heard before in your problem space. You start uncovering contrary evidence. We start talking to people. Immediately, you start to learn things that you didn't know you didn't know, right? So, up until this moment, you've just had some blinders on, and you're like, the path is clear, and it is amazing. I'm just going to motor my way to success. And our process is about really taking those blinders off and figuring out what is actually around me on this road? Are there words of attackers coming at me from the sides? Like, I need to know those things, right? But what happens is you start to know what you don't know. And so, there's this dip. You start off very optimistic, and then you have a week or two of declining mood where you're mortified. You learn that you had some assumptions that are not valid. There's some other risks and things lying out there in the market. It's truly mortifying. Maybe you learn about a competitor you didn't know about because you just weren't searching the right words, or whatever it is, right? That moment a lot of founders are just like, the moment I discovered my first real competitor, and I had, like, a panic attack, right? That happened to me. But then you start to make a plan around those things, okay, cool. Like, maybe we need to differentiate ourselves. Maybe there is some more information we need to figure out about how to go after this, et cetera. And you start that slow climb of dealing with the new information that you have, right? And filling in those gaps [inaudible 19:22]. Then you start to climb out of the hole, right? You're like, okay, we got a plan. I got a team. We're doing the work. Awesome. You learn new, really exciting things. And then you end up back on that, like, high where you're like, this is so awesome. We have the best idea. And now we know everything there is to know. But no, no, you've just reached a new plateau [laughs]. And there are more things to be learned and more things...So, it's this really predictable cycle, and that's fine. That's good. You wouldn't be here if you didn't care about the problem space, right? If you weren't passionate about it. And so, we really wanted to actually call that out this time and make space for it and put it on the map. Hey, we might be feeling this way right now, just heads up. That's okay. We're going to be feeling really great in a week. And then, the week after that, we're going to be feeling [laughs] like garbage again. It's okay. Because knowing that really makes you feel. And it took me a long time as a first-time founder to realize that, like, my moment-to-moment emotional experience is...I need to make space for it. It is what it is. But it is not the story of my business. And it's a thing you just kind of have to learn after going through a bunch of those cycles. But, like, part of what we're trying to do with the incubator is help founders not fall in those potholes, not make the rookie mistakes, as Ashley put it. And one of those rookie mistakes is thinking that the first time you identify a direct competitor, everything that you've been working toward for the last year is useless, and you should quit, and everyone thinks you're a fool, and, like, whatever crazy narrative you [laughs] have going on in your mind [laughs]. We're kind of here to be like, it's okay. This is to be expected: onward and upward. The hard work continues. So yeah, it's very fun. At some point, we will publish a little version of this visualization with our little cycle of feelings on the bottom. But it reminds us to make space for them in the conversation when we are doing those check-ins. Like, here we are on this roadmap, and here's where our feelings may or may not be. ASHLEY: Her recap for day one is spot on. I left that conversation; I walked out of my office and told my husband, I said, "Listen, we're going to solve the student debt crisis. We're going to." And he was like, "Really? Okay." And I was like, "Yeah, we are." And then, like, two days later, I was like, "No, we are not going to be effective at this." And then, the next day, I was like, "No, I fixed it. We fixed it. It's fine." So, being able to reference that chart is really helpful and validating for me as a person to be like: I should be feeling like this; yes, I do. Perfect, you know, I'm right on track. And I think, too, as a founder, and especially as a female founder, you are expected to just keep it together. Maybe that's a self-imposed belief. But when you think about the fact that female CEOs only have about 2% of the venture capital funding, it's like, you know, why would I ever raise a red flag for myself by letting my emotions be part of the conversation or letting my emotions even have a place in the business I'm building? And so, for her to say, "Listen, no, that's a really important part of this journey; we need to talk about it and make space for it," is really liberating. And I think, too, just when you think about what has happened with the pandemic and all the awareness around mental health and behavioral health, and making sure that we're making time for managing emotions has been more important than ever. We see the research that if you don't manage those emotions, they're going to manage you. So, find a productive way to do it. Work with your team and find support in a way that works for you or a productive way to just kind of get some stress out without having to just internalize everything because that never works out. So, it's been really great to have her be able to bring that as part of our conversation and our project plan and make sure that it's a relevant piece. LINDSEY: Very well said. And I'm so glad you did bring up that point about being women founders, and, you know, having more of a, you know, an uphill battle and feeling that emotions are a sign of weakness or a sign that you don't know what you're doing. We have more impostor syndrome because of these outside factors like lack of funding, you know, lack of support. So, it's really great for you to share that and hopefully inspire others. In fact, we got a comment: "Ashley, your drive and ambition to solve a huge issue in our country is so inspiring." Thank you -- ASHLEY: Oh, thank you. LINDSEY: For adding that comment, folks who are following along. So, it sounds like, for you, the emotion mapping is a positive experience, where it's helping you kind of ground yourself as, even these early days, some assumptions are being challenged, or you're seeing some challenges in the business idea. ASHLEY: Oh yeah, absolutely. Circling back to the thoughtbot team, couldn't do this without them in a really tactical and effective way. Because they have the experience and the skills that I don't have, and us working together on this same problem has been incredible. LINDSEY: How did you come to get connected with the incubator and thoughtbot and submitting that application? ASHLEY: Yeah. So, I'm part of the Harvard Innovation Lab, which is the innovation program at Harvard for all the students. And somebody was talking about this incubator program, and there are a lot of incubator programs out there. And so, initially, I thought, oh okay, well, this will be just, like, all the others and probably not what I'm looking for. But I did some research and looked at the website and read more about the program and thought, oh my gosh, this is exactly what I've been looking for and didn't know existed because it is that one-on-one support, and most incubator or accelerator programs you're one of many companies going through the process. And so, the feedback I have from others who have gone through similar paths is it's great, and it's nice to have a cohort. But at the same time, you're largely figuring things out for yourself, which I was doing anyway. So, I was like, well, what value is that going to bring? This is a one-on-one experience. There's a team dedicated to working on this solution, problem, et cetera with me. And I'm just so thankful that there are software developers and designers that are interested in helping me tackle this challenge also. So, that was really exciting to have other people also excited about the same problem but able to bring different skill sets to the table to actually bring this to life. LINDSEY: Oh, that's great. Thanks for sharing. All right, so nearing the end of our chat here. Jordyn, what is next? I think we're going to check back in in a couple of weeks. What might those weeks include? JORDYN: Well, as I mentioned, we really began customer interviewing...I say customer, and this is really...often, it means a lot of things. It means interviewing people who might be users, people who might be customers, people who might be partners in what we're building. And we are just going to learn so much so quickly. We're going to invalidate a lot of things. We're going to come up with new ideas. So like, we will be different humans with a different perspective on the world in two weeks, which is really exciting. But really, so this effort is really about learning how to have your audience lead you. And it isn't about just listening to your audience. So, when they say like, "Make the button blue," you're like, "Okay, blue button, you got it." It's like actually hearing about their lives and their pain points and then innovating. They're not software developers, your audience typically, so they aren't solving this problem themselves. It's up to you to translate what you're hearing into something innovative. I think a standard metaphor here or example–I guess it's more like a case study—is, like, the famous Ford quote that, like, if he had pulled people and asked them what they wanted, they would have said faster horses, not a car, right? So, it's like, you got to look at the landscape, look at what's possible, maybe new things are possible technically, right? And so, we can solve this problem better, a problem that we know humans have, which is paying for college, or, in Ford's case, getting from point A to point B quickly. So, it's really our job to listen and let what we're hearing from the audience be our guide, but not just, like, sort of take dictation, right? And that's where the skill and having done this lots of times comes in. So, that's what we're going to be doing in the next two weeks. We're going to be listening very closely, iterating on the questions that we're asking and who we're asking them to. And out of that will emerge the strategically sound innovation path, and it never fails to work. I cannot stress enough that if you talk to [laughs] people and you listen to them, opportunities become very clear. So, if any of you out there are nursing an idea that you've been nursing for a while, and you're like, I'm not ready to talk to people about it; I need to think about it longer, nope. Talk to people about it today, please. Will you screw that conversation up? Yep. But the sooner you have it, the sooner you'll screw it up and learn from it. The longer you wait, the more your assumptions build, and then it gets very tense and very wrong. And you could really think yourself off into, like, a very weird place. So, I encourage you all to do your research; talk to people about what you're thinking, what you're working on, the people for whom it matters. And that is what we are going to be doing for the next two weeks, and then is what Ashley is going to be doing for the rest of the life of this company because you never stop. It's not a thing. You don't do, like, a customer research sprint, and then you stop. If you stop doing that, you stop innovating, and then other people in the market overtake you. Sorry, I feel passionate about this issue [laughs]. LINDSEY: No, that's good. That's a quick pitch at the end here for everyone to apply to the next session incubator. Start getting the idea and the research you've been doing together. This could be you. So, hope you'll join us again in two weeks as we catch up. And yeah, as Jordyn said, things are going to be...there'll be so many insights in that amount of time. I almost started laughing after I asked, like, what will happen in two weeks? Because I know it's going to be so different, you know, day to day you all are doing so much work, learning so much. So, I'm really excited to learn about that. So, stay tuned with us here in two weeks. We'll also be posting updates to the thoughtbot blog: thoughtbot.com/blog. And just really looking forward to following along with your journey, Ashley. Thank you so much for joining and sharing today. ASHLEY: Yeah, thank you for having me. LINDSEY: Jordyn, thank you as always. JORDYN: Of course. LINDSEY: And thank you, audience. Everyone have a fantastic day. Did you know thoughtbot has a referral program? If you introduce us to someone looking for a design or development partner, we will compensate you if they decide to work with us. More info on our website at tbot.io/referral. Or you can email us at referrals@thoughtbot.com with any questions. Special Guests: Ashley Sheble and Jordyn Bonds.
Those of us in enablement should be thinking about how we design and build our programs and other deliverables the way that software teams build great products! This week I'm chatting to Sally Ladrach, Revenue Enablement Manager at ThoughtBot.
We are thrilled to announce the third session of our new Incubator Program. If you have a business idea that involves a web or mobile app, we encourage you to apply to our eight-week program. We'll help you validate your market opportunity, experiment with messaging and product ideas, and move forward with confidence toward an MVP. Learn more and apply at tbot.io/incubator. We look forward to seeing your application in our inbox! __ Co-host Will Larry interviews Stephen Hanson, the Director of Mobile Development at thoughtbot. The two explore the complexities of mobile app development, focusing on the advantages and disadvantages of React Native and Flutter. Stephen, who initially started as a full-stack web developer specializing in Enterprise Java, discusses React Native's cost-effectiveness and the convenience of having a unified codebase for iOS and Android platforms. However, he notes that Flutter might be a more suitable choice for high-performance needs. Both hosts emphasize the nuances of the mobile ecosystem, covering topics like in-app purchases, push notifications, and the strict guidelines set by app stores like Apple's. They agree that a comprehensive understanding of these aspects is crucial for an entire development team, including designers and project managers. Additionally, Stephen shares that the driving force behind his career is the opportunity to create apps that enhance people's lives. Stephen wraps up the discussion by detailing thoughtbot's goals of improving mobile development practices within the company and the broader developer community. __ React Native (https://reactnative.dev/) Flutter (https://flutter.dev/) Follow Stephen Hanson on LinkedIn (https://www.linkedin.com/in/hansonsteve/). Visit his website: shanson.co (https://shanson.co/). Follow thoughtbot on X (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: WILL: This is the Giant Robots Smashing Into Other Giant Robots Podcast, where we explore the design, development, and business of great products. I'm your host, Will Larry. And with me today is Stephen Hanson, Director of Mobile Development here at thoughtbot. Stephen, thank you for joining me. STEPHEN: Hi, Will. Thanks for having me. I'm excited to be here. WILL: Yeah. I'm excited to talk about mobile development. But before we get started, tell us a little bit about who Stephen Hanson is: your personal life. STEPHEN: You know this because we often talk about our families when we get together. But I have two young kids, two and four years old. When you say personal life to anybody who has young kids, that's what we're talking about. [laughter] WILL: Yes. STEPHEN: So, they're keeping me busy but in the best way. WILL: Yeah, definitely. And I totally understand that. So, I know we talk about this often, but you like to woodwork. You like to work with your hands like most of us in tech. Like, we think so much with our head and mental that we try to find something to do physically, and yours is woodworking. Tell me a little bit about that. STEPHEN: Yeah. I think it's exactly what you said. I think working on a computer all day, you know, many years ago, I was like, what's something I can do with my hands, right? Something a little more physical. So yeah, fine woodworking has been a hobby of mine for quite a few years. And we were even chatting the other day about, you know, I'm trying to take time during the day to sneak out to the garage for 15 minutes, you know, during my lunch break or whatever to just get that mental reset and just work on something. WILL: Yeah. I know that you built your office that you work out of. I've been wanting to ask you, one, how did you do it? Two, how did you have the confidence to do it [laughter] to make sure that it was going to...how can I say this? I would be afraid that would it still be standing [laughter] after a little bit? [laughs] STEPHEN: Yeah, to be honest, that was definitely a fear. Yeah, I built my office in 2020, you know, COVID hit. All of a sudden, I was working fully remote. And we had another kid on the way. You know, we didn't have space in the house. So, I was like, what am I going to do? [laughs] I was already doing woodworking, but I didn't have any construction or carpentry experience. So, yeah, I definitely had the confidence issue. And I think, you know, I was just like, I don't know, let's just give it a try. [laughter] That's really all I can say. I didn't have the skills yet. But I watched a lot of YouTube and read a lot of [laughs] forums or, you know, just found info wherever I could, so...[laughs] WILL: Yep. And it's still standing today, correct? [laughs] STEPHEN: Correct. Yeah. [laughs] No, I'm just sitting in, like, a pile of rubble right now. [laughter] WILL: That's awesome, yeah. It's kind of like development sometimes for me. Like, you just got to take that leap sometimes, so... STEPHEN: You do, right? It's like, you know, fake it till you make it. [laughter] WILL: Yep. That's awesome. Awesome. Awesome. So, tell us a little bit about how did you get started in development in general? And then, how did you get started in React Native? STEPHEN: Yeah. So, I started out as a full-stack web developer. So, I didn't initially set out and say, "I'm going to build mobile apps," right? And I started out in 2011. I was working in Enterprise Java. I worked for American Airlines for a couple of years, and then I did enterprise consulting. I eventually made my way to, like, Rails and front-end development. And around 2016, 2017, I was freelancing. And eventually, clients started asking me to build mobile apps. [chuckles] WILL: [inaudible 04:16] STEPHEN: And I didn't know how to build mobile apps. So, I did what any web developer would do who doesn't build apps, and I used web technology. So, those first couple of apps that I built were hybrid apps. I used Ionic. And those are, you know, web apps that you package in a Native Wrapper. So, developing these apps, I literally developed them in a browser, right? And they're web apps. [laughs] And that was my first experience building apps. Even if they were web-based, I still had to work with the native app stores and learn, you know, app review guidelines and implement some native functionality, even though it was through, like, the Ionic wrappers. You know, people kind of trash on hybrid apps, and sometimes for good reason. But that wasn't a bad first experience for me or outcome, honestly. The clients were happy. They had apps in the app stores that were working for a pretty reasonable development cost. So yeah, that was my first experience in mobile. The end result isn't something I'd be necessarily proud of today. [laughs] WILL: I think that's all devs. [laughs] STEPHEN: Yeah, you know, [laughter] yeah, I -- WILL: Looking back at their work, yeah. [laughs] STEPHEN: I was talking about that. I could look back to something I built a month ago. [laughs] WILL: Yes. [laughter] STEPHEN: You don't have to go back far. [laughter] WILL: Yeah, so true [laughs]. You started working with the client when you were freelancing. So, how did you go from the hybrid web apps to actually saying, okay, I want to change, and I want to go all in on React Native? STEPHEN: React Native came out around that same time I was building those hybrid apps. So, the hybrid apps were 2016, 2017. React Native came out in 2015. So it was out, but it was still pretty new. And I was really interested in React Native right from the beginning, but I was also a little intimidated by it [chuckles]. So, when those first clients came to me for mobile apps, I didn't feel confident enough to say, "Yes, I can build you a React Native app." But a year or two later, I was working for another client on their Rails app. And I was building an API for their new React Native app. You know, I was really interested in React Native. So I said, "Hey, [chuckles] why don't I help out on the app side, too?" And they were like, "Sure, that sounds great." So that was kind of where I got my foot in the door with React Native. And then more opportunities like that just kept popping up over the next year. So, I got to work on a couple of other React Native apps. And like we talked about, I just started calling myself a React Native developer [laughs]. The rest is history. WILL: Yep. So true. We'll touch more on that later. But what would you say to a client who is trying to figure out if they should build native versus React Native? STEPHEN: There's a few things to consider when making that decision. But I think, usually, what I've seen is it comes down to budget and user experience. The bottom line is React Native is going to be a lot cheaper. You're basically building one app instead of two, right? Most of your code in a React Native app is going to be in JavaScript, and you can reuse all of that code across Android and iOS. If you're building a native app, you're just building two completely separate apps. So, it's just going to be cheaper to build that React Native app, and a lot of times, that's what it comes down to. For most companies, it can be really hard to justify that extra cost of building a completely native app for each platform. But then the question is when we talk about how can you justify the cost? Well, what would justify the cost, right? [laughs] I think probably the biggest trade-off when you build a React Native app versus a purely native app is there is a little bit of a performance penalty by building in React Native versus native. So, I think apps that will need to have a very flashy cutting-edge experience with lots of user-driven animation and effects, you know, when you get into that domain, I think that's where we see pure native starting to make more sense. But most apps and users would never feel that performance penalty of React Native. So, for most apps, that's not really something that enters into the equation. WILL: I want to dig into something you said. You were talking about if you do go native, you usually have to build an iOS and an Android separately. But with React Native, you could do it together. So, for someone who's maybe never done either one of them, can you kind of dig into, like, what does that look like? So, when you say I have to build an iOS and an Android portion versus I can do one codebase for React Native, can you walk us through kind of what that looks like, just a sample feature? STEPHEN: When I say React Native is a single codebase and, you know, native apps, you're building two apps, the way React Native works is you're basically building a React app. So, all of your business logic is going to be in React. And when your React code renders some UI, that gets translated into native UI. But your business logic is still going to be living in that JavaScript React app. So, one, when I say performance penalty, that's what I'm talking about is: there's a little bit of a performance penalty communicating back and forth between your JavaScript thread and the native system thread. But when we talk about one codebase versus two, that's what a React Native app looks like. You basically are working on a React app. It's one codebase with one set of business logic. And when you say, "Show a modal on the screen," that gets translated into a native Android modal or a native iOS modal, but in your code, you're just saying, "Show a modal." [laughs] So, you're just writing that one time. So yeah, a React Native project is just one codebase. Now, one thing that we haven't really touched on is in a React Native app, you do have the ability to drop down into native code. So, you have access to the native Android project and the native iOS project in your React Native app. So, you can write completely native code if you want to. But the appeal of React Native is you don't have to, you know, unless you get into one of those situations where you need to do something native that isn't supported out of the box with React Native or by an existing third-party library, or you want to have a very performant, very interactive part of your app. Maybe there's a reason you want to do that in native. You know, you do have that option in a React Native app of dropping down into that native code level. But to contrast that with a purely native project, you will have two completely separate codebases, one for Android and one for iOS. You'll have a development team for Android and a development team for iOS, you know, typically with different skill sets. The Android project will be Java, Kotlin. And your iOS project is swift. So, just in every sense, you really have two different projects when you're working on a purely native app. WILL: Okay, yeah, that makes sense. So like, for React Native, that show modal is just however many lines to show that one modal, and it does it for iOS and Android. But when you talk about native, you're saying that; however, iOS says to show that modal, you have to do it that way. But then Android, you also have to do it the Android way. And one developer, unless they know both of them, may not be able to handle both for those cases, correct? STEPHEN: Yeah, exactly. React Native abstracts away those underlying platforms. So, you really just need to know React Native for most cases. Though, there's definitely a benefit of knowing the underlying platforms. WILL: Definitely. Especially, like you touched on if you wanted to go into that native portion to add in a feature. You know, for example, I know we both worked on a project where we had a scanning app. And we had to tap into that native portion and React Native in order to get the scanning app to work, correct? STEPHEN: Yeah, that's right. We had to support some barcode scanning devices and hook into those barcode scanning frameworks that were proprietary [chuckles] to those devices. So yeah, we had to build native modules for Android and iOS to support those. WILL: Gotcha. Okay. I want to touch back on something you said earlier about the flashy experiences. You said sometimes you may not see it or whatever, but sometimes, if you want that flashy experience, it's better to go the native route. Can you explain that a little bit more? STEPHEN: So yeah, it's kind of what I was touching on a second ago. You know, in a React Native app, you have the JavaScript thread that is always running and coordinating UI changes with business logic. So, you've got your business logic in JavaScript. You've got the UI in native. And those need to be coordinated to interact. So, that's kind of where that performance penalty can happen. You know, again, most apps and users would never feel this penalty. I've never been, like, using my phone and been like, oh, this is a React Native app; I can feel it, you know. [laughs] It's not something that typically enters the picture for most apps that we work on. But there are certain types of apps that might be more important, you know, highly interactive games or things that just need to have that extra flashiness and interactive flashiness specifically, where it could make sense to build that natively. Another interesting thing in the React Native space is React Native recently re-architected their rendering engine to be written in C++ and be more efficient. So, this performance overhead might be a little bit less of a trade-off. They've re-architected the way that React Native JavaScript talks to the native layer, which might make this even less of an issue going forward. WILL: I looked it up for the podcast. But do you know some of the companies that we probably are familiar with, like they built apps on React Native? Can you name a couple? STEPHEN: Yeah, I was recently looking at this, too. And, you know, the big one is Facebook, right? Facebook built React Native. So, they're the sponsor of that project. So, Facebook and Facebook Messenger, I believe those apps are built with React Native. I don't know if the entire apps are or not [chuckles]. Do you know by chance? [laughs] WILL: React Native on their website says, "Hey, we're going to showcase these apps that they're built in React Native." So, I'm guessing a huge portion of it was built in React Native, so... STEPHEN: Yeah. That's a good point. Yeah, you're right. They're showcasing it there. So yeah, you know, other ones, you know, lots of brands, Shopify, looks like PlayStation. I'm looking at the list now on the React Native website: Pinterest, Flipkart, Discord, Walmart, Tesla, Coinbase, Mercari. Yeah, I mean, it's just a lot of big-name apps built in React Native, including quite a few that we've [laughs] that we've built. [laughter] MID-ROLL AD: Are you an entrepreneur or start-up founder looking to gain confidence in the way forward for your idea? At thoughtbot, we know you're tight on time and investment, which is why we've created targeted 1-hour remote workshops to help you develop a concrete plan for your product's next steps. Over four interactive sessions, we work with you on research, product design sprint, critical path, and presentation prep so that you and your team are better equipped with the skills and knowledge for success. Find out how we can help you move the needle at tbot.io/entrepreneurs. WILL: If I'm absolutely sold on getting that flashy experience, is native the only route to go? STEPHEN: I think until pretty recently, that would have been your option [laughs]. But Flutter has been picking up a little bit of momentum. So, Flutter is developed by Google. And it's kind of a challenger in that React Native space. It kind of has the same write once, run anywhere, you know, philosophy as React Native. You have one codebase. But they tout kind of being a more performant option than React Native. So, it compiles down to native ARM or Intel code, which can give better performance without, you know, not needing that JavaScript bridge kind of handling that communication between the UI and the business logic. WILL: So, when would you use Flutter versus React Native? STEPHEN: I kind of keep going back to, like, you know, we talk about the performance overhead of a React Native app. I don't think that's even on the map for the vast majority of apps. Like, this isn't a performance penalty that you can typically feel. So, looking at Flutter versus React Native, React Native has several advantages. I think the biggest one is it's React. So, every team has React developers already on the team, pretty much nowadays. So, you know, if you've got an organization that says, "Oh, we need to build a mobile app," they probably already have a team of React developers somewhere working on their web app [laughs]. So, there's a big benefit of kind of centralizing their team around that technology. You know, you can have a little bit of cross-pollination between web and mobile, which can be really nice. I think, similarly, it's a lot easier to find and hire React or React Native developers right now than it is to find and hire Flutter developers. So, Flutter is written in Dart, and it has its own front-end framework. So, this isn't necessarily a technology that you're going to have on your existing team. Like, I've never worked with Dart, personally. It's not nearly as common as React developers. You know, that, to me, is going to be a big downside. You know, the talent pool is a lot smaller for Flutter/Dart developers. Also, the ecosystem with Flutter being newer, it's not as established. It doesn't have as large of an ecosystem as React Native. So, for those reasons, I think React Native is still, at least for us, like, it's usually where we would steer a client over Flutter, unless they're in that category of, like, they're really going for something, you know, groundbreaking. And, you know, the choice is either, you know, they've ruled out React Native. They need to get that native performance, and maybe they could achieve that with Flutter, and maybe Flutter would be a good option then. WILL: Okay. You mentioned that—and I agree with you—like, you probably have some React devs on your team somewhere. Most companies does. So, say if I am bought in, I'm going all in on React Native, and I have React web developers on my team. Is that an easy transition for those developers, or what does that transition look like? STEPHEN: Yeah, this is something...I think you and I have talked about this a lot because we both transitioned from React Web to React Native. And, you know, it wasn't all that easy, right? [laughs] WILL: No, it was not [laughter] at all. [laughter] STEPHEN: So yeah, you know, it is a fallacy to say, "Hey, we've got a React team, you know, let's just start tomorrow on building an app, and it'll be smooth sailing. And, you know, no one needs to learn anything, and we'll be good to go," right? [laughs] So, you know, what I always say is a React web developer can successfully work on a React Native app. But I don't think they have the skills yet to lead that initiative because there's just so much to the mobile ecosystem that needs to be learned. And really, you know, my first couple of React Native apps, I wasn't the lead developer. There was somebody on those projects who really knew that space better than I did. And that was really helpful for me to have. How about you? What about your first, like, React Native project? What did that look like? WILL: It was at another company, and the exact words paraphrasing was, "You know React, so you can easily work on React Native." And so, I got on the project. And I really struggled, to be honest with you, because there's a lot of things that I didn't know: in-app purchases, push notifications, how to deal with Apple store, Android store, deploying to those stores. Like all of those things, navigation is totally different than React navigations and routes. It was a lot. It was a lot more than they led on to what it was. Eventually, I caught on. It took me a while. I needed to work with some more senior React Native developers, and I was able to really pick it up. But yeah, it was tough. I'll be honest: I struggled for a while because I went in feeling like I should have known all those things because that's the way it was conveyed to me. Now that I look back on it I was like, there's no way I could have known those things. It's just a different language. So, I had to get in there and learn it. And I even...I'm trying to think I've learned a couple of new languages. But it's almost like learning a new language just with, you know, the, like I mentioned, the in-app purchases, push notifications. It's just totally different. STEPHEN: Yeah, that's been my experience also. I think the challenges weren't, like, coding [laughs] because, you know, building a React Native app is coding in React. The challenges that I faced were, like you said, it's just the mobile ecosystem and learning all the intricacies, the functionality that users have come to expect in mobile apps, you know, like password manager, integration, and background execution modes, and deep linking strategies, all that kind of stuff. You know, if you don't know what questions to ask or what features to be thinking of, it's just really hard. And [laughs] I think it's more than just the developer needing to know that too. I think anytime it comes, you know, down to building an app, the whole team needs to have that mobile background. It's just a completely different platform than building for the web, right? So like, product owners, project managers, designers, developers all need that context so we can be prioritizing the right features and building a UI that matches the patterns that people have come to expect in a mobile app. And then, of course, developing those apps using the, you know, the proper native modules. WILL: Yeah, definitely. And I [chuckles]...you mentioned that it's mostly on, like, the mobile side. I don't know the best way to say that. But, like, I can tell you, when I first got onto the React Native project, there were numerous features that I could implement, and to a certain point to where I had to go that mobile. So, like, I was like, oh yeah, I can learn these new components that's in React Native. Okay, I got it to work. It's finished. You know, my PM would be like, "Well, it's not completely finished because you have to deploy it." And I was like, oh, I have no idea what I'm doing now. Like, I just know [laughs]...I know up to this point. STEPHEN: [laughs] WILL: But anything over that, I'm like, yeah, I have no idea. STEPHEN: Especially with consulting, right? With consulting, you need even more expertise, right? The clients are counting on you to build their app. And that's where, you know, having that deep, deep familiarity where you can say to a client, "This is how we're going to do the deployment process, you know, and I need, you know, X, Y, and Z to help set it up. And here are the deliverables, and here's when we'll have it," that kind of thing. Like, it really takes it up a whole nother notch what you need to know. WILL: Definitely, yeah. Because I think compared to mobile, I feel like web development can almost be like the Wild Wild West. And what I mean by that is, like, there's no rules for you to push out a website in web. Like, you know, you build it. You push it out. It can be out there, you know. Whoever is hosting it, unless you go against their rules, maybe, but their rules are very relaxed and stuff like that. Mobile, there's a totally different set of rules. Because, like, I was laughing not too long ago. There was rumors that Elon Musk was going to remove the blocking feature on Twitter [chuckles]. And it was funny because all the mobile devs they came out. And if you're a mobile dev, you know this. Apple is very strict. STEPHEN: [laughs] WILL: If this is a social media app that you're building, you have to have that blocking feature, which I agree it needs to be there. But it's funny, like, all the mobile devs was like, yeah, that's not going to work. Good luck [chuckles]. Good luck being an app again. STEPHEN: Yeah, [laughs] good luck. WILL: Like, they're going to kick it off. And yeah, they're very big on kicking it off if it doesn't follow those rules and things like that. So yeah, for React Native, you have to learn those rules, or, like I said, they won't approve it. They won't push it out to their store. STEPHEN: Yep, exactly. Yeah. I feel like the new one at every client project; I have to say, "We have to offer a way to delete your account in the app," because [laughs] that's a new one that launched last year, and I think has just started being enforced more recently. Like, all those little gotcha rules, you know, like, if you don't know about that, then you're going to go to submit your app to the stores, and you're going to get rejected every single time. [laughs]. WILL: And they're not shy about rejecting you [laughs]. STEPHEN: Yeah. But I would say, like, a lot of the rules, I'm like, yes, this is amazing that we have these rules, you know. It does help keep the community safer like things like blocking. But then there's the other rules of, like, Apple's like, hey, you've got to use our payment system and pay us 30% of every sale. WILL: Yes [laughs]. STEPHEN: I was, like, you know, there's some evil stuff happening there, too. WILL: I totally agree. And we ran into that issue. We had an app that used Stripe. And we actually had to remove it in order to use in-app purchases because...I forgot the rules around it, but it was essentially for digital content. I think it's what it was. And so, we had to use Apple's in-app purchases. So yeah, I totally agree with you on that. STEPHEN: Yeah. I feel like I've been a part of so many apps where we're, like, reading those rules. And we're like, okay, you know, it's like, we're watching a live stream of birds. WILL: [laughs] STEPHEN: You know, like, the birds aren't digital [laughter], you know. It's like, [laughs] where does this fall in the rule? [laughs] WILL: Yes [laughs]. I've done that, too [laughter]. Yep. It's almost like, you know, I feel like lawyers, okay, like, is this what this rule is, or the law what is written, or does this fall underneath that? So yeah, totally, totally agree. STEPHEN: Yep [laughs]. WILL: So, you've been here a couple of years at thoughtbot. What has been your experience building React Natives here for clients at thoughtbot? STEPHEN: Yeah, yeah. I've been at thoughtbot for about five years now. And I have been building React Native apps that whole time. And, I mean, I started at thoughtbot a little more in the full-stack space, web development, and have transitioned to where I'm mostly only building React Native mobile apps now. It's been a great experience. I think that React Native is really a sweet spot of; we're able to build these apps really efficiently and much less expensively than when we're doing pure native. And the end product is a really good app. So, it's been a great experience, you know, React Native is really...it has a really nice development experience. You know, it's the JavaScript React ecosystem. And we use TypeScript, and we have a really good developer experience with it. And then we're building apps that clients are really happy with and with a good budget. So, I think it's kind of that, you know, like, win-win-win kind of scenario where everybody is happy. And yeah, I don't see it going anywhere. And I think we're going to be building React Native apps for quite a while to come. WILL: Yeah, I totally agree with that. Where do you see React Native and mobile dev going here at thoughtbot in the next six months or even the next year? What are your goals for the mobile team? STEPHEN: We've got a couple of goals. One of them is around kind of what we've talked about with the mobile space in general. This isn't really specific to React Native, but it can be. But, consulting in the mobile space is challenging because there's a lot of mobile-specific domain knowledge that a team really needs to have. So, that's something that we've started looking into is, like, how do we build up our resources internally and then, hopefully, externally as well to help guide us on our projects and ensure that we have, like, you know, we are developing apps consistently and efficiently every time? So, that's something we're looking into is, like resources to help our teams—not just developers, but project managers, designers, and developers—help us navigate the mobile space. Okay, you're going to do push notifications. Here's the library we use. Here's things to think about, and interactions to think about, and iOS-specific functionality that we could support, and Android-specific functionality that we can support. You know, you're going to do deep linking; do you want to use universal links, or do you want to use a different strategy, a scheme-based link? So, basically, building up that set of resources so that our teams are all able to consult and build efficiently and consistently across the board. So, that's kind of goal number one. And then, goal number two is to kind of bring some of that out into the community a little bit more. So, thoughtbot is very well known in the Rails space for all of the open-source content we've put out and blog posts, and courses, and books. I mean, there's just so much on the Rails side that thoughtbot has done. And we're just a little bit less mature on the React Native side in terms of what we've put out there. So, that's kind of the second goal is giving back, helping others kind of do that same thing. I feel like we have developed our practices internally, and we're building some great apps. And it's kind of time to contribute back a little bit more. WILL: Awesome. I'm looking forward to reaching those goals. If you can go back and give yourself advice, what would you tell yourself? STEPHEN: I would maybe say, read the documentation [laughs]. I don't know when I got into mobile; I think I just jumped in. And, you know, we've talked about some of the mobile-specific domain, and not knowing what you don't know, and app review guidelines. I feel like early on, I just responded to challenges as they came up, as opposed to just digging into, you know, Apple's documentation and Android's documentation and just really understanding the underlying operating systems in stores. That's probably a piece of advice. If I could go back, I would just start at the documentation, you know, go to developer.apple.com and read about all of the underlying APIs of StoreKit and, you know, associated domains and all of these sorts of things. Just learn 'em, and then you know 'em. [laughs]. So, maybe that could have saved me some heartache if I just was a little more intentional about, okay, I'm getting into app development. I'm going to set aside some time and just really learn this stuff, as opposed to kind of where I had one foot in the door, one foot out of the door for a while. And I think that kept me from just sitting down and really going deep. WILL: That's really good advice. Just read the documentation. And that's not just Apple. STEPHEN: [laughs] WILL: That's a lot of departments, sections of my life. So, yes, I like that. [laughter] STEPHEN: I actually...that's something I did early in my career. So, I started as an Enterprise Java developer in 2011, and I was using the Spring framework. I downloaded the entire PDF. It was, like, 250 pages, the documentation [laughs]. And I remember just being on, like, airplane flights, and I just read the documentation, just cover to cover. That served me so well. I was, like, the expert, you know [laughs]. I don't always do it, but when I do, I'm like, oh yeah, why didn't I do that sooner? [laughs] WILL: Yeah, totally agree. I like that. What is the wind in your sails? What motivates Stephen? STEPHEN: Like, I think what attracted me to software development is just being able to build stuff, you know, probably the same thing that attracted me to woodworking. So, I think what motivates me is that prospect of, hey, I'm building an app that people are going to use, and it's going to make their life better. So, that's really what gets me up and gets me motivated. It's less so the actual coding, to be honest. It's really the prospect of, like, hey, I'm building something. WILL: Awesome. Yeah. Is there anything that you would like to promote? STEPHEN: If you're interested in building a mobile app, come talk to us. We'd love to build your mobile app. Go to thoughtbot.com/hire-us; I believe hire-us. We would love to talk to you about your mobile project. So, don't hesitate to reach out. We'd love to hear about what you're interested in building. WILL: Awesome. Well, Stephen, it was great to chat with you. It's always great to chat with you about mobile development and just personal life things. So, I really appreciate you being on the podcast today. STEPHEN: Thanks for having me, Will. It was a lot of fun. Always good talking with you. WILL: You can subscribe to the show and find notes along with a complete transcript for this episode at giantrobots.fm. If you have any questions or comments, email us at hosts@giantrobots.fm. You can find me on Twitter @will23larry. ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com. Special Guest: Stephen Hanson.
When you're running a small company, hiring is simultaneously your highest leverage opportunity and the scariest thing ever. In this episode, Adam and Ben share some lessons learned, how they think about hiring for their teams now, and talk through some of the things they're still trying to figure out how to get right.Discuss this episode on Twitter →Timestamps(00:00) - Hiring (02:02) - Why hire at all? (06:41) - Avoiding hiring altogether (11:44) - Vetting people (24:45) - Finding people (36:22) - How Ben got recruited at Thoughtbot (37:53) - Evaluating hires (43:23) - Fears and anxieties around hiring (50:50) - Unfair hiring advantages (57:36) - Levels of management LinksAdam on TwitterBen on Twitter
Listen on Apple, Google, Spotify, and other platforms. Victoria gives an overview of what thoughtbot is [02:20] How did Victoria end up in the tech industry? [02:58] Victoria talks about her work experience in the federal area [03:54] Is there a lot of development agency work in the government or do they do a lot in-house? [04:40] Victoria shares the history of thoughtbot and how it started [05:47] Victoria talks about their platform guide and expanding more into their site reliability engineering space [07:08] Victoria shares some use cases, particularly in the need for tech in businesses [08:32] Victoria shares what other industries she has spent some time in since working at thoughtbot [09:14] What's it like for Victoria to work and collaborate with a team remotely? [10:34] Victoria talks about the San Diego scene and the meetup community [12:36] Where does Victoria see communities going especially in a way that thoughtbot is looking at engaging developer communities? [15:28] Victoria shares her favorite taco spot, City Tacos [18:04] Follow Victoria LinkedIn | Twitter thoughtbot Website | LinkedIn Check out our Tacos and Tech Tacos Database to learn where our local SD entrepreneurs and leaders satisfy their taco crave!
Victoria Guido, Managing Director of Business Development and DevOps Strategy, and Joe Ferris, CTO, of thoughtbot stop by to talk about Victoria's recent trip to Ruby Kaigi, thoughtbot's contributions to the Ruby / Rails communities, goals for their podcasts, Platform Engineering for Ruby on Rails engineers and the thoughtbot Incubator program. Show Notes: thoughtbot (https://thoughtbot.com/) Giant Robots Smashing Into Other Giant Robots (https://www.giantrobots.fm/) Mission Control's AWS Platform Guide (https://thoughtbot.atlassian.net/wiki/spaces/APG/overview) mrsked / mrsk (https://github.com/mrsked/mrsk) thoughtbot Incubator (https://thoughtbot.com/incubator) victori_ousg - Victoria Guido / Twitter (https://twitter.com/victori_ousg?lang=en) Victoria Guido (@vguido@thoughtbot.social) (https://thoughtbot.social/@vguido) Joe Ferris (@joeferris) / Twitter (https://twitter.com/joeferris?lang=en) Joe Ferris (@jferris@thoughtbot.social) (https://thoughtbot.social/@jferris) Sponsored By: Honeybadger (https://www.honeybadger.io/) If you want to simplify your stack, and lower your bills, it's time to check out Honeybager. Honeybadger combines all of those services into one easy to use platform—it's everything you need to keep production healthy and your customers happy. Get started today in as little as 5 minutes at Honeybadger.io (https://www.honeybadger.io/) with plans starting at free!
On today's episode of Remote Ruby, the conversation begins with Jason, Chris and Andrew discussing their experiences with podcasting and how they started. Then, the conversation takes a shift to discussing using the latest version of RubyGems in Bundler, the addition of a new feature called, gem exec, that allows for easy running of executables from gems that may or may not be installed, and more about GemX. Twitter's new algorithm is mentioned, along with someone who leaked Twitter's source code on GitHub. Chris talks about some frustrating experiences with his Rails for Beginner's Course that he's releasing very soon which will be free, and some plans to expand the curriculum. There's a discussion on the challenges of teaching and learning programming, the process of recording tutorials, and Chris shares some tips and tricks for Ruby programming. Ruby is magic, so go make some magic and press download to hear much more! [00:03:18] The guys catch up on what's been happening with work, and Andrew tells us he tried the new gem exec stuff in RubyGems, he explains the new feature, and there's a discussion about the advantages of the new feature and how it works, which ends with a bit of confusion. [00:10:03] Andrew brings up an example and mentions a gem called GemX that people are using.[00:12:09] We hear about a gem Andrew wrote that was printed out a like business card with cool texts in the terminal and how he was inspired by someone in the Node community.[00:14:04] Jason brings up Twitter releasing “The algorithm,” and how someone leaked Twitter's source code on GitHub. [00:17:52] In Chris's world, he tells us how he's been re-recording his Rails for Beginner's Course and his frustrating experience with trying to use Digital Ocean Spaces for image uploading, as well as frustrations with CORS configuration and policy instructions.[00:28:41] Chris and Andrew discuss the challenges of teaching and learning programming, specifically Ruby on Rails. [00:32:15] Chris mentions the upcoming release of a new Rails for Beginner's Course, which will include six hours of Ruby content, and plans to expand the curriculum to include more topics like HTML, CSS, and JavaScript.[00:33:35] Andrew and Chris discuss the process of recording tutorials, which can be time consuming and difficult to balance between explaining concepts and providing practical examples. [00:37:06] Listen here for some tips and tricks from Chris for Ruby programming, including using simple delegator and modules on individual instances of a class. He also talks about a blog post on Thoughtbot and about The Gilded Rose Code Kata. [00:42:28] Jason chimes in saying he's just been writing maintenance task and talks about his struggles with abstractions.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterGemX GoRails[Experimental] Add gem exec command to run executables from gems that may or may not be installed #6309Evaluating Alternative Decorator Implementations in Ruby (Dan Croak-Thoughtbot)Refactoring: The Gilded Rose-Rubies in the RoughRuby Radar TwitterRuby for All Podcast
Every once in a while, it is wise to stop for a second and think about why we do things in a specific way and whether we need to change something. This is where rethinking processes kick in. Today we talk with Stefanni Brasil, a co-founder of hexdevs, a senior developer at Thoughtbot, and a core maintainer of faker-ruby. Stefanni is also a co-host of the hexdevs podcast, a show helping developers take their Ruby career to the next level. She tells us about her keen interest in processes, why they matter, and when the time is ripe to reevaluate them. When you finish listening to the episode, visit Stefanni's blog, check out the Hexdevs website, and listen to the hexdevs podcast. Mentioned in this episode: hexdevs website at https://www.hexdevs.com hexdevs podcast at https://podcast.hexdevs.com Thoughtbot at https://thoughtbot.com/blog Marry Lynn Manns, Linda Rising, Fearless Change, Patterns for Introducing New Ideas at https://www.amazon.com/Fearless-Change-Patterns-Introducing-paperback/dp/0134395255
thoughtbot had an in-person Summit in the UK! Joël recalls highlights. Stephanie is loving daily sync meetings on a new project. The idea of deleting code has been swimming around in Stephanie's brain recently because she's been feeling nervous about it. Together, Joël and Stephanie explore ways of gaining confidence to delete code while feeling good about it. This episode is brought to you by Airbrake (https://airbrake.io/?utm_campaign=Q3_2022%3A%20Bike%20Shed%20Podcast%20Ad&utm_source=Bike%20Shed&utm_medium=website). Visit Frictionless error monitoring and performance insight for your app stack. Thoughtbot summit video (https://www.youtube.com/watch?v=6d7gUq5J-ck) Gather Town (https://www.gather.town/) Sustainable Rails episode (https://www.bikeshed.fm/368) Chelsea Troy on deleting features (https://chelseatroy.com/2021/01/21/reducing-technical-debt/) Unused (https://unused.codes/) elm-review-unused (https://package.elm-lang.org/packages/jfmengels/elm-review-unused/latest/) Transcript: STEPHANIE: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Stephanie Minn. JOËL: And I'm Joël Quenneville. And today, we're here to share a bit of what we've learned along the way. STEPHANIE: So, Joël, what's new in your world? JOËL: I just got back from a few days in the UK, where thoughtbot has been having an in-person Summit, where we've brought people from all over the company together to spend a few days just spending time with each other, getting to know each other, getting to connect in person. STEPHANIE: That sounds like it was a lot of fun. I've been hearing really great things about it from folks who've come back. Unfortunately, I couldn't make it this year. I got sick a little bit beforehand and then ended up not being able to go. But it sounds like it was a lot of fun just to get together, especially since we're now a remote company. JOËL: Yeah, I'm really sorry you weren't able to make it there. It would have been amazing to do a Bike Shed co-hosts get-together. STEPHANIE: I know. In the same room, maybe even record. What a concept. [laughs] JOËL: So thoughtbot is a fully remote company, and so that means that getting a chance to have people to come together and build those in-person connections that you don't get, I think, is incredibly valuable. I was really excited to meet both the people that I work with and that I see on my screen every day and people who I don't talk to as often because they're working on different teams or different departments even. STEPHANIE: What was one highlight of the time you spent together? JOËL: I'll give a couple of highlights, one I think is more on the activity side. We went bouldering as a group. This was a really popular activity. We were trying to sign up people for it, and it was so popular we had to make two groups because there were too many people who were interested. And it was really fun. There are people with a whole variety of skill levels. Some people, it was their first time, some people had been doing it for a while. And just getting together and solving problems was a lot of fun. STEPHANIE: Yes, I saw that. That was one of the things I was really looking forward to doing when I was still thinking that I was going to go. And it's cool that it had opportunities for both beginners and people who have been doing it before, which I think, if I recall correctly, Joël, you are a boulderer yourself back home. So that's pretty neat that you were able to, yeah, I don't know, maybe share some of that experience IRL too. JOËL: Yeah, yeah, I think it's great because people were able to help each other. Sometimes you have a different perspective down on the ground than you do up on the wall. And then, in my case, because I've done it a lot, I know a little bit of actual climbing technique. And so I can give some tips on, like, oh, if you're stuck and you don't know how to get past a particular point, or you don't know how to start a particular climb, or your arms are getting tired halfway up, here's maybe a small change you can make that would make things easier for you. STEPHANIE: Honestly, that also sounds like a really good metaphor for pair programming, [laughs] like, looking at things from different perspectives, you know, someone who's on the wall? I don't know what the lingo is. But it's the equivalent of someone driving in coding, the navigator having a little more perspective and being able to point out things that they might not see that's right in front of them. JOËL: I love that metaphor. Now I'm going to think of that both when I pair and the next time I climb. STEPHANIE: I love it. JOËL: I think climbing, when I do it, it's always more fun with a friend, specifically for what you were saying. I climb alone sometimes, but as much as possible, I'll reach out to another friend who climbs and say, "Hey, let's climb together." And then we can alternate on the same route even. STEPHANIE: That's cool. I didn't realize that it could be such a social activity. JOËL: It is very much a social activity, and I think that's part of the fun of it. It's challenging physically but also mentally because it's a puzzle that you solve. But then also, it's a thing that you do with friends. I think another aspect that was a highlight for me was getting a chance to connect with people from other teams, other departments within thoughtbot. I think one thing that was really nice when we were located in an office is that over lunch, or just at the water cooler, or whatever, you would connect with people who were in other teams and who were in different departments. So I might talk to people in People Ops, or in marketing, in operations just sort of in the natural course of the day in a way that I think I don't do quite as much of now that we're more remote. And I tend to talk more with other developers and designers on my team. So I think that was really great to connect with people from other teams and other departments within the company. STEPHANIE: Yeah, I know what you mean. I think I really miss the spontaneous, organic social interaction that you get from working in an office. And I think we've maybe talked about remote work on the podcast before, or previous co-hosts Steph and Chris have also talked about remote work. But it definitely requires a lot more intention to manifest those connections that otherwise would have been a little more organic in person. And so, while you all were at an in-person summit in the UK, there was also a virtual summit hosted for folks who weren't able to travel this time around, and I really appreciated that. I got to spend a day just connecting with other people in Gather Town, which is a web app that's like a virtual space where you have little avatars, and you can run around and meet up with people into virtual meeting rooms on this map. [laughs] I'm not really sure I'm describing it well, but it's very cute. It is almost like a little video game. It's like a cross between a video game and video conferencing [chuckles] software. But yeah, I think I just really appreciated how inclusive thoughtbot has been doing remote work where, like, yes, we really value these in-person gatherings, and we understand that there is a bit of magic that comes from that, but also making sure that no one's left out. And at the end of the day, not everyone can make it, but we were still able to hang out and socialize amongst ourselves in a different way. JOËL: Agreed. I think that inclusivity is part of what makes thoughtbot such a great place to work at. STEPHANIE: Speaking of inclusivity, I mentioned a few weeks ago that I joined a new project recently and had been going through the onboarding and hopping into all these new meetings. One thing that I've really enjoyed about this new client team that I'm on is that in their daily sync meetings, we all share what we're working on. But we also all share something that's new to us, which is a little bit meta because we do that on this podcast. [laughs] But each person just shares maybe something they learned at work but also usually something just totally not work related like a new show that they're watching. There's another person on my team who learns a lot of things from YouTube videos. And so he's always telling us about the new thing he learned about, I don't know, like mushrooms or whatever, or AI [laughs] through YouTube. And yeah, someone else might show a sweater that they just knit themselves. And it's been a very easy way to get to know people, especially when you're meeting a whole new team. And yeah, I've been enjoying it a lot. It's made me feel very welcome and like I know them as people outside of work. JOËL: I love that. Yeah, they're more than just people you're shipping code with. You're able to build that connection. And it sounds like that helps smooth the...maybe we can say the social aspect of onboarding. Because when you onboard onto a project, you're not just onboarding onto a series of codebases and tools; you're also onboarding onto a team, and you need to get to know people and build relationships. STEPHANIE: Yeah, absolutely. MID-ROLL AD: Debugging errors can be a developer's worst nightmare...but it doesn't have to be. Airbrake is an award-winning error monitoring, performance, and deployment tracking tool created by developers for developers that can actually help cut your debugging time in half. So why do developers love Airbrake? It has all of the information that web developers need to monitor their application - including error management, performance insights, and deploy tracking! Airbrake's debugging tool catches all of your project errors, intelligently groups them, and points you to the issue in the code so you can quickly fix the bug before customers are impacted. In addition to stellar error monitoring, Airbrake's lightweight APM helps developers to track the performance and availability of their application through metrics like HTTP requests, response times, error occurrences, and user satisfaction. Finally, Airbrake Deploy Tracking helps developers track trends, fix bad deploys, and improve code quality. Since 2008, Airbrake has been a staple in the Ruby community and has grown to cover all major programming languages. Airbrake seamlessly integrates with your favorite apps to include modern features like single sign-on and SDK-based installation. From testing to production, Airbrake notifiers have your back. Your time is valuable, so why waste it combing through logs, waiting for user reports, or retrofitting other tools to monitor your application? You literally have nothing to lose. Head on over to airbrake.io/try/bikeshed to create your FREE developer account today! JOËL: So you've been...is it two weeks in a new codebase? Have you gone and deleted any code yet? STEPHANIE: I wish. I am glad you asked this question because this has been a topic that has been swimming around in my head a little bit lately because this new client codebase it's very big and it's quite old. Like, I've been seeing code from 10 years ago. And it's been a really challenging codebase to get onboarded into, actually, because there's so much stuff. In fact, I recently learned that some of their model specs are so big that they have been split out into up to seven different files to cover specs for one model. [laughs] So that has been a lot to grapple with. And I think in my journeys working on a starter ticket, I've just stumbled upon stuff that is very confusing. And then I might follow that thread only to realize that, like, oh, this method that I spent 20 minutes trying to grok turns out it's not actually used anywhere. JOËL: That's a lot of dead code. STEPHANIE: It is a lot of dead code, but I am also not quite feeling confident enough to delete it because I'm new, because I have no idea what consequences that might have. So, yeah, the idea of deleting code has just kind of been swimming around in here because ideally, we would be able to, but, for some reason, I don't know, at least for me, I feel very nervous about it. So it hasn't been something that I've reached for. JOËL: That's a great question because I think in maybe Ruby, in particular, it's not always obvious if code is being used or not. When you do find yourself deleting code, how do you gain the confidence that it was safe to delete that? STEPHANIE: Yeah, that's a good question. In the past, when I've done it successfully, I'll probably post a Slack message or something and being like, hey, I noticed this code is not being used anywhere, or I'd like to delete it because why, like, I don't know, because it's been misleading me because it's just not providing any value. And then kind of give it like a day or two, and if no one speaks up about it, then I will usually go ahead. And obviously, get some code review, hopefully, get some other eyes on it just to make sure that whatever assumptions I made were valid, and then go for it. And then just watch [laughs] the deployment afterwards and make sure that there are no new errors, you know, no new complaints or anything like that. And, yeah, I think that has been my process, and I've definitely found success doing that. But I have also experienced a bad result [laughs] from doing that where one time, on my last client project, we were refactoring the signup flow. And we realized that after you signed up, you were redirected to this blank page for like 10 seconds or something. It was completely empty. There was nothing on it except a spinner, I think. [laughs] And then it would then redirect you to the dashboard of the app. And we were like, oh, we can definitely delete this. We have no idea what this is doing. We don't want to try to refactor this as part of the effort that we were doing. And so we deleted it, only to find out later from the marketing team that they had been using that page for something Google Analytics related, and we had to revert that change. And it was a real bummer because I think when we removed it, we felt good about that. We were like, oh yes, deleting code, awesome. And then having to bring it back without a clear plan of how to actually fix the problem that we were trying to solve was a bit of a bummer. JOËL: So, as programmers, we're hired to write code. Why does it feel so good to do the opposite of that, to delete code? STEPHANIE: That's a great question. I actually want to know what you think about this, but before that, I wanted to plug this Slack channel that we have at thoughtbot called Dead Code Society, where people can post their PR diffs showing more red than green, so more lines removed than lines added. And I have been really enjoying that Slack channel. It's very delightful. [laughs] But, Joël, do you have any thoughts about why it feels so good to delete code? JOËL: There are probably a few different reasons. Especially when it's not your own code, you're often not attached to it. There's often, I think, the sense when you go into an existing codebase you're just like, oh, everything's just bad, and I don't understand it. And those other coders who wrote this didn't know how to do their job and kind of be the curmudgeon character. So it just kind of feels good to remove that and maybe rewrite it yourself. I would say that's not a good mindset to go in for deleting code. I think there are positive ways where it is actually a good thing. STEPHANIE: That's fair. Just removing code because you would write it differently is not necessarily a net positive. [laughs] JOËL: But I think...so when I initially asked the question, I said, "We're hired to write code." And I think that's a bit of a false assumption built into the question. We're not hired to write code. We're hired to solve problems, to build solutions. And as much as code can be an asset in solving problems, it's also a liability. And code has varying maintenance costs that are typically not low. They vary from expensive to very expensive. And so any chance we get to remove some of that, we're removing some of the carrying costs, to use a term that we discussed a few episodes back when we talked about sustainable Rails. STEPHANIE: Yeah, absolutely. One thing that I remember you sharing about the client project that we're both on in the past is they have a very cumbersome test suite. And in some situations, you have wanted to advocate for deleting some of those tests. JOËL: Deleting tests is a really, I think, spicy take because you're trying to get better test coverage. And if your test coverage isn't great, you don't want to lose any of that. So there's definitely a loss aversion there, and we might need it later. At the same time, tests have a cost, cost to run, cost to maintain. And if they're not providing a lot of value, then the cost of keeping them around might be higher than any kind of benefit they're giving you. And I think a classic case of this is tests that have either been marked pending in the codebase with an exit or something like that or that have been marked in your CI server as muted; just ignore failures from this test. Because now you're still having to maintain, still having to execute these tests. They're costing you time, but they're giving you zero benefit. And they're just taking up space in your codebase, making it harder to read. So if you can't get these tests back into the point where they're actually executing, and you're caring about the output, then you probably don't need those tests, and they can be removed. STEPHANIE: Yeah, that's fair. I'm thinking about the perspective of someone who does not want to delete those tests. I think in the past, I've seen it and even felt it myself as someone who probably wrote the tests, kind of hoping for some ideal world where I will finally have time to go back to that test. And I already put a lot of effort into trying to make it work, and I want to make it work. I want to have the value of that test. And it's kind of like a sunk cost fallacy a little bit where it's like, I already spent however much time on it that it must have some kind of value. Because just hearing that someone else wants to delete the test can kind of hurt a little bit. [laughs] And it's tough. I do think that it's easier for someone with an outside perspective to be like, "Hey, this test is costing more than the value that it's providing." But yeah, I can see why people might have a little bit of pushback JOËL: Sometimes, the value of a test is also in the journey rather than the destination. STEPHANIE: Yeah, that's a good point. JOËL: So if you're practicing TDD, maybe you use some tests to help you drive out some functionality, help you come up with a design that you want to do. But maybe once you've actually created the design, the test that helped you get there is not actually that useful. I've heard some people will do this by writing a lot of more system tests-like tests that are very integration-heavy, that have a lot of edge cases that you might not care to test at that level, at that granularity. And so they use those to help drive a little bit of the implementation and then remove them because they're not providing that much value relative to their cost anymore. STEPHANIE: I think that's a really good point. The tests that you write for implementation can have value to you as a developer, but that's different from those tests having value to the business when you commit them to a codebase and incorporate them as part of CI and a CI that everyone else has to run as well. So yeah, I think in that case, the context definitely matters. And hopefully, you can feel good about the value that it provided but then also have that eye towards, okay, what about the business, and what values does the business have? JOËL: Yeah, and accept that the test did the job that it was supposed to do. It got you to where you needed to be, and it completed its purpose. And now it's ready to move on. STEPHANIE: Another thing that I recently read about deleting code...and this was from Chelsea Troy. She advocates for regularly evaluating features in an app and deciding whether they're providing enough value to justify keeping around and maintaining for developers as well. And I thought that was really interesting because I don't know if that's something that I'd really considered before that sometimes an app might outgrow some features, or they might not be worth keeping around because of the problems or the maintenance costs that they carry into the future. JOËL: That's fascinating because I think you're taking the same analysis we were talking about tests and then kind of like bringing it up now to the product level. Because now, we're not just talking about deleting code; we're talking about deleting functionality that a product might have. STEPHANIE: I think the challenge there is that the effects of the carrying cost of a feature is not necessarily felt by the business stakeholders, or product folks, or people operating at a higher level, but it is felt by developers. If there's a bug that's come up from this old feature, and oh, I have never seen this feature before, and now I have to spend a day learning about what this thing is before I can fix the bug. It did feel like a radical idea that maybe developers can play a part in advocating for some features to be retired, that is, you know, maybe separate from how products thinks about those things. JOËL: I think in order to be able to make those decisions or really just to be part of those conversations, the dev side needs to be really integrated with the product team and with larger business objectives. And so then you can say, look, if we take a week of one developer's time to provide the support this feature needs and we have one customer paying $20 a month for it, that's not a good business prospect. Now, is this strategically an area that we're trying to grow? And so yeah, we're doing it for one customer, but we're hoping to get 100 by the end of the year, and then it will be worth it. Then yes, maybe we keep that feature around. If this is the thing, like, we experimented for a few weeks five years ago, and then it's just kind of hang around as a legacy thing that this one person knows about and uses, then maybe it's worth saying, look, this has a high business cost. It might be worth sunsetting that feature. But it's a conversation that everybody needs to be involved in. STEPHANIE: Yeah, yeah. I like the idea of it being something more proactive versus, I don't know, something that I think I've seen at other orgs and just in general as a person who uses digital products, like, a feature or a product, just kind of dying. And probably the organization just wasn't able to find a team to continue to support it, and it just kind of kept being this burden. And then, eventually, it just was something that they had to let go. But then, at that point, you had already spent all of that time, and effort, and energy into figuring out what to do with this thing. Whereas the approach that Chelsea is advocating for is more realistic, I think, about the fate of [laughs] software products and features. And as a developer, I would get that feeling of deleting [laughs] code that is so satisfying. And I'm just not burdened by having to deal with something that is not providing value, like cumbersome tests. [laughs] JOËL: I think it's always the fundamental thing that you have to go back to when you're talking about deleting code, or features, or anything is that sort of cost-benefit analysis. Does this thing provide us any value? And if so, does that value outweigh the cost of the work we need to do to maintain it? And in the case of dead code, well, it's probably providing zero value, but it's imposing a cost, and so we want to remove it. In the case of a test that is not muted or pending, then maybe it does provide some value. But if it's really brittle and constantly breaking, and it's costing us many hours of fixing time, then maybe it's not. If we can't find a way to fix it and make it more valuable because sometimes it's the other option, then it might be worth considering deleting it. Have you ever, on a codebase, taken some time to actually seek out code that could be deleted as opposed to just sort of stumbling onto it yourself? STEPHANIE: That's a good question. I think I have not just explored a codebase just looking for stuff to delete, but I have...maybe if you had something under a feature flag and you no longer needed the flag because it was released to everyone, you know, going back to delete it because you specifically made a ticket to make sure that you went back and cleaned that up. I do really appreciate the tracking of that work in that way and just making sure you're like, hey, I want to avoid a situation where this becomes dead code. And even just making a card for it is putting that intention out there. And hopefully, someone, if not yourself, we'll take that on because it's important. JOËL: Yeah, kind of proactively trying to make sure that the work that you've done doesn't become dead code, that it gets pruned at the appropriate moment. STEPHANIE: What about you? I'm curious from your perspective as an individual contributor when you are just moving through a codebase, and you see something suspiciously [laughs] looking like dead code what you do with it. JOËL: I often like to split out a small PR just to remove that if it's not too much work and it's semi-related to what I'm doing. I'd like to give a shout-out to two tools that can help detect or confirm that something is dead code. One is Unused, written by former thoughtboter Josh Clayton. It uses, I think, Ctags under the hood to track all the tokens in an app and then tries to determine are there tokens that are orphaned, that are isolated, and are not used? And it can then build you a report. And that can be good if you're doing a code audit of a codebase or if you're looking to confirm that a piece of code that you're working on might not be, like, is it actually used or not? Another one is elm-review-unused, which is a plugin for elm-review which is Elm's linter, kind of like RuboCop. And what's really nice there is because it reads the AST, and Elm functions don't have side effects. You know that if something is not reachable from the main function that, it is completely safe to remove. You've run the script, and it will delete a bunch of functions for you that are unused, and it's 100% safe. And it is very thorough. It finds all of the dead code and just removes it. It's practically just a...it's not a button because it's a script that you run but that you can automate to run on commit or whatever on the CI. But yeah, that's an amazing experience to just have it auto clean-up for you all the time. STEPHANIE: That's really cool. I like that a lot. I think that would be really nice to incorporate into your development workflow, like you said, that it's part of the linting system and just keeping things tidy. JOËL: Yeah, I think it's a little bit harder to have something that's quite as thorough for a Ruby or Rails app just because it's so dynamic, and we've got all this metaprogramming. But yeah, maybe this would be a thing where you would want to run something like Unused or some other linting tool every now and then to just check; hey, do we have any dead code that can be removed? STEPHANIE: Yeah, absolutely. And I think this is totally a little bit different because we're just talking about tools, but I'm also thinking of red flags on a team level where I have definitely asked in a Slack channel, "Hey, I've never seen this feature before. What does it do?" and just crickets. [laughs] And even the product folks that I'm working with, they're like, "I don't know. It predates me," that being a bit of a smell, [laughs] if you will, to reevaluate some of those things. And those flags can exist on many different levels. JOËL: That's always terrifying because you're like 80% sure that this is dead code, but there's like a 20% chance that this powers the core of the app, but nobody's touched it in 10 years. STEPHANIE: Yeah, it is very scary. [laughs] JOËL: Hopefully, your test suite is good enough that if you comment out that function and then you run your test suite, that it just all goes red, and you know that that's actually needed for something. STEPHANIE: Yeah, though I think sometimes you might remove a piece of dead code, and there are some issues afterwards, and you find out, and you just revert it, and it's fine. At the end of the day, there are a lot of safeguards in place, and we've all done it. And so I think normalizing it is also very important in that it's okay if sometimes you make a mistake there. JOËL: Stephanie is giving you permission to go and delete that code today. Ship it to production, and if something breaks, it's okay. STEPHANIE: [laughs] JOËL: You can revert it. Hopefully, your company is set up where reverting commits from production is a cheap and easy thing to do, and life goes on. So I'm curious, Stephanie, have you ever gone into GitHub and checked your stats on a project to see if you're more red than green or what that ratio is for you on a given project? STEPHANIE: I have. Actually, someone else did on my behalf because I was posting a lot in that Dead Code Society Slack channel. And they then shared a screenshot of my overall contributions to a repo, and it was more red than green. I felt pretty good about myself. [laughs] JOËL: All right. Net negative but in a positive kind of way. STEPHANIE: In a positive way. [laughter] JOËL: On that note, shall we wrap up? STEPHANIE: Let's wrap up. [laughs] Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeee!!!!!!! ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com.
2023-01-17 Weekly News - Episode 180Watch the video version on YouTube at https://youtu.be/eHXm3DA9Jzk Hosts: Eric Peterson - Senior Developer at Ortus Solutions Dan Card - Senior Developer at Ortus Solutions Thanks to our Sponsor - Ortus SolutionsThe makers of ColdBox, CommandBox, ForgeBox, TestBox and all your favorite box-es out there. A few ways to say thanks back to Ortus Solutions: Like and subscribe to our videos on YouTube. Help ORTUS reach for the Stars - Star and Fork our ReposStar all of your Github Box Dependencies from CommandBox with https://www.forgebox.io/view/commandbox-github Subscribe to our Podcast on your Podcast Apps and leave us a review Sign up for a free or paid account on CFCasts, which is releasing new content every week BOXLife store: https://www.ortussolutions.com/about-us/shop Buy Ortus's Books 102 ColdBox HMVC Quick Tips and Tricks on GumRoad (http://gum.co/coldbox-tips) Learn Modern ColdFusion (CFML) in 100+ Minutes - Free online https://modern-cfml.ortusbooks.com/ or buy an EBook or Paper copy https://www.ortussolutions.com/learn/books/coldfusion-in-100-minutes Patreon Support ( distinguished )Goal 1 - We have 42 patreons providing 100% of the funding for our Modernize or Die Podcasts via our Patreon site: https://www.patreon.com/ortussolutions. Goal 2 - We are 37% of the way to fully fund the hosting of ForgeBox.io New Releases and Updatesqb 9.0.0-beta.1 ReleasedLots of great features and bug fixes SQLite Grammar (Thanks to Jason Steinshouer) SQLCommenter Support (https://google.github.io/sqlcommenter/) Many bug fixes and performance improvements The docs are currently being updated: https://qb.ortusbooks.com/v/9.0.0/whats-newWebinar / Meetups and WorkshopsOrtus Event Calendar for Googlehttps://calendar.google.com/calendar/u/0?cid=Y181NjJhMWVmNjFjNGIxZTJlNmQ4OGVkNzg0NTcyOGQ1Njg5N2RkNGJiNjhjMTQwZjc3Mzc2ODk1MmIyOTQyMWVkQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20 Ortus Fridays are back in Full Effect in 2023 ICYMI - Ortus Office Hours - Jan 6th, 2023 - 11 AM CST Ortus Webinar - Jan 20th 2023 - CBWIRE Coding Session - Let's build an app with CBWIRE with Grant Copley - 11 AM CST Koding with the Kiwi - Jan 27th, 2023 - 2 PM CST Ortus Office Hours - Feb 3rd, 2023 - 11 AM CST Software Craftsmanship Book Club - Feb 10th, 2023 - 2 PM CST (Patreon exclusive) ICYMI - Mid Michigan CFUG - Adobe's Ray Camden will be presenting Intro to Alpine.jsAlpine calls itself the jQuery for the modern web. So if you're not ready to move to React or Vue you many want to give it a serious look. They've also done the behind the scenes work to integrate it with charting programs, online rich text editors and online calendars.If you're unable to make the livestream we will make Ray's presentation available on our YouTube channel at a later date. https://youtube.com/@CFMLView Recording on Youtube: https://youtu.be/cW6CyxxRAzQ CFCasts Content Updateshttps://www.cfcasts.comRecent Releases ITB 2022 - All videos released to subscribers - 30+!!!! 2022 ForgeBox Module of the Week Series - 1 new Video https://cfcasts.com/series/2022-forgebox-modules-of-the-week 2022 VS Code Hint tip and Trick of the Week Series - 1 new Video https://cfcasts.com/series/2022-vs-code-hint-tip-and-trick-of-the-week Coming Soon Brad with more CommandBox Videos More ForgeBox and VS Code Podcast snippet videos ColdBox Elixir from Eric Getting Started with ContentBox from Daniel Box-ifying a 3rd Party Library from Gavin Conferences and TrainingCF Summit Online All the webinars, all the speakers from Adobe ColdFusion Summit 2022 – brought right to your screen. All sessions will soon be streamed online, for your convenience. Stay tuned for more! ICYMI - MODERNIZING THROUGH EVOLUTION NOT REVOLUTIONGuust NieuwenhuisJanuary 10, 2023 | 15:00 - 16:00 EST (1 hour)Our company has grown over a quarter of a century, and across those years we have matured as developers and IT companies, refining both our tools and practices to a degree that the past seems hardly recognizable. Counter to this are the inevitable compromises, products of constrained timeframes, limited client budgets or strained resources. Projects inevitably lean more towards growth and depth than general modernization, to the point that they become difficult to maintain. So, what happens when the bugs add up and the monster emerges? Refactor? Rewrite from scratch? We've been involved in many such projects, internally and inherited both, and have learned there is no simple answer to the question “how do we move forward?” Through case studies and anecdotes I will explain what to look out for, from both a technical and business perspective.https://www.youtube.com/watch?v=hIZ0S-4WxDUICYMI - EASIER API DEVELOPMENT AND TESTING - USE POSTMAN, WEBHOOK.SITE, AND NGROK TO ENHANCE YOUR WORKFLOWDaniel GarciaJanuary 12, 2023 | 12:00 - 13:00 EST (1 hour)Postman, Webhook.site, and ngrok are great tools that can really enhance your API development and testing workflow. PostMan is a cross-platform API Testing Tool with lots of awesome features, Webhook.site allows you to easily inspect, test, and automate any incoming HTTP request or e-mails, and ngrok enables you to expose a web server running on your local machine to the internet. These are must-have tools for any API developer (either creating or consuming). In short, these tools solve problems and best of all, they all have free versions which allow you to be very productive. My goal is that after this conference, you will start using at least one, if not all three, tools when you get home. I'm not saying using these tools will be life-changing, but I am also not not saying that eitherhttps://www.youtube.com/watch?v=uBgYHzPxDCsICYMI - LEVERAGING AI / COGNITIVE SERVICES VIA COLDFUSIONMichael HayesJanuary 17 | 12:00 - 13:00 pm EST (1 hour)Azure Cognitive Services is API that leverages AI and Machine Learning to provide capability such as Sentiment Analysis, Entity Recognition, Auto Translator, Text to Speech, speech translation, and many more. All this would be written in ColdFusion 2021 of course and a GIT repo of the code will be shared with the community. There may be a secondary package that will be shared that would convert PostMan / Swagger collections to ColdFusion for rapid development via API's.SPREADSHEET MAGICKevin WrightJanuary 19 | 12:00 - 13:00 pm EST (1 hour)Microsoft Office is the 'de facto' standard in most business environments. In this session we will look at different ways of integrating with one of the most used applications of the MS office suite, Excel. Come learn how to create, access and manipulate spreadsheets programmatically with the CFSPREADSHEET tag in ColdFusion. We will go beyond basic read and write features, and will delve into more advanced techniques like working with formulas and formatting, and creating multiple sheets. We will also look at examples of more complex types of spreadsheets by using lookups and even creating and embedding dynamic charts. FORMAT: Presentation with slides / live code reviewOPPORTUNITIES FOR BLOCKCHAIN TECHNOLOGY AND NFTS IN THE REAL WORLDMasha Edelen and Nick JuntillaJanuary 24 | 14:00 - 15:00pm EST (1 hour)Understanding the value and practical use cases of Non-Fungible Tokens in modern business applications. Learn how to get started using the blockchain and building your Web 3 strategy.Website for CF Summit Onlinehttps://cfsummit-online.meetus.adobeevents.com/ VUE.JS NATION CONFERENCEJanuary 25th & 26th 2023https://vuejsnation.com/ VUEJS AMSTERDAM 20239-10 February 2023, Theater AmsterdamWorld's Most Special and Largest Vue ConferenceCALL FOR PAPERS AND BLIND TICKETS AVAILABLE NOW!https://vuejs.amsterdam/ VueJS Live MAY 12 & 15, 2023ONLINE + LONDON, UKCODE / CREATE / COMMUNICATE35 SPEAKERS, 10 WORKSHOPS10000+ JOINING ONLINE GLOBALLY300 LUCKIES MEETING IN LONDONhttps://vuejslive.com/ Dev NexusApril 4-6th, 2023 in AtlantaGeorgia World Congress Center285 Andrew Young International Blvd NWAtlanta, GA 30313https://devnexus.com/ No Ortus speakers this year. :-(Into the Box 2023 - 10th EditionMay 17-19, 2023 The conference will be held in The Woodlands (Houston), TexasThis year we will continue the tradition of training and offering a pre-conference hands-on training day on May 17th and our live Mariachi Band Party! However, we are back to our Spring schedule and beautiful weather in The Woodlands! Also, this 2023 will mark our 10 year anniversary. So we might have two live bands and much more!!!Still time - call for speakers for the Into The Box Conference for 2023 is open until Jan 31sthttps://www.intothebox.org/blog/into-the-box-2023-call-for-speakers https://itb2023.eventbrite.com/ CFCamp is backJune, 22-23rd 2023Marriott Hotel Munich Airport, FreisingCall for Speakers is now open!https://www.papercall.io/cfcamp2023https://www.cfcamp.org/More conferencesNeed more conferences, this site has a huge list of conferences for almost any language/community.https://confs.tech/https://github.com/scraly/developers-conferences-agenda Blogs, Tweets, and Videos of the Week 1/13/23 - Blog - Ben Nadel - Testing Performance Overhead Of Creating Java Classes In Lucee CFMLOne of the most powerful features of ColdFusion is the fact that it is built on top of Java; and, at any time, we can reach down into the Java layer for additional functionality. The typical way in which we do this is to call createObject("java") and pass in a Java class name. Historically, I've tended to cache the returned Java class value, operating under the assumption that createObject() had a lot of overhead. But, I don't think I ever based this assumption on any concrete evidence. As such, I wanted to perform a trite performance exploration regarding the createObject() function in Lucee CFML.https://www.bennadel.com/blog/4387-testing-performance-overhead-of-creating-java-classes-in-lucee-cfml.htmUpdates about using `createObject` with 3rd-party jars:https://luceeserver.atlassian.net/browse/LDEV-2952https://luceeserver.atlassian.net/browse/LDEV-4064 1/15/23 - Blog - Ben Nadel - Overriding Form Submission Properties Using Button Attributes In Native HTMLFor the last few weeks, I've been [very slowly] looking into the Hotwire framework from Basecamp. One of the guiding principles of Hotwire seems to be, "HTML has a bunch of great stuff, let's use it!" Case in point, I was reading through a Thoughtbot article on rendering live previews by Sean Doyle when I saw something that I had never seen before: submit buttons with form "action" and "method" attributes. Apparently, this has been supported by browsers going back to IE 10; but, since I've never seen it before, I wanted to try it out for myself in ColdFusion.https://www.bennadel.com/blog/4389-overriding-form-submission-properties-using-button-attributes-in-native-html.htm 1/14/23 - Blog - Ben Nadel - CUID2 For ColdFusion / CFMLA couple of years ago, I built a ColdFusion port of the CUID library which we've been using successfully at InVision. The CUID library provides collision-resistant IDs that are optimized for horizontal scaling and performance. Just recently, however, Eric Elliott released Cuid2 - an updated version of the library intended to address some philosophical security issues. I wanted to create a ColdFusion port of his new Cuid2 library.https://www.bennadel.com/blog/4388-cuid2-for-coldfusion-cfml.htm 1/16/23 - Blog - Ben Nadel - Dynamically Instrumenting ColdFusion Component Methods With GetTickCount() To Locate Performance BottlenecksColdFusion is a highly dynamic language. Which means, we can perform all manner of runtime mutations and reflections on our data structures and components. In fact, I've talked about this concept many times before, from applying StatsD metrics to creating tracked transactions in FusionReactor to adding retry logic around database access calls. All of these approaches use a variation on the same theme: generating proxy methods that add logic around lower-level component method execution. And today, in an effort to identify the performance bottlenecks in my CUID2 for ColdFusion implementation, I'm doing it again!https://www.bennadel.com/blog/4390-dynamically-instrumenting-coldfusion-component-methods-with-gettickcount-to-locate-performance-bottlenecks.htmComment about performance on Ben's last post: https://www.bennadel.com/blog/4388-cuid2-for-coldfusion-cfml.htm#comments_54105 CFML JobsSeveral positions available on https://www.getcfmljobs.com/Listing over 39 ColdFusion positions from 25 companies across 22 locations in 5 Countries.4 new jobs listed this weekFull Time - Cold Fusion Developer (REMOTE) - NASA Houstonhttps://jobs.smartrecruiters.com/MoriAssociates/743999877816700-cold-fusion-developer-remote-nasa-houston?trid=463ac537-35c8-4256-8fe4-47ea285de0a6Full-Time - ColdFusion Developer at Remote - United Kingdom Jan 11https://www.getcfmljobs.com/jobs/index.cfm/united-kingdom/ColdFusion-Developer-at-Remote/11544Full-Time - Web/ColdFusion Developer at isummation technologies - India Jan 14https://www.getcfmljobs.com/jobs/index.cfm/india/WebColdFusion-Developer-at-India/11545Full-Time - Middle ColdFusion Developer at EPAM Systems - India Jan 17https://www.getcfmljobs.com/jobs/index.cfm/india/Middle-ColdFusion-Developer-at-India/11546Other Job LinksOrtus Solutionshttps://www.ortussolutions.com/about-us/careers South of Shasta - https://southofshasta.com/blog/cfml-developer-wanted/ There is a jobs channel in the CFML slack team, and in the Box team slack now tooForgeBox Module of the Weekqb 9.0.0-beta.1Lots of great features and bug fixes SQLite Grammar (Thanks to Jason Steinshouer) SQLCommenter Support (https://google.github.io/sqlcommenter/) Many bug fixes and performance improvements The docs are currently being updated: https://qb.ortusbooks.com/v/9.0.0https://www.forgebox.io/view/qb/version/9.0.0-beta.1VS Code Hint Tips and Tricks of the WeekZen ModeZen Mode lets you focus on your code by hiding all UI except the editor (no Activity Bar, Status Bar, Side Bar and Panel), going to full screen and centering the editor layout. Zen mode can be toggled using View menu, Command Palette or by the shortcut `⌘K Z`. Double `Esc` exits Zen Mode.https://code.visualstudio.com/docs/getstarted/userinterface#_zen-modeThank you to all of our Patreon SupportersThese individuals are personally supporting our open source initiatives to ensure the great toolings like CommandBox, ForgeBox, ColdBox, ContentBox, TestBox and all the other boxes keep getting the continuous development they need, and funds the cloud infrastructure at our community relies on like ForgeBox for our Package Management with CommandBox. You can support us on Patreon here https://www.patreon.com/ortussolutionsDon't forget, we have Annual Memberships, pay for the year and save 10% - great for businesses. Bronze Packages and up, now get a ForgeBox Pro and CFCasts subscriptions as a perk for their Patreon Subscription. All Patreon supporters have a Profile badge on the Community Website All Patreon supporters have their own Private Forum access on the Community Website All Patreon supporters have their own Private Channel access BoxTeam Slack Live Stream Access to streams like “Koding with the Kiwi + Friends” and Ortus Software Craftsmanship Book Club https://community.ortussolutions.com/ Top Patreons ( distinguished ) John Wilson - Synaptrix Tomorrows Guides Jordan Clark Gary Knight Mario Rodrigues Giancarlo Gomez David Belanger Dan Card Jeffry McGee - Sunstar Media Dean Maunder Nolan Erck Abdul Raheen You can see an up to date list of all sponsors on Ortus Solutions' Websitehttps://ortussolutions.com/about-us/sponsors Thanks everyone!!! ★ Support this podcast on Patreon ★
Chad Pytel began freelancing as a developer in high school and continued throughout college to make ends meet. Later he joined a startup that failed quickly and led him to form a new company with the team he built. He founded thoughtbot, an end-to-end product development and design consultancy. thoughtbot aims to bring a company's idea to life and eventually give them the tools to have their own development team. In this episode, Chad tells us about his journey in zeroing in on a niche and realizing the necessity of saying “no” to certain prospective clients. Carol and Chad discuss strategies for gaining business and how Covid affected thoughtbot and its ability to stand out. You'll also hear about Chad's journey when growing the company from a small team to now a workforce of over 100 employees and the fear he had of becoming a large organization. Learn more about Chad Pytel and thoughtbot. You can find more information on all our episodes at Vertical Elevation, and you can find Carol on LinkedIn, Twitter, and Instagram.
Welcome to the Woman in Tech Series from the Global Tech Leaders Podcast. Today we are speaking to Kirsten Hurley Managing Director at Thoughtbot, helping make product teams a success. She has a background in professional services and business development. We kick off by asking Kirsten to share her career journey and what has led her to where she is today. Steered into journalism. Always been interested in psychology and communication. Student debt. Technology evolving. Computer literacy. We ask Kirsten what makes her successful in sales. Empathy. Love understanding what makes people tick. Genuinely interested. Consideration and benefit of the doubt. Prompt you can coach people on. Then we ask Kirsten what advice would she give young women wanting to get into technology sales. What company does something that you think is sexy and innovative? Exceeding targets. You doing well, so stay there. Weaknesses in your skillset. Unconscience bias. Valued for contribution. Make an impact even in the background. Living the values. Next, we ask Kirsten to share what Thoughtbot is and why are things exciting over there. 20-year anniversary next year. They build web and mobile applications. Team of designers and developers. Opensoucre technology. Just over 100 people globally. From the US to London. Remote working company. Diversify their talent pool. Build better products. Then we ask Kirsten what a diverse team has brought to the business. Translations. Fixed addresses. No landlines and more mobile phones. Geographically diverse. Next, we ask Kirsten more about her role and how many people she takes care of. 25 people Directors and Product Manager. 5 designers and others are developers. She is responsible for sales. Always has a team member in those sales meetings. The marketing team works closely with her. A lot of inbound communities. We ask Kirsten how one gets into leadership. Coaching realm. Skillsets to be nurturing. Learn from advice. Then we ask Kirsten, does she have a tool that is key to keeping her organised. A pen and paper lady. Prioritising a to-do list. --- Send in a voice message: https://anchor.fm/gloabl-tech-leaders/message
Geronda Wollack-Spiller is the DEI Program Manager at thoughtbot. Chad talks with Geronda about implementing a successful Diversity, Equity, and Inclusion program at the company by providing a culture of belonging, the challenges, in particular, the tech industry faces, and acknowledging that many of us work in spaces where when we're bringing someone onto a team who has underrepresented identities, they might be the only one. How do we create a space that's as inclusive as possible? Diversity, Equity, and Inclusion at thoughtbot (https://thoughtbot.com/playbook/our-company/diversity-equity-and-inclusion) Follow Geronda on Twitter (https://twitter.com/gerondaws) or LinkedIn (https://www.linkedin.com/in/gerondawollack/). Follow thoughtbot on Twitter (https://twitter.com/thoughtbot) or LinkedIn (https://www.linkedin.com/company/150727/). Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: CHAD: This is the Giant Robots Smashing Into Other Giant Robots Podcast, where we explore the design, development, and business of great products. I'm your host, Chad Pytel. And with me today is Geronda Wollack-Spiller, the DEI Program Manager at thoughtbot. Geronda, thank you so much for joining me. GERONDA: Thank you for having me. I appreciate it. CHAD: In honor of Pride Month, we're doing something extra special for this episode in addition to just having you as an extra special guest. We're recording live in front of thoughtbot remotely. We've got a whole bunch of people watching. I can hear them cheering off in the distance for you as you make your debut on the podcast. GERONDA: [laughs] CHAD: Thanks for joining me. GERONDA: Thank you. Nice. [laughs] CHAD: So you joined thoughtbot as our first ever DEI program manager back...when was it? GERONDA: Oh, April, yeah, April fourth. CHAD: It's been a whirlwind few months. Thank you already for all of the contributions that you've made to the company already. GERONDA: Oh, thank you. No problem. CHAD: Tell us a little bit about your role. And then I can provide some fill-in terms of what we were thinking when we added this. But let's start with sharing a little bit about your role. GERONDA: A lot of my role is about...so it's a lot of understanding the processes that we have, people operations processes, and really thinking about how do we provide more of a...or improve our ability to provide a culture of belonging. And so a lot of what I do is I will partner across with people operations, and I'll look at things like promotions, and who are we promoting? Who are we hiring? Improvements to performance management processes. How are we giving feedback? Who are our managers? And a lot of what I'll do, too, is execute against the goals that were set by our DEI Council before I had joined, which the council is great. And I'll look to see are there different ways that we should be looking at goals? So one of the things that I'm doing right now is I'm building out a multi-year roadmap for DEI. And I'm incorporating a lot of the goals that the council has already put together, which has been super great. And I want to create a space that feels like a safer or brave space for anyone to come to me with concerns, questions, suggestions. And I partner a lot with different groups to be able to understand their needs and make sure that we are voicing and amplifying historically marginalized groups but also providing a lot of the education around what DEI means and how we can do that in our everyday jobs. So I am co-chair of the DEI Council. I support that council to take on different projects, build out task force, work with everyone across the company to contribute, and infuse diversity, equity, and inclusion within the company. So that's a lot of what I do. [laughs] Other things involved, but that gives you kind of a high level of my role. CHAD: Yeah, that's great. I've talked before on the show about the DEI Council in a few different episodes, mostly in passing. And overall, when we started on...the concept of a council came from some consultants that we had worked with previously to do an audit. They provided us with a few different suggestions about how we could continue on from that audit and take action. And one of the things, especially with our geographic studios, the way that we used to be organized the idea of one person from each of those studios coming together on a council to work together and then bring the work back to their studios for action really resonated with us as a structure that could work pretty well for us given the structure. We've obviously since gone completely remote. And the council is no longer specifically tied to those individual teams or those offices that we no longer have. But the council is still that, a group of people from a wide array across the company who come together and focus on and organize our work around diversity, equity, and inclusion. And we saw the opportunity in your role to have someone provide continuity and organization and experience to the council to help make it even more effective at thoughtbot. And I think we're just getting started with that. But I think it's been very positive overall, your addition, and like I said at the top of the show, thank you again for your contribution so far. GERONDA: [laughs] No problem. Thank you for hiring me. Thanks. CHAD: [laughs] Well, speaking of hiring, you've done a few different things over the years. And I'm curious; you started in more general human resources roles. Was it a goal from the beginning of your career to move into a DEI role, or did that evolve along the way? GERONDA: Ooh, interesting question. Yeah, it actually evolved along the way. I thought I would be an HR project manager and I would be leading projects across global companies. And when I started in my career, I was an HR operations analyst, and I was doing a lot of the HR product management. But what I discovered is every single time that I would be in a role, I kept looking at things from a DEI lens without realizing that I was. And then, as I started continuing to do that, I fell in love with it. And I was like, okay, this is my place of where I want to be. So even though I was doing projects related to HR, if I would do recruiting operations, I would look at okay, well, who are we actually targeting, and who are we hiring? And what are the opportunities and gaps? Then I worked in the education space, and I would look at, well, how are we actually...like, what types of demographics are we bringing to the schools? So I would do things in my role that were very diversity, equity, inclusion-focused even though I was an HR product manager or in operations. And I started realizing I really loved more of the diversity, equity, and inclusion side of things. So instead of continuing to get roles in HR, I was like, I have to get a role in DEI because that's where my passion lended itself more so. I made that decision from my last company that the next role I have, I will not take it unless it's DEI-focused. So it developed and evolved over time. CHAD: Some people might have the thought...I have to confess sometimes I've also had this thought as like, why can't just DEI be weaved through everything HR does or through everything everybody thinks about all of the time? Why do you need a specific DEI person at a company? And I've come to understand that it's hard to do that. [laughter] But I'm curious if you have any thoughts on that. GERONDA: It is challenging because you also have to think of it as everybody is in a different place with diversity, equity, and inclusion, which is not necessarily a bad thing. But there are some people who are incredibly passionate about it. And then there are others that are aware of it, but they may want to just kind of focus on their job. Or they might think, well, we just need to treat everybody the same. Like, why is that so hard? So because everyone's in different places in their level of understanding and the importance of it, it does get tricky to think of things in that lens, especially in your day-to-day job. Your priorities change consistently. So you might be working on a project here. But then you're now shifting to a new team, and you're shifting to all these different places. And it does become challenging to keep it top of mind for a lot of people in the company. And so I think that the overall almost resolution to that is the more that you start to continue to talk about it, the more that you have accountability. And you're training people like leadership and managers and everyone to be aware of what it means, and what the language is, and how you can think of these things. It takes time, but then it slowly starts to get easier. Sometimes there is an understandable fear of I don't know where to begin, and I don't know what I don't know. I don't want to make a mistake. I don't know how to look at this. And should I be looking at this? But I think that when there is a lot of the understanding from the leadership level, and it goes down to managers, and you start to infuse it across different spaces, it does come a little bit easier. So I'll say what I like a lot of what thoughtbot does is there's a lot of open communication and transparency around things like goals, around hiring, and trainings that we maybe want to offer. So I do think it can be hard. I don't think that you can also get every single person involved in an expertise level. And you shouldn't expect anyone to be an expert, but starting to think about their job and how this could impact themselves or others, it does take some time. CHAD: And I already alluded to this earlier, but I think we have an additional challenge which is because the majority of us are all on client work all the time and consultants, that through-line, that continuity of when we identify something, really having someone who can be that continuous force, an organization as people rotate through the council or as people's workload with client work or attention ebbs and flows. I think that that is one of the additional challenges that we have that you help with. GERONDA: Yeah. And the rotations on the council are super helpful as well and then creating a space for anyone to come to you with questions. I like that we have this anonymous forum where you can submit a question if you're not comfortable asking it publicly, whether it's you want to learn more or something's going on that you want to talk through. I think that's also very, very helpful. And just continuously educating and giving the space for the practical implementation of what you're trying and what you're doing will also give you a little bit more of that comfortability rather than learning about something and then hoping that you're doing it well. So it's challenging, but we'll get there, and it's worth it. [laughs] And every company has these types of challenges, so it's not unique. CHAD: So you didn't originally start off working in the tech space. And so I'm curious what you've learned or seen that either is good or bad about the tech space in particular, what challenges this industry has. And it is Pride Month, so I guess there's a lens, particularly of LGBTQ+ challenges. Is tech particularly challenging? GERONDA: Yeah, I think as an industry, it's particularly challenging. So I worked in education, as I mentioned. I worked in the optometry industry, which I will say has very significant challenges just for the industry itself. But tech is challenging. I think there are moves that are being made in tech. But what I'm starting to notice in terms of challenges for the LGBTQ+ community is a lot of things where there is this sometimes perception, depending on how visible you may be, that you are qualified and not qualified. And what I mean by that is for the trans community or the transgender community, in particular, it can be very challenging because you may not what they call pass as the gender that you are looking to reassign yourself to. So if you are male, and I hear this a lot from other people, is if I'm male and I want to transition to female, I may still be going through the process. So when somebody looks at me, I might still present masculine features. And there is this misconception or this uncomfortability that I may not be qualified to do a job. So in the tech space as well, it's really hard during the hiring process sometimes to be taken seriously because of how you might look or how you might present yourself. I will say that in a lot of spaces, the culture in a company in tech what I've noticed is it has this generally casual feeling to it and a sense of you can come in, and you'll be taken seriously. And you can meet with different groups. But I think what I've noticed is when you're trying to get into tech, there are not a lot of people that are similar to you. And it's really hard to find those types of people because not everyone's going to be out. There are assumptions that are made that if a woman's hair is short, she must be lesbian. So we misgender people. And when going into the tech space, I think that there's a hesitation because you don't necessarily see a customer base similar to you or other team members similar to you. There could be those things like mental health challenges because you don't know if you can come out in a space, or you don't know if you're going to come out, and that could affect your role. So a lot of times, you'll hear and what I've been hearing in the tech space, is those who are transgender are usually the only ones on a team that are transgender. If you look at also for the LGBTQ+ community, you have to also consider the varying identities that come with a person. So an experience for a Black woman who is queer could be very different than a white male who is gay. So there are those different identities. So the vulnerability piece, and in the hiring process, and going into tech, you already hear what's going on and the challenges that are happening for the community. So you may be hesitant or might be a little bit fearful of what that would look like. I think in the tech space as well, a lot of executive leaders or managers are predominantly cis-gendered white males. So when you see that, and there's not as much representation at the top, you kind of have that sense, and you wonder, is this a place that I feel like I can belong and have a generally safe experience? And then the skill set, too, I think what I've been hearing, and what I've been reading and just researching, and what I've been noticing just speaking to other people is the promotion opportunity for those in the community feels like you have to work much harder to get known and be visible because a lot of times, you may want to promote people that are similar to you. So if you have teams that are more cisgendered White males, you may find that those teams are not as diverse. And the industry itself, I do feel like it is becoming more diverse. I think Lesbians Who Tech, for example, was a conference that I'm so glad that you let me attend because -- [laughter] CHAD: I didn't let you. That's not permission, or rather I encouraged you to attend. [laughter] GERONDA: Better wording. Thank you, Chad. You encouraged me to attend, and you're encouraging me to attend the one in October. But just seeing in my experience and looking at the tech space, I wasn't sure what the demographic would look like. But going to that conference and then going to the one...I'm in Seattle, Washington, and there was a local one in Seattle, Washington. There were hundreds and hundreds and hundreds of gay men, lesbians, transgender, and I didn't even realize that there were so many of us in the community in that space. And it was fantastic and amazing to see. But I think visibility is another piece that we're struggling with because you want to be able to amplify those voices and give those opportunities. So that's what I'm seeing a lot in the tech space. I do think that we're improving in those areas. But those are the challenges that I see in that space. CHAD: To go back to one thing that you said, this idea of being the only one puts people in a difficult position. And I think because tech as an industry is not that diverse, to begin with, you end up with that in a lot of different identities, not just LGBTQ+. If you are historically underrepresented or have historically underrepresented identities, it's really likely that you're going to be the only one and especially the intersection of your identities. If you have multiple underrepresented identities, then it's very likely that you might be the only one. Mid-Roll Ad: Are you an entrepreneur or start-up founder looking to gain confidence in the way forward for your idea? At thoughtbot, we know you're tight on time and investment, which is why we've created targeted 1-hour remote workshops to help you develop a concrete plan for your product's next steps. Over four interactive sessions, we work with you on research, product design sprint, critical path, and presentation prep so that you and your team are better equipped with the skills and knowledge for success. Find out how we can help you move the needle at: tbot.io/entrepreneurs CHAD: As leaders, as companies, as a community that wants to do better, let's solve it all right now, Geronda. GERONDA: [laughs] CHAD: No, we're not going to solve it all now. But what are some ways...like acknowledging that many of us work in spaces where we might not have...or when we're bringing someone onto the team who has underrepresented identities, they might be the only one. How do we make a space that's as inclusive as possible for that person? GERONDA: The big thing that I always like to say is try not to put all of the work on that person to solve it for themselves. And when they come in, I think what's really great and what I've seen work well is having that initial conversation with that person who's joining, get to know them first, and give them an opportunity to say, "If there's anything that you would love to have here or anything that you find challenging, I want you to feel that you can come to me. You can go to HR or DEI program manager, whoever." So it's providing that space to say if you need support in feeling comfortable, whether it's in your job or just you as an individual, I want to offer that. And so please be as open as you can with me. And it's providing those different spaces to amplify the voice of that person. So, in meetings, if you're noticing maybe that they are more reserved or hesitant to speak, ask for their opinion if they're okay with that. Recognizing the great work that they've done, giving a lot of that recognition, and then also offering different ways that they can get the community that they want. So what I love is that we have Slack, and we've started ERGs. And so that gives you a lot of opportunity. We have a Slack channel for the LGBTQ+ ERG. But we also have a private channel for LGBTQ so that we can talk about things that are working, not working, working well. And definitely getting their experience and looking for ways that you can involve them and recognize them and continuing to check in with them. So regular one-on-one checking could just be how are things going? How are you feeling being a part of this team? What are some things that we can do differently to make you feel welcome? And that's a question that you can ask everybody so that it's not feeling like you're just targeting that one person. So asking those questions and checking in with that person is really helpful. And then, considering the people that are coming in, how are things like benefits being provided? So things like if somebody who's transgender comes in or an employee decides they want to transition, are we providing gender-affirming care as part of benefits? So those are different ways that we can have them be included and offering up the things that we provide that could potentially be a community like Slack, like the DEI Council, like having those different conversations. And when you start to do things like this, like us doing this pride event, that is pretty significant. We didn't just slap a logo on LinkedIn and just say, "Oh, okay, Happy Pride." We had lightning talks. We get education. We learned about the community. You're having me on here to talk more about it. We're doing a big celebration. And so that in itself is a pretty critical step. But it is checking in and learning about the person and asking pretty frequently their experience, how they're feeling, their needs, and then looking to increase that diversity over time on that team so that you're not feeling tokenized as that person and always being the only. So those are things that I would suggest. CHAD: One maybe misconception or feeling that people might have...and I think it starts in the hiring process because you're not supposed to talk about these things in the hiring process. You're not allowed, at least in the United States, to ask someone their sexual orientation during the hiring process. Or if someone was transgender and you're interviewing them, it certainly should be a topic that you as a hiring manager don't bring up during the interview. So my sense is, and speaking personally but also broadly, it can then feel like you're not supposed to talk about those things once the person joins either. Why is that wrong? [laughter] GERONDA: So a couple of things I'll say about that is so if somebody brings it up, that can open up the conversation. I'm very open at the fact that I have a wife and that I'm lesbian. And I purposely do that, personally, to see what the reaction is going to be and what the company is going to offer. So I can determine if I feel like this is going to be a good space for me. I think that when you're having an interview, it's just like for anyone who may not be in the community. You don't really necessarily ask someone if they're married or "Are you having children?" You don't necessarily ask like, "Do you fall in this community?" or "Talk about transgender." Because a lot of times, there is this feeling of I have no idea what this space is going to feel like for me. I'm not going to out myself, and you may even out somebody who may not be out in their professional or their personal life yet. And you want to provide that comfortable space. But you don't want to do that either because then that person and across other interviewing spectrums bias can amplify a lot. And you can mislabel someone's gender. You might use the wrong pronouns, and pronouns are always optional. So I always say look at the person for their experience and what you want to learn more about relating to the job. Of course, you want to learn about them a little bit more personally as well. But it is more harm to try to identify their identity because that could lead to bias and could ultimately lead to discrimination because you don't know what that person's view is in the interview process either. CHAD: But once someone joins your team and assuming that they're open about their identities, and this applies to all identities, I think, then quote, unquote "treating everybody the same or ignoring people's identities actually does the reverse of what people intend." It makes an environment where people feel like they don't belong, that the identities that they have or what are important to them aren't recognized. And so you're not recognizing the person's full self, and you're not accommodating it and trying to build an inclusive environment. It could actually backfire if you intentionally ignore people's identities, right? GERONDA: Yes. So it can backfire if you ignore the identities, especially the identities that have been shared openly. So if I'm going to fill out a survey, let's say where identify myself as part of our hiring process, as a manager, I may not say, "Hey, I noticed that you checked off that you're transgender. How can I support you?" But it is going through the onboarding process and other areas to say here's what we offer from ERGs to benefits, to how we work, how we work as a team. And if that person does disclose that they're transgender, or they're in the LGBTQ+ community, or they mention their culture or what have you, you can then direct them in the right places to say, "Oh, we actually do have this LGBTQ+ ERG if you're interested. I know you may be talked about it in the onboarding process. If you're open to it, you can definitely join us, and here's how." And then, over time, it is really thinking about you may not know the identities of your team but taking time to do things in practice that would touch upon all identities. So when you're thinking about having team conversations, there may be somebody on your team who is neurodiverse. They might have autism, or they might have ADHD. And how you're communicating...then you start to think about meetings. Do you just do Google Meet meetings? Do you just do Typeform meetings? You have to think about different learning styles and for different identities. Like it's Pride Month right now, just saying Happy Pride Month to everybody. And they may then be open to sharing more about their identity and sharing the activities that are happening in Pride Month, and encouraging them to do things on the council. So you want to make decisions that could think about different identities, even if you may not know what those identities are. And I also think it's being proactive and being ready that you might have those identities. So things like I had mentioned where you might be providing gender-affirming care, or you might look at your parental leave policies and other things that you have available for that. So I would say without knowing the identity, I think over time, as you build trust that [inaudible 28:24] start to develop and come out. But it's also if somebody's coming to you in confidence with something, really taking that very, very seriously. If I, God forbid, came to you, Chad, and was like, "Chad, I'm coming out to you. I am lesbian, but I'm not comfortable with sharing with everybody else." I would trust that you wouldn't share that amongst other people. So that's another piece to that as well. CHAD: Yeah, that's a really good point. I think as people in that position, in management positions, we need proper training around those kinds of situations to ensure that we handle them well. I think training is an important part of being a manager but also just DEI in general training and equipping everybody. GERONDA: Yes. Having a common language across the board and a common understanding across the board is very important. Because when you think of diversity, equity, and inclusion, everybody may have varying understandings of what those mean. Some people may not know what those mean, and so having that common language across the board and understanding. And then yes, training, of course, and opportunities for you to then practice that training in spaces and getting feedback along the way. CHAD: So I imagine that there are a lot of people listening who this is really important to them. It's an important topic or a place where they want to make improvement for themselves or their company. They might not have a lot of support or resources at their company. There might not be a DEI Council already. And I know every company is different. Every team is different. But are there some things that individuals or leaders might start thinking about or doing specifically if they're just getting started with this? GERONDA: So if you're just getting started, I always say there are a lot of great resources out there for you to consider. So whether that's a book...LinkedIn has really great training on just understanding DEI and how to be an inclusive leader or work in an inclusive environment. But I would say a really great place to start is if you don't have this already, think about what your demographic looks like. And what are some things that other companies may be doing? So joining different channels and saying, "We're at the beginning stages. What are some things that we can do?" But I think what's most helpful to start is you have to gauge where you are as a company and understand your people and the demographic and do something that allows for an open discussion and open forum to get perspectives from other people. So I know things like listening tours where you might talk to different departments or different teams. Or if a company is small enough like our company, you can meet with each person and then think about what are some common themes that you're seeing? That can also create a great space for that. I'd also say you can put out a survey to see what the experience is. So if you are doing things like engagement surveys, you can absolutely include things in there about what do you think we're missing? What would you hope to see? But I think a lot of it is you have to understand your people and what you have available to you at the company and provide an opportunity for everyone to share their ideas and perspectives to that. So what I've seen work really well is one, when you start to understand there has to also be this communication and this accountability at the leadership level to say, "This is why we're focusing on this. This is why we think it's important. We want to hear from you." And something that I thought was really unique and helpful is if your company is small enough or even if it's big enough, a lot of companies what they'll do is they'll have the CEO, or they'll have managers host these kinds of forums where you can meet with them, and you can share. You can ask them a ton of questions. You can share your ideas. You can share what you hope to achieve from this and just starting to get perspectives first. And that may, over time, start to evolve into a council or people wanting to do an ERG. But really get as much as you can from people and then learn a lot from that as well. CHAD: That's great. I asked that question, and then it turns out it was one of the ones that someone submitted in the chat from a thoughtbot person. GERONDA: [laughs] CHAD: So I wanted to acknowledge that even though we overlapped the question, that question technically comes from Amy Wall, a developer at thoughtbot. Another question from Fernando is how can other employees support DEI people like you from a daily perspective? GERONDA: Just take over my job. [laughter] No, I'm just kidding. So it's always helpful for me to have transparent conversations of where you are. If you want to help me, it's helpful to learn about your experience and come to me with things that you're seeing or ask me questions. Also, don't be afraid either to say, "I really don't know what this means or what this is. Can you help me?" And it's also bringing learning as well because I'm not a developer, and I'm not a designer. [chuckles] I think that the work that our team does is fantastic. And they're super smart. And when I look at a lot of the things that are happening, like coding and conversations, although I have absolutely no idea what you're talking about, it's really amazing to see. But from your perspective, there may be things that I am suggesting, like, oh, maybe we need to increase accessibility, and we do need to do these things. But be okay to challenge me and say, "I actually don't know that that's going to work well or not." But I think to support me in my role, the more that I know of the challenges, and the more that I know about you individually, and the more that you continue to bring these things up from a DEI perspective is super helpful. So what I've noticed and what I've really loved about working here is we have those opportunities to have those very open, transparent conversations. And we can post about issues, and we can post about things that we want to change in our handbook. And sometimes people come to me with questions. And I love that people come to me and say, "This is what I want to work on more. Do you have any suggestions?" That really helps me in my role because as much as I would love to know everything that's happening with every single person, it can be challenging. So be honest with me and just share what's going on and be willing to learn and share resources with me too. Yes, I'm a DEI practitioner, but that doesn't mean I know everything. I know it's very surprising to a lot of people right now that I don't know everything. CHAD: [laughs] GERONDA: But share things you're reading. Share things that you've noticed. That helps me a ton. So that's how I say you can help me. And thank you for that question, Fernando. I appreciate that. CHAD: A thing I would add is recognizing that there are, especially at thoughtbot, multiple levels of ways that you can support and contribute to our efforts. So we try to identify on the council okay, this is the thing we want to work on. The council isn't intended to do everything. But so what we'll often do is we'll say, okay, we're going to gather a group of people in a task force, and we're going to work on this. I think that's another level of contribution. So showing up for those participating in them when they arrive, and frankly, not signing on to too much because you spread yourself too thin and then can't do a good job doing everything that you want to do. So yeah, those are some tips that I would add. Geronda, thank you so much for joining me on the show. I really appreciate it. GERONDA: Thank you for having me. I appreciate that. CHAD: Happy Pride. [laughs] GERONDA: Yes. Happy Pride. I'm so excited. I feel like I'm a little biased, but this is like my favorite month of the year. [laughter] Lots of fun celebrations. And of course, I recognize other holidays, and I think they are very important. But this one is generally very close to my heart. So thank you. CHAD: Well, if folks want to follow along with you, get in touch with you, find out more, where are all the places that they can do that? GERONDA: Yes. Follow me on LinkedIn, Geronda Wollack-Spiller. I'm on Twitter at @gerondaws. And I think those are the two best places to follow me. I'm most active on LinkedIn. And I usually respond there pretty heavily. CHAD: We'll include those links in the show notes, which you can find attached to this episode. And you can subscribe to the show, find all those notes along with a complete transcript for this episode at giantrobots.fm. If you have questions or comments, email us at hosts@giantrobots.fm. You can find me on Twitter @cpytel. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Thanks for listening. And thanks to all the thoughtbot people who were in the chat, and with the questions, and paid attention and listened to this episode. And see you next time. GERONDA: Yes. [laughs] ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success. Special Guest: Geronda Wollack-Spiller.
[00:09:02] We find out what Steve is doing now and what he did before thoughtbot.[00:13:30] Steve explains how the team works at thoughtbot.[00:17:00] Since people roll in and out of the team, how does Steve manage to bring someone up to speed quickly?[00:20:02] We learn what the onboarding process is when they get new clients so the team can easily jump in.[00:23:46] Jason brings up a thoughtbot gem called Suspenders and Steve tells us more about it.[00:25:26] Steve explains how working at IMPACT set him up for what he's doing now. [00:29:26] Andrew wants to know what Steve's response would be to someone asking him to stop building maintainable software and just pump out code. [00:31:39] Chris wonders if Steve works with their client's developers or his own team.[00:33:45] Steve spoke earlier about leaving notes using the Rails Note tool and how important is to comment, and Jason highlights why he thinks that is so important. [00:35:20] We find out some other things Steve's working on besides finishing up on building Rails Auth from scratch. Panelists:Jason CharnesChris OliverAndrew MasonGuest:Steve PolitoSponsor:HoneybadgerLinks:Remote Ruby Podcast Chris Oliver TwitterJason Charnes TwitterAndrew Mason TwitterRuby Radar NewsletterRuby Radar TwitterSteve Polito TwitterSteve Polito BlogSteve Polito LinkedInLearn Ruby on Rails For Free thoughtbot Suspenders
Chad talks to the CEO of thoughtbot, Diana Bald, about 2021 in retrospect. thoughtbot, as a company, has settled into a new structure that contains different teams and committed to becoming a fully remote organization. Last year, Diana successfully transitioned into taking over the company's CEO role. She and Chad talk about the improvements the company made in 2021, including DEI (diversity, equity, inclusion) efforts and training sessions, and look ahead to some improvements coming in 2022, such as an expansion of the apprenticeship program. P.S.: thoughtbot is hiring! To see open roles, visit thoughtbot.com/jobs (https://thoughtbot.com/jobs). Follow Diana on Twitter (https://twitter.com/dianabald) or LinkedIn (https://www.linkedin.com/in/dianabald/). Follow thoughtbot on Twitter (https://twitter.com/thoughtbot), or LinkedIn (https://www.linkedin.com/company/150727/). Email Diana at dianabald@thoughtbot.com. Become a Sponsor (https://thoughtbot.com/sponsorship) of Giant Robots! Transcript: CHAD: This is the Giant Robots Smashing Into Other Giant Robots Podcast, where we explore the design, development, and business of great products. I'm your host, Chad Pytel. And with me today back again is Diana Bald, the CEO of thoughtbot. Diana, welcome back to the show. DIANA: Thanks for having me back, Chad. Hello everybody out there. CHAD: You joined us in the spring; I guess is the best way to put it where we talked about the transition from me to you of CEO. And it feels like it was actually simultaneously both just yesterday that we did that recording and a long, long time ago. How has this year been for you? DIANA: Yeah, I completely agree. It feels the same way for me. [chuckles] This year has been interesting and eventful. Well, 2021 has been. CHAD: So we're recording this just in the dawn of 2022. Looking ahead, we're bright-eyed and ready to go to the New Year, right? DIANA: That's right. CHAD: So I thought that it'd be good to do a little bit of a retrospective or a review of 2021. A lot changed for thoughtbot. And the last time we talked about it was way back at the beginning of all those changes. And I've had all the managing directors of the different teams on now to talk about the different teams, and what they're focused on, and how they're working, and what their goals are. And I thought it'd be fun to do that for thoughtbot overall with you. DIANA: Yeah, I think it's a great idea. CHAD: Cool. So since we last talked, we really settled into the different teams and the new structure. And even little things like we've sublet most of our office spaces and those kinds of things. I'm really reaffirming how things have gone. But I'm curious, just at a high level, what's been the most surprising thing for you about 2021? DIANA: [chuckles] That was not a question I was expecting. CHAD: [laughs] DIANA: The most surprising thing for me was (There were a lot.) I think how quickly we put everything together actually. That was probably the most surprising thing. I think that we were able to reorganize and pretty much just get to work in the new team structure right away. There wasn't a lot of reinventing. We reinvented when we redefined. But as we started doing the work, it was very logical, like, oh, this makes a lot of sense. These teams break out very nicely. So that speed in which that happened, I think, was the biggest surprise to me. CHAD: I know that some people said we moved maybe too quickly on some of those changes. How do you respond to those people? DIANA: [laughs] It's different personalities. Well, can I take a philosophical perspective? CHAD: Yeah, totally. DIANA: Okay. So I have a frame of mind as life doesn't happen to us. It happens for us in the sense that there is never a perfect time to do anything. One can be preparing, preparing, preparing, and it's good. Preparation is great. Analysis is great. All that stuff is good. But there's never going to be perfect anything. In fact, it's better to get started to get the feedback because the feedback is real. And it's kind of like the way that we actually work, in fact. You respond, and you iterate based on what the circumstances are telling you. And I think that's the difference in point of view. So, for me, I thought the pace was nice. But I could see why other people might have thought we moved too quickly. CHAD: So I forgot to mention the episode number if folks want to go back and listen to more of the details. It was Episode 392 (https://www.giantrobots.fm/392) where we talked, and then Episode 393 at giantrobots.fm/393 (https://www.giantrobots.fm/393) is where we talked about the details of the different teams and going fully remote, so if folks want to go back and listen to that. And then obviously, I've been talking to the different managing directors recently. So now that we're almost a full...actually, I think we're a full year from when we actually made the changes. DIANA: January eighth was the day. CHAD: So we're a few days shy of a full year. I think there are really two aspects of this whole thing. There was the concept of going remote and committing to being fully remote. And there's the concept of then reorganizing the company in a way that was supportive of that. And a lot of that was driven by the fact that we were really organized previously around the geographic studios and how we didn't feel like continuing that way was going to be something that would be sustainable for us over the long-term, both from a sales and business perspective but from a people perspective too. And so we talked about the teams and how quick and how I think overall well that has gone. How about the fully remote aspect? How has it been for you personally? That's one way to put it. DIANA: Well, I think that remote should be taken into context. We went remote in a time when the entire world was going remote. And I think that if we had gone remote at a different time, our experiences would be a little different because, with the start of the pandemic, we had a lot of limitations to our freedom because we were on lockdown. And so when you go remote in a time of lockdown, and a time of limitations to freedom, it's very different than being remote at a time when you have the flexibility to go work out during the middle of the day, go pick up kids from school or whatever one does when you have flexibility. [chuckles] So I think that the time that we started remote helped us clarify that yes, this is something we want to do. But I think our experience was tainted because we were in lockdown at the time, and our freedoms were very limited. If our freedoms weren't so limited, we had planned, as you know, because we talked about it, having pop-up offices or having the ability to bring people together, and we weren't able to do any of those ideas. The pandemic took much longer than we thought it would for us to get to that. And right now, we're back in that place where Omicron is going on. And we're still kind of semi...not really locked down, but a lot of us are being extra cautious. And then, for me personally, I'm enjoying the freedom. I like the freedom. But I'm also very cautious because I have to protect my family. And I just need to be very careful when I meet with people and things like that. CHAD: Well, I agree that the social-emotional impact of how things have been for the last two years basically has made this transition difficult for a lot of people, myself included. And we've needed to be mindful of that, I think, as we try to move forward as aggressively as possible towards the way things we want to be. I think it's been challenging for myself, for team members to realize that the way things are now isn't necessarily the way things are always going to be. We will be able to be in person. We will be able to visit each other. We'll be able to have those pop-up offices and that kind of thing that we've been limited to do. I'm really looking forward to that sometime in the future. DIANA: Yeah, for sure I am as well. CHAD: The other side from the business has been we're not getting pressure from clients. I feel like I'm revisiting this topic. [chuckles] I know last time we talked, it was like, I wonder what it's going to be like when we start getting clients back in person. And is there going to be pressure to be with them? And that kind of thing. And unfortunately, because of the pandemic going on, we haven't been getting that pressure. Now, that works for our business because it just relieves the pressure or the need to travel or schedule things and that kind of thing. But that being said, I'm more optimistic than I was before even though we haven't truly lived it that not only will clients...and that we have a really good way of doing things like design sprints and everything remotely but that there will be a benefit to getting together at the start of projects once we can safely do that and everything. And I think people will better understand the concept of we're getting together to kick off the project or to do the design sprint. We could do it remotely, but we're choosing to do it in person with the understanding that it's totally fine to go back remote after we've had that in-person kickoff. DIANA: Yeah, and I think that there's going to be some situations where it will be better to be remote to have the sprint and other situations where let's say you want to test something with a live audience or you want to get feedback from live people interacting with a physical object or something like that where it would make sense to have the physical in-person component. And other things are better with a brainstorm to have it be digital. I think it just depends on the circumstances and the client and what they're looking to achieve. And having that flexibility that we don't currently have right now because of the variant is something I'm looking forward to. CHAD: So when we talk about the transition and you taking over the CEO role, I said that one of the reasons why I thought that was the right thing to do and was excited to do that was because I thought that you were going to be better for what the company, and particularly the managing directors and the other leaders at the company, needed to get to the next stage. And I forget exactly how much...a lot of that is baked into getting to the next stage of thoughtbot. One is resiliency of team and leadership and not having it be based solely around me. That's certainly one aspect of it. The other is your deep experience with sales and marketing; business development better match what we need to do going forward in terms of building, getting to the next levels of revenue, and sustainability. And at the time, you were still learning, or maybe learning is the wrong word. How would you describe it? Basically, like getting a handle on things before making decisions or changes to move forward with certain aspects of how we do business development and that kind of thing. DIANA: Yeah, I think I understand what you're saying. CHAD: And so now that we're significantly past that point, what are some of the things that you've done or focused on with thoughtbot business development with thoughtbot overall that you would consider positive changes? DIANA: I think the introduction of Rocket Fuel is one that I would consider a positive change in that direction. We had...I don't know if we want to re-familiarize the audience with the theme of rocket. CHAD: Yeah, I totally think you should because I think it might come out of nowhere for people. DIANA: [laughs] So we organized around a theme to make it easier for us to convey what we're doing. And you could think of the stages of a rocket from ignition to blast off in orbit. And basically, it's a fun way of saying that we have an end-to-end product development process. And so everything from ideation and validation that's our Ignite team, to building and going to market is our Lift Off team. Scaling and transforming is our Boost team. And supporting and maintaining is our Mission Control team. So when you have a rocket, you need fuel. [chuckles] And so that's where we introduce Rocket Fuel, which is basically business development and marketing. And what we did is we changed it from being two different ways of approaching, driving the business into business development being the driver and marketing being the support. And what I mean by that is it's more strategic, in line with the different stages of where we are. So for the Ignite team, their needs are very different than for the Boost team. So when we're in the ideation validation stage with a client, it's very, very different than a client who's in the transformation or in the scaling stage of their product. So having that mindset of driving that phase of product development has been very helpful to us because then we can apply the marketing tactics, strategies, plans around the stage of that product lifecycle. So that's been something that I think has worked really well this past year. CHAD: So what does the Rocket Fuel team look like? What are the different roles on it? DIANA: Well, it's small right now, but we're growing it. We have Kelly, who is our Associate Director of Business Development, and she's focused on supporting more of the implementation of some of the ideas that are coming out of each of the marketing tactics that I mentioned earlier. So whether it's partnerships with different organizations or whether it is campaigns that we're running so overseeing those, and she's also stepping in when the managing director has to step away for a few months, maybe somebody is taking paternity leave or something like that. Kelly stepped in there. And then we have in sales enablement Liz who's serving as a Sales Enablement and Business Development Manager. And she's really helping us get exactly what her title says, enable the sales process. So she's putting together the marketing collateral. She's got our CRM system, getting that organized and up to date with information. And she's starting to work on updating our handbook with business development information and marketing information that's changed since we were in our old structure. So she's getting that in line. So she's more behind the scenes and more enabling us to move quickly. And Kelly is more on the strategic end of it, helping us build out the plans that'll drive the growth of each of our teams. CHAD: And Liz is also helping respond to RFPs and making sure things move forward or are pulled together for making proposals and contracts with clients, right? DIANA: Yeah, she's doing a great job on that. CHAD: I think all of those things are something that we had talked about doing for a while, having someone be able to help with those kinds of things, especially when we have a world where managing directors at thoughtbot are responsible not just for sales but for the whole business that they run. And so they have a lot on a day-to-day or a weekly basis of what they need to spend time on. So having someone who can help them have time to spend on things that are not sales and to make sure that sales move along quickly, I think, has worked really well. And it was something we had talked about for a while, and I'm really happy to see it come to fruition. DIANA: Yeah, I am too. I agree; it is helping the managing directors take a breath. They need sustainable lives as well. And it's good that we're able to help them in this regard. I think we can help them even more. Liz has only been with us for a few months. And as she gets more and more comfortable, she gets more and more ideas and starts to run a little faster, which is great to see her do that. And the same with Kelly, as she's wrapping her arms around her new role, she is also coming up with a lot of ideas. And it's exciting to see them work because they energize each other. [laughs] It's really cool. And we're also recruiting for an Associate Director of Business Development for Mission Control to help us grow that team. If anybody out there is listening, and you know of anyone, [laughs] encourage them to apply. CHAD: Yeah, that's a really good point. So that Mission Control does DevOps, maintenance, SRE work, so we're really looking for someone who has experience growing and building that kind of business. And it's quite honestly a big growth opportunity because there's a real opportunity to start as the Associate Director of Business Development in that business and grow into more of a Managing Director role, right? DIANA: Absolutely. We see it as an opportunity to come in on the ground floor; essentially as the very fast-moving, high potential team gets going. So it's a super exciting opportunity for people that are interested in DevOps or Site Reliability Engineering or anything else that we're doing in that space of support and developing. CHAD: Great. Well, hopefully, someone hears this and says, "That's for me. I want to apply." If that's you, you can go to thoughtbot.com/jobs and check it out there. I'm making my hard pitch here. We also have some outside consultants helping with running different campaigns and digital marketing activities, right? DIANA: That's right. We are working with outside consultants to help us run some targeted campaigns based on some of the strategies that Liz and Kelly are developing. And they're doing the actual implementation of the marketing. So they'll buy the ads; they'll run them. And we also have somebody helping us with social media. Mandy is doing that. She's doing a great job of that. And we have Tori, who's still helping us out with some of the digital marketing campaign, conceptualizing them, and transitioning some of that work that she was doing on the CRM, transitioning some of that over to Liz to take over our sales enablement. So a lot of activity happening over here at Rocket Fuel. CHAD: So to put it as plainly as I can, thoughtbot has been successful. We've been particularly successful from a culture and team, and thought leadership standpoint. But we haven't been incredibly successful in making a company that operates at the level that we do and generates enough profit to be really comfortable that when a pandemic hits...that's an extreme circumstance, but there are ups and downs in every business. And our margins haven't been historically as large as other consulting companies and that kind of thing because of the kinds of team we have and the way that we run the business. And so a big goal of when we talk about taking thoughtbot to the next level has been sustainability and making sure that we operate with enough cushion that we can more than weather downturns or ups and downs in the business without having to let people go or make significant changes. And if people listened to the prior episode, they know that we had actually made significant progress towards that goal in 2019. And we were feeling really great going into 2020 about what we were going to accomplish. And then, in April of 2020, we had a significant decrease in revenue all at once, which really threw the business into turmoil because we hadn't been operating with that significant margin, a sustainable margin. So we spent 2020 recovering from that, making sure that we had corrected some of those fatal flaws. And we saw, I think, a lot of that come to fruition in 2021 and had a really sustainable year where we met and exceeded our goals. I'm really happy about that. I assume you're happy to. [laughs] DIANA: Yes, I'm really happy about that too. [laughs] I think that it's something that we haven't celebrated, and we need to celebrate it. It was actually a really great year for us financially. And I talked about speed earlier. And I said I was pleasantly surprised with the speed. And one of the factors is that in the first quarter of last year, things started to come together for us in that vein of financial sustainability. And we were able to maintain it every quarter of the full year. That's pretty great. And we should pat ourselves on the back for that. Congratulations, Chad. [chuckles] CHAD: Congratulations, Diana. You and I have talked about this before. So overall, the market recovered in a really good way for services, businesses, for software development. So that boosted our ability to really go above and beyond. But even putting that aside, it took a lot of work. It wasn't easy. And it was through the fundamental changes we had made that we were able to take advantage of that good market, I think. DIANA: Yeah, I agree. And the intentionality of what we were doing, I think the reorganization helped us see clearly the benefits of each team. Obviously, today, I have a much clearer insight into each team's strengths and each team's capabilities than I did a year ago when we last talked. I think we are still trying to get our...is it going to work? What is it going to look like? And now it's like, oh, this is so obvious. This makes a lot of sense. The teams are working on very different aspects of the product development lifecycle. And I think that intentionality also helped us with our goals. CHAD: And I think that one of the goals of doing that too was to free people up to better understand and focus on the kind of work that they wanted to do rather than trying to do everything everywhere. And for the individual person at thoughtbot, never knowing what your next client project was going to look like because it could have been any of our types of clients that we have. And I think overall, what I've heard from the team is that it has been a good opportunity to reduce those surprises, get better at the kind of thing that you're working on now, even if ultimately that means okay, you've done your stint in Lift Off and now you want to move over to Boost, or you've been in Boost, and now you want to give Lift Off a try. At least you can do that with intentionality as opposed to never being quite sure what your next project is going to look like. DIANA: Yeah, exactly. There are some people that like that variety of moving back and forth, and that's good that we can make that happen. And then there are others like you said, that really want to hone in on an area of specialty and get better at that particular thing. CHAD: I think there's a benefit to us even just having words to use to describe the different kinds of projects now because we never had those words to use before. So when now internally people say, "Oh, this is a boost-style project," that means something to people. And I think it helps us talk about the work that we're doing or we might do for customers. DIANA: Yeah. CHAD: Cool. So what else happened in 2021? [chuckles] DIANA: What else happened in 2021? Well, we did a lot of DEI training, and that was great. I learned a lot in that training. I thought actually that I was pretty hip with everything. I thought I've been involved in DEI activities all my life, so I get it, of course. But then, once I took the training, I was like, wait, there's a lot to learn here. I thought I knew a lot. But I'm learning a lot. There were several courses and several sessions. And with each session, I came away learning a lot more than I thought I would and having a greater appreciation. I think one of the greatest appreciations I learned last year was an appreciation for words, how important it is to think about what you're saying. A lot of times, we just talk, and it's important to really think through what one says. I took that to heart from the training that we got. CHAD: And I think people might hear that and say, "Oh, you're talking about being politically correct," and perhaps maybe having a negative reaction to that. But I think one way to think about it is it's not just being politically correct for the sake of being politically correct. But words can have an impact on people, or the way that you talk about something can have an impact on people, either by making them feel bad or excluding them. When you have a group of people working on something, people come at work with so many different backgrounds and experiences, and perspectives. And so, having an inclusive environment where everyone can contribute fully is super important to not only being fulfilled in our work but ultimately creating great products too. DIANA: Yeah, absolutely. And that diversity is something that will make us have better products. But it also makes us; I think in many ways, better people by understanding where others are coming from, what they might have experienced in the past, and knowing that what is available to one person may not be available to others. So it's not just political correctness but also a better understanding of humans and what we go through and that it's not necessarily equal for everyone. And it's not necessarily fair for folks. And that's sometimes easy to forget. And I think that training that we went through really reminded me. And it gave me an appreciation for the privileges that I do have and just a greater awareness that I'm so grateful for. Mid-roll Ad I wanted to tell you all about something I've been working on quietly for the past year or so, and that's AgencyU. AgencyU is a membership-based program where I work one-on-one with a small group of agency founders and leaders toward their business goals. We do one-on-one coaching sessions and also monthly group meetings. We start with goal setting, advice, and problem-solving based on my experiences over the last 18 years of running thoughtbot. As we progress as a group, we all get to know each other more. And many of the AgencyU members are now working on client projects together and even referring work to each other. Whether you're struggling to grow an agency, taking it to the next level and having growing pains, or a solo founder who just needs someone to talk to, in my 18 years of leading and growing thoughtbot, I've seen and learned from a lot of different situations, and I'd be happy to work with you. Learn more and sign up today at thoughtbot.com/agencyu. That's A-G-E-N-C-Y, the letter U. CHAD: So we've had a DEI Council at thoughtbot for a couple of years now. And I think that we created it because of the studio model. We were very distributed as a company. And so we wanted a group of people that could come together, work on things, but also collectively, educate themselves and take action items and everything, and then take them back to their physical studios. And I think that now with the reorganization, with the progress we've made, it's not that the Council doesn't work. But it's in a different spot in terms of what we're hoping to achieve as a company and the way that it's working. So we actually have right before the end of the year, we opened a DEI program manager position, which is a full-time position at thoughtbot for someone to not do all of the work that the council is going to do but a centralized thing to make the distributed nature of the...to sort of empower the council, and free up time. We're all on client work a significant portion of our time. And so striking the balance between having DEI ingrained in the company, having everyone have enough time to work on what needs to be worked on, and to have it all be managed, we looked at that whole picture and said, we think that the Council could be even more effective if we have someone on board who can work with them full time basically. And people might be saying DEI Council full time? It's not just the council. So it's diversity, equity, and inclusion. So it really permeates everything about our culture, and how the company works, and how it functions. And there's a lot there. So that person is going to be part of the operations team, which is my team. And they'll be ingrained, you know, part of everything that we do to make thoughtbot operate but through the lens of is this equitable? Are we inclusive of the people that we have on our team in Africa and South America, as well as the United States now? That's a huge thing for us, making sure that we're setting things up in a way that works for everyone at the company. And we're more internationally diverse than we've ever been before. And so that has been something that takes up a lot of our time. And we want to make sure we do a great job with it. So that's one of the things that this new person is going to do. DIANA: Yeah, and one of the things I'm really excited about for this person is putting some metrics together for us. It's been hard for us to quantify our progress in DEI. And I know that this individual will be doing that, which is to me exciting because we're going to be able to see how are we really progressing with these initiatives? I think that's going to be great. And also, being able to partner with other organizations just outside of thoughtbot is going to be interesting as well because our DEI Council does it, but none of us have a lot of time to actually do too much of it. Everybody's got like you said, client work and other things they have to work on. So that's another thing I'm really excited about this individual taking on is that outside partnership perspective. CHAD: I feel like we have a lot of positions open right now. DIANA: [laughs] We sure do. CHAD: Not only in the operations or the non-designers and developers. We've got a lot of design and development roles open as well. DIANA: Yep. Plug for the thoughtbot.com/jobs page. [laughter] CHAD: Yeah. Well, one of the things that I'm really excited about going into 2022 we've had the Apprenticeship Program for 11 years now. We say on the website we've done over 50 apprentices. I think it's more like over 75. I just stopped doing the count a while ago. But we haven't been able to do it consistently previously because when we were distributed among the different studios, and everything was based on who you worked with in person, we needed to make sure, you know, not every studio was even large enough to have enough mentors to be able to have apprentices. But we also needed good projects for mentorship and having apprentices on them. And we also needed to make sure, like, oh, if we take on an apprentice in Austin, we need to make sure that the Austin studio needs another Rails developer. And so it was pretty limiting. But even though it was limiting, we did lots of apprentices. And it's been super successful. So many leaders at the company started as apprentices. DIANA: Christina comes to mind. She's like a development director now. CHAD: Yeah, exactly. A lot of the development directors at thoughtbot started as apprentices over the years. So I'm super excited because this is another thing that no longer being in-person studios unlocks for us is to say basically thoughtbot as long as we're hiring across all of thoughtbot, we will always have the need for designers and developers. And so we can make the Apprenticeship Program more of a rotational program. No matter where you live now, you can join. We can do remote apprenticeship like all of our positions. And you can rotate among the thoughtbot teams with a great mentor from each team and then be promoted as a designer or a developer onto one of those teams that has a position for a Rails developer or a designer. And that is going to enable us to have consistent apprenticeship positions across the company open all the time with a consistent application process with timelines laid out for when deadlines are going to be for applications and when we're accepting people, and when people start. And I'm really excited about that. I think it's going to be not only great for apprentices, which is actually one of the primary reasons why we do it but also great for thoughtbot to get this consistency to what has been a really valuable hiring channel for us in the past. DIANA: Absolutely. I think that's one of the things I'm most excited about, to be honest with you, is that Apprenticeship Program because of everything that you mentioned. And it's not like we just need to limit it to one person. It could be a group of people going through the program together, which gives them a sense of camaraderie as well and a second incoming class. We have an incoming class. [laughs] CHAD: Right, right. My only regret is that even just in this first batch, we can see...or I've just had the potential of the Apprentice Program for us reinforced. In this batch, we have almost 1,000 applications across the two Launchpads with the design and development positions. It's incredible. [laughs] DIANA: That's so amazing. CHAD: Even though we're having more apprentice positions than we've had in many years going for 2022, it's still not enough. There are so many people that could be great fits for thoughtbot that we might not be able to have enough bandwidth to take on. So I'm looking ahead to the next thing as like, how can we grow enough to have even more apprentices? DIANA: Well, let's get Rocket Fuel to help with that. [laughter] CHAD: Yeah. I've often said that hiring great team members really isn't our problem. Our problem is consistently having more than enough work to be fulfilled, to be picky and choosy, while also having enough work for our team very reliably, weathering those ups and downs. And when we turn off hiring, it hurts our ability to hire overall because it takes longer to ramp it back up and that kind of thing. And I think you saw that throughout the course of 2021. We had to turn off hiring for a while in 2020. And when we resumed it, it took quite a while for those wheels to spin back up and for enough people to get through the pipeline. Because even though we get a significant number of people applying, we really only hire less than 1% of the people who come across because our standards of what we want when we add people to the team are high. DIANA: Yeah, it's true. It's challenging. We really did feel that impact pretty hard for a while there; the repercussions of not having the hiring open in 2020 were felt for sure. CHAD: We also made the decision that we were going to focus on making sure that when we started hiring back up, we didn't just necessarily go right back to the way that we were doing things before in terms of all of our process. So we used to have a lot of automation in place because of the number of applications. And we didn't immediately put all that in place because sometimes that automation got away from us. We care a lot about the hiring process. And we wanted to make sure that we just didn't blindly turn it back on because we had a sense that it wasn't 100% working for us. And the other was that we made the decision from a DEI perspective to make sure that we didn't move forward on starting interviewing for a position without having the candidate pool we were choosing from reflect a representative sample of the United States. And that's in the tech industry; if you put a role online and just let people come into it organically from a normal job pool, the tech industry isn't representative of the United States demographics. And so, if you just let that status quo come in, you're going to see what's reflected in the tech industry. So that was another important but real limitation that we put on ourselves when we started hiring again. DIANA: Yeah, it was painful, [laughs] but it was necessary. CHAD: And I think we've seen as people move through the pipeline and as our hiring goes up that it was worth it, even if it wasn't easy and was difficult. DIANA: That's how things usually are, right? CHAD: Right. [laughs] DIANA: Things are usually not easy. And usually, things that are worth it, there's work involved. CHAD: And we're not done with DEI work and trying to build the kind of organization we want to have. You're never really done. So there's always something that we can do better. We still need to really speed up our hiring process, which has been pretty much stuck at a certain timeline for a long time. And figuring out a way to speed that up while still staying true to the kind of process and the qualifications that we want to put on the process continues to be a challenge for us. DIANA: I think that's industry-wide, though. I don't think that's unique to us. There are a lot of companies challenged with hiring at the moment. There are a lot of reasons for that. But we definitely have to keep on top of it and try to figure out ways to make ourselves better. CHAD: Yeah. I think the biggest problem is to the extent that if you lose people along the way that you would totally otherwise hire because they go to other companies first just because you didn't finish the process fast enough. That's the fundamental thing that we want to avoid. DIANA: That's the real risk that we...I think we actually lost some people for that. CHAD: Yeah, definitely. And over the years, despite trying, we haven't been able to significantly speed up our hiring process. For folks who aren't familiar, a big part of our process is having a few different stages. And the final stage being pairing, working with actual members of the team for the day. We pay for that day. And meeting the rest of the team and having a process which involves the rest of the team it's not just a siloed hiring team that's making all the hiring decisions. But doing a full day visit as the last stage means effectively that we can never have two people interviewing for the same position. And then everyone being on client work and only really being able to do those visits on Fridays means that the fastest, unless we're willing to make a change to that, the fastest we can go to hire into any one position is one final stage interview a week. That's a bottleneck. DIANA: That's a bottleneck for sure unless we have dedicated people doing the recruiting. Then that would be a challenge as well because that's all these folks would do. CHAD: Right. And then the team would feel, you know, we gain a lot from everyone being part of the team. So that when people show up on day one, we can say, "Hey, everyone that you worked with, everyone that you met was a unanimous yes to you being here." It builds a tremendous amount of trust and confidence on both sides, I think. And to not have that, I think we would need to then do a lot more work in building up that confidence of those new team members and of the team in that process and on day one when they show up. So it's an area of future work for us, definitely. I don't know what the solution will be eventually. But I do know that it's an area that we have to improve on. DIANA: Yeah, agreed. CHAD: Cool. Well, anything else on your mind before we wrap up? DIANA: No. I'm looking forward to 2022. There's a lot that we want to do. And it's going to be an exciting year. It's already starting off exciting. [laughter] Though, I do want to talk a little bit about community now or? CHAD: How about we give a little sneak peek in terms of what we're thinking for 2022? And then, in a little while, we'll have you back on to talk more about it. How's that sound? DIANA: Yeah, it sounds great. CHAD: Okay, community has always been a big part of thoughtbot. It's what has driven a lot of the open-source that we've done, our blogging. But what do you mean by community in 2022? DIANA: Well, we started off this conversation by talking about remote and some of the pros and cons associated with it. And I think that one of the things that remote does there's a lot of benefits to it. But I think that we need to help overcome the challenges, and I want us to do more of that in 2022. So, for example, creating a culture where people feel the recognition that you might be able to do more in person than you do remotely or lessen feelings of isolation that some folks feel, bringing out the quiet voices among us, giving them space to talk and give their voice. How can we make that happen? Finding ways for people to build relationships with each other and maybe people that have never met, that are on different teams. How do we make that happen? Just overall experiencing a positive, respectful and inclusive work environment. That at a remote level is something that I think we need to dive in deeper this year. And like you said, we can dive into that more at another time. CHAD: Yeah, I'm excited. I feel it too. And it comes from I think maybe it was Stephanie or Louis that was talking about it, both members of our team who were generally like, when you were in person, there was an ease to either talking to someone off-hand or even just when you have a daily sync every day in person, it's easy to recognize a success and to have everyone applaud. And when you aren't in person with each other, you need to work at it more to really foster that sense of team and community. And that's clearly part of what getting through 2021 and settling in and getting to the next level is about for us. DIANA: Yeah, absolutely. CHAD: Cool. Well, if folks want to get in touch with you or follow along with you, where are the best places for them to do that, Diana? DIANA: I started off last year actually doing some tweets, and I'm not very good at it. I totally stopped doing it. But I'm going to try to do more of it. I can be found on Twitter @dianabald, first name, last name. I'm on LinkedIn, first name, last name. The good news about my name is that there's not a lot of me out there, [laughter] people with my last name. So I'm easy to find. And by email, it's dianabald@thoughtbot.com. CHAD: Great. You can subscribe to the show and find notes for this episode along with transcripts at giantrobots.fm. If you have questions or comments, email us at hosts@giantrobots.fm. I'd love to get some comments and questions in 2022 and bring them to the episode. And you can find me on Twitter @cpytel. This podcast is brought to you by thoughtbot and produced and edited by Mandy Moore. Diana, thanks again for joining me. DIANA: Thank you, Chad. Thank you, everybody. CHAD: And thank you for listening. See you next time. Announcer: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success. Special Guest: Diana Bald.