The Test Set by Posit
A Posit podcast for data science junkies, anomaly hunters, and those who play outside the confidence interval. Hosted by Michael Chow, with co-hosts Wes McKinney & Hadley Wickham.
The Test Set by Posit
Curiosity, duty, and existential dread — with Joe Cheng
Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.
Joe Cheng is the CTO of Posit and the creator of Shiny. He joins Michael and Hadley to talk about why he almost walked away from AI work entirely over ethics concerns and what it takes to lead a team that didn't necessarily choose you. Plus, why saying yes to everyone is a worse strategy than it sounds. Bonus: Hadley calls out Joe's people-pleasing in real time.
What's inside:
- Joe's 2012 self-doubt spiral that accidentally created Shiny
- Why Joe almost quit working on AI entirely
- The "loaded guns" problem with releasing AI tools
- Hadley's blunt leadership style vs. Joe's people-pleasing
- Nobody actually wanted to make Joe CTO?
- Joe's take on curiosity, duty, and fear as motivators
Welcome to The Test Set. Here we talk with some of the brightest thinkers and tinkerers in statistical analysis, scientific computing, and machine learning. Digging into what makes them tick, plus the insights, experiments, and OMG moments that shape the field. When I asked Joe Cheng what gets him out of bed in the morning, he told me it alternates between duty, curiosity, and fear. Joe's the CTO of Posit and the creator of Shiny, a dashboarding tool heavily used in the R and pharma communities. In this episode, Joe unpacks that answer, the quiet routine of duty days, what it means to be a reluctant leader, and why building AI tools today feels like excitement mixed with existential dread. We're joined by a longtime collaborator and my cohost, Hadley Wickham. They're opposites in a lot of ways, Hadley all conviction, Joe all caution, but they've spent a decade riffing off one another. And honestly, I love their dynamic, so I'm so excited for you to listen to Joe Cheng. Alright. Joe, welcome to The Test Set. I feel like this is a really stacked interview because obviously you're the CTO at Posit, joined by our fabulous cohost Hadley, who's chief scientist at Posit. I'm really excited about, honestly, like, having worked a bit with the Shiny team, like your work on Shiny, but also so so much more stuff like you work as CTO at Posit and obviously, ever everything you're doing with AI. So just super excited to have you on. Yeah. Glad to be here. Maybe I just kick it off— could you tell us a bit about how you and Hadley like have interacted over the years? Like do you hang out? What's what's that like? Yeah. Yeah. I think Hadley and I, we we started working together in 2012, right, when you when you joined us at RStudio at the time. And I it's a little embarrassing how fawning this is gonna be. But one of our first interactions and me not really knowing what to expect from you, like just being the creator of ggplot and that was about all I knew and someone who could help us kind of bring some taste, like the R, data scientist taste to what we were doing. But you asked me a question about parsing CSVs. Do you remember this? And I gave you basically the beginning of an explanation and I said like you want to use like a deterministic finite automata and you can think of it as moving through a few states and you were basically like, got it. And I was like, okay, come back when you have questions. And you came back with you mean like this and you had fully sort of mapped it out. And I think that pattern has been pretty consistent with us working together is that it feels like when I work with Hadley, I just have to say the beginning part of a sentence and he's like, I got it. And he actually gets it. Whereas I think most people- Like, just stop stop talking. I'm bored. Yeah. Yeah. Say less. Say less. Yeah. Whereas, you know, I think especially at the time, a lot of people that I was working with that did not come from a software engineering background, they came from, you know, more data. I I I was just used to, okay, I'm gonna have to repeat this like a number of times. We're gonna have to approach it at multiple levels of abstraction before they kind of fully understand. And and with Hadley, it's always been it's always been this shorthand. And and that that really carried into when Hadley wrote Mastering Shiny, the book that I wanted to write but was not able to. And and Hadley, you know, it's easy for him to write books. It was easy for you to write books, but you were missing, like, so much not not just, like, details about Shiny, but the details about why things were a certain way. And I don't think I could have transferred the information to someone else because there was so much information to transfer. But I felt like with you Hadley, it was like in fifteen minutes, I could convey like months of work of, you know, really intricate details about the way reactivity works and why there's sort of like this push pull effects to reactivity. And I really felt like for someone else, each one of those points would have taken, like, a couple of days to really get them to understand. And with Hadley, it was always just like, okay, I got it. Which which is it it's a very it's an exciting way to work, I think, when when, like, we're we're able to transfer that kind of context, like, almost as fast as we can we can talk. And I and I hope that, like, when we work together, I'm able to hold my own enough that, you know, it's a pleasant experience for Hadley also. No. I I think I one of my, like, biggest regrets of, like, RStudio slash Posit is just that we haven't had, more projects to work on together that we could, like, really crank on because that's yeah. Like, I love writing Mastering Shiny too because I'm like, okay. Yeah. I can ask these questions, and I get clear obvious answers back, and they make sense and I can, like, push you on bits where I'm like, I like, I I wouldn't have done it this way. I mean, get get, like, get answers that I'm like, okay. Yeah. That's I didn't think about that. From the outside, like, having seen Mastering Shiny before I knew the context, it was so surprising. Like just to be like, Hadley, what are you doing here? Like Mastering Shiny. But it is It's like in your lane. So valuable. Yeah. I I could see the value of like really picking up something you're like less familiar with and that that transfers to people who are reading it that you had to kinda really wrap your mind around it and versus a person who built a thing and kinda knows it intimately, figure it out. Joe is one of the many people I've given my advice to, like writing a book is easy. You just have to write for like an hour a day and then like after a year, like, you'll have a book. But I don't believe like anyone who successfully followed that advice completed a book. So it's clearly not good advice. Hadley, do you think about, like when you think about throwing things at Joe, like, what types of problems stand out to you as, like, Joe shaped problems? What would you be like? We gotta put Joe on this. Thinking back to the early days, like, coming from, like, academia to Posit, it was just amazing to feel, like, my ideas were, like, respected. I was like, oh, like like, peep these people just, like, believe what I am doing is, like, useful and important to have just so, like, freeing and then be able to be able to, like, interact with them on that, like, technical level and to never there's definitely this, like, kind of I I sometimes feel myself falling back into this when I, like, visit universities, but there's kind of, like, academic one upsmanship where you're like, you know, everyone's a little insecure in their positions. So it's about, like, making sure you're kind of, like, you know, making yourself feel good and other people feel not so good. Look. Because, like, one of the things that I I felt when I was in academia, it was, like, so hard to ask questions about things that I did not know. But that that about, like, every statistician should know, and there was, like, never that at RStudio. Like, I could ask Joe and JJ what seemed like the dumbest questions, and they were just, like, endlessly patient with me. And and it didn't like, it didn't feel like they were like, oh, what an idiot. He doesn't know this. They're just like, yeah. Like, people are really good at some things and don't know about other things. It's just yeah. All learn stuff together. That was that was, like, so like, that was just an incredibly, like, freeing experience for me. Yeah. Yeah. I could see that coming out of, like, those, like, classic academic brown bags where you're getting, like, hammered at the end. Yeah. I yeah. I'm curious. Joe, I know you you probably gave me one of the most intriguing answers to a question I asked before this, which was what gets you out of bed in the morning? And you said a mix of curiosity, duty, and or fear. I I was gonna ask you and have you repeat that but I'm actually so intrigued, I thought I'd just lay it out there and try to get your take because that I've been just haunted by this statement and I'm so curious about that. Yeah. So I think on my best days, it's curiosity. On the best days, it's like I have this burning idea and I can't wait to see if it works. Those days are not often. But when they happen, not only are they so fun and so exciting, but often those are the days where there's like a big breakthrough, you know. And once in a while, if lightning really strikes, you know, the early days of Shiny, it was like that every day. The the early days of working on LLM APIs was like that every day. And that's those are just, like, highlights. I think, like, ninety percent of days, it's duty that it gets me out of bed. It's just this feeling, like, the company's counting on me, my team's counting on me, my family's counting on me, our users are counting on me. And it's just time to get up and make the donuts, you know. And there is something that I think is very noble about that. There's something that I I think there's something very satisfying about just quietly doing your job when there's no glamour in it. It just that just feels like that's most days and that's okay, you know. And then there's the fear days where I'm I'm driven by a sense of anxiety or dread about I gotta stay ahead of our competitors. Got like the or the fear of like being embarrassed on stage, you know, or the fear that we're that I'm personally falling behind in adopting some new technology or understanding some new hot concepts. Those are the worst. The fear days, I think, they can easily lead to working really hard in unproductive directions or sometimes even counterproductive directions because like the impulse to do something is so strong as like a way to like cathartic cathartically bat away the fear. And unfortunately, I feel like there's been way a disproportionate amount of fear for the last year just because AI is just it's it's just moving the playing field so much and so often and so quickly. And and I it's I don't think it's it's just me, it's just us at Posit. It's the whole industry I think. It it's yeah. It's just like a time of fear like excitement, yes. But also like this just existential dread and worry that underlies everything. I find that framing so interesting and there's so much to unpack there. But I it does also kind of remind me of your like twenty
twenty two rstudio::conf() keynote where you talk a little bit about creating Shiny in some of that environment. Like, as I understood, stand it, you mentioned, like, being on the verge of quitting essentially before kinda like hitting that key idea. So I almost wonder like I'm really interested to unpack a lot of what you said about fear in the context of AI and in today. But but to get there, I'm I'm curious if you could bring us back to like twenty twelve and and some of what you mentioned at the keynote, like that like mix of curiosity, duty, and fear in twenty twenty twenty twelve with Shiny. It's funny. I didn't make a connection to that moment, but you're exactly right. Like that's exactly illustration of what I'm talking about. Where I think I started working at RStudio with JJ in two thousand and nine. So by twenty twelve, it had been about three years. And at the time, three years felt like a long time to me. But also, I just I felt like I've been working with JJ for a number of years. I think the world of JJ, I'd really mean, it was the whole point was to work with him. That was the whole reason for joining RStudio, was to keep working with JJ. But I had this feeling like, is this all that I get to be? You know? A lot of my friends were, at that point starting companies or exiting companies, like getting successful exits. Others were I had a friend who was like the head of project or product management for Android. You know, I mean like just people who were like my classmates and peers that I was like, if I don't start a company, who am I? Like like, can I even say that I have been successful? And I was really consumed by that, like, I think what I would now call FOMO, you know? But at the time, just felt like I'm just am I okay with this? Like, I'm just gonna be a failure. Not a failure, but like my my world is so small compared to, you know, people I considered peers. So I didn't have an idea. Like I didn't know what kind of company I wanted to start. I just knew like I need to be a founder, otherwise I won't consider myself successful. And yeah, like JJ was super supportive about it and he was like, okay, I mean, like I think you should have an idea first but like whatever you decide, I'll I'll support you in that. And yeah, it was I committed to him. Like, I will be with you and focus only on RStudio until the last day of the useR! conference that year. And I woke up on the last day, know, basically the last day before I was going to start a several week soul searching process that was going to hopefully turn into I have a killer idea and I leave and start that company. And that was the day I thought of Shiny. And I think I described it as like a a switch being flipped. Like it really was like a night and day difference before and after that that like thunderbolt of of Shiny struck me. And like that I had thought that this was about me really wanting to start a company, really whatever. But it just I don't know that that a technical idea could so completely erase that feeling of needing to prove myself, needing to go do this, needing to measure up to my peers. I never would have predicted that. So that I mean, it really was like a different mode. Like my brain entered like, Okay, let's build. And who cares? Who cares what your title is while you're building it? Who cares what people are going to credit you for this or whether you get to call yourself a founder. It was just like, let's build. Like, this is going to be awesome if it works. Like, how could we not how could we not just focus all of our energy on on doing this? That was like a huge lesson for me that like the thing that you think is the problem, the thing that you think is causing you unrest, like maybe it's not the thing. But the biggest takeaway is like, I feel like it would have been miserable starting a company to start a company. It would have been miserable trying to be a successful founder so that I could measure up to by the way, people that I will never catch, like I could not have caught had I started my own thing, I truly believe that, who are just born to do big things. And I think I was born to build little medium size, little to medium size things. And that in when the right idea strikes, that's more than enough for me. It's interesting to hear too like if I understand you're saying that at the time like a lot of your framing was like I need to start a company and be successful or do a big thing. But looking back, it sounds like you're saying like you really appreciate the level of support you had at the time to kind of find something and to work on it that actually like, you're realizing like the position you're in was pretty good and actually like a good fit for you. Yes. I think there are a couple of reasons. Like the first was yes, I didn't didn't have to do all the other work that comes with starting a company. The second is like having JJ there. I have like a built in co founder and I know I mean, Hadley knows this about me well. Like I I have very high levels of self doubt, which is often helpful, you know. Like it's often helpful because it it stops me from getting too lost in my own blind spots most of the time. But to be a true, especially solo founder, you need conviction and you need it all the time. That's very difficult for me. And then the third was like, I didn't want to build this and not have people use it. And we had RStudio. Like, it was working. You know, we had a community that was building. And I it was more important to me that this thing launched to a receptive audience than it was for me to, I don't know, have a hundred percent of the equity or whatever it was, you know, that that might have been competing with that priority. So, yeah, I I never I didn't even really give it that much thought. It was like as soon as it was, oh, this is the idea. It was like, yeah. I'm I'm obviously doing it here. I mean, Shiny is, like, vastly more successful than most startups. Like, even if you just, like, looked at the impact of, like, Shiny on bomber, it's that's, like, pretty pretty incredible. And it happened, like, pretty quickly. Like, was it plugged out? Like, people like, that was a like, when I remember when I first heard about Joe first heard about Shiny, I was like, oh, a web development framework for R. Wow. That's something R really needs. But then it, like, it turns out, actually, that is what R needs. Like, people need a way to, like, train their ideas into little interactive apps. And it was, like, such a killer like, it just made, like, data scientists look so impressive to people because they're like, oh, I just thought you were this, like, data scientist, and now you're an app developer. Like, I remember there are people in the early days who are like, you know, you Shiny saved me two hundred thousand dollars because I prototype I could prototype this app in a weekend instead of hiring a developer and do it for me. Like, it was, yeah, pretty crazy. I guess jumping forward, it seems like twenty twenty two was another really kind of big point where you were really focused on, like, Shiny for Python And RStudio, I think at that same conf I think you announced in that keynote our studio changing its name to Posit? Hadley and JJ announced it, yeah, that morning. Yeah. That's right. Yeah. What was twenty twenty two like then? Like thinking about what what do Python users need and kind of that? How was that for you? Yeah. It was, yeah, a really fascinating couple of years there. It's a complicated story because we've done Python stuff for a while, right? Like we did did Reticulate and there were some Python support in RStudio. But I think it was clearly like this is an interop story, not a we're not like actually targeting making Python users lives better until like twenty twenty one, twenty twenty two. And we had talked about it many times. I think at a lot of company work weeks, the leadership team would get together, look at each other, and be like, Python? Python, anyone? And it always felt for years we kept saying, no, we can't afford to dilute our focus. There's so much to do for R that we can't afford to dilute our focus. And also, like what kind of message is this going to send to the community? Like, does this really make sense for us to do? And what I recall correct me if I'm wrong, Hadley is that when we started talking about the idea of Posit being around for the very, very long term this is not just a company we want to be around for ten years. We want it to potentially be around for one hundred years. That was when it went from should we do stuff with Python to when do we do stuff with Python. Because it just became clear, if we truly believe that we want to be around for a hundred years, we can't be a one language company. That just like it doesn't make sense. It it won't even be Python, it was not gonna be the the terminal node. This is just this is just a journey that we're on and we're gonna get through many languages. So, you know, may as well it's just a question of when do we start, you know, n equals one becoming n equals two. So I think in that sense, it went from a very difficult decision to a very, very easy decision. And then it was just a question of how do we do this? Like, how do we kind of reach Python users where they are? And to be honest, it is a challenge for us. It continues to be a challenge in a way that is very different than the challenge with R. I think R was a difficult it was difficult because R was not seen as a language that was for a bunch of the things that we thought it should be for. So maybe we had we had to overcome skepticism that R was even for this and we had to demonstrate like, no, R is amazing for this. And over time, win those battles, you know, one heart and mind at a time. Python is almost the exact opposite problem where like Python is acknowledged to be good at so many different things. And in any corner of the Python universe, there's six things vying to be the solution for that thing. Every once in a while, one thing just completely dominates like uv recently. But I think it's like much more normal for there just to be, you know, a lot of a lot of different options and and like Python users just have to make sense out of many many different, competing ideas and competing viewpoints. So I think for us, the challenge was and is how do we take we don't want to be too literal in how we transfer the lessons from R over to Python. Python is a different language, it has different idioms and different norms. So we don't want to slavishly copy what we have been doing in our world. But at the same time, we do have a point of view, right? Like we may not literally want Shiny to work exactly the same way that it does in R. But we believe that this reactive model is useful for a large class of applications that are relevant to data scientists. Know, like we feel that there is something really fundamentally good about the way literate programming worked with RMDs. And we want to make that available to QMDs but with a totally different architecture. And, yeah, just like working in a totally different way with the Jupyter kernels versus with, you know, in our execution engine. So you can stop me at any time because I could go on about this for a while. But I think one thing that I do want to point out that I feel like it is I think Jonathan McPherson said during
last year's posit::conf() keynote that he gave that the tools we build shape our thinking or the tools that we use shape our thinking. And there is it has been interesting to realize once you hold these two ecosystems up right next to each other, how much are users thinking is shaped by what the tools can do and how much that's true for Python as well. And also true of the limitations of these tools. Like not to pick on any particular. There are certain Python packages say for, you know, building data oriented web apps that someone coming from Shiny for R would look at that and be like, that'll never work. How do you handle x y and z critical scenarios? So it it is a really interesting challenge for us to reconcile these these two value systems and and kind of learn by doing and and see what resonates with people and and see what doesn't. But it it it has been surprising over and over again as as we've engaged with the Python community. Yeah. Yeah. It's so interesting. I also love if you throw like dbt's community, the like SQL dbt community in the mix. Now you have like three a three piece stew. Yeah. And then let's layer AI on top of that too. I mean Yeah. Yeah. Exactly. And it does feel like sequel is gonna be our n equals three, I think. Hundred percent. Yeah. But not yet, but, like, that is a direction we're moving across so many different projects. Like, like, every every data set just has to use SQL. I I'm curious too between, like, twenty twelve and and twenty twenty two, like managing the work. I'd I'd imagine the way the work rolled out was really different in twenty twenty two compared to what you were and how you're working in twenty twelve. I'm curious if you could say a little bit about that aspects of things. Yeah. Yeah. Totally. Twenty twelve was like a fever dream of coding. I mean, I look back now on some of the things that Winston and I did in those early days And, like, I don't know if I could do them today. Oh, with Claude, I could totally do it today. But, you know, I remembered httpuv, which is the the web server we had to write for R. That was like a lot of C++ code. It wraps the libuv library and then imports some http parsing code that I think Ryan Dahl live coded and I like watched his YouTube video and then, like, grabbed the the script that resulted. Anyway, had to build a web server package for R and I remember that taking six months. And then years later, went back to do some sort of archaeology and it turns out that we had done it in, a month or something. I'm like, just way way way shorter than I ever could have thought. And over the years, that became harder and harder to do with Shiny as well, first of all, it went from, I wonder if this will work to, like, a lot of people are counting on us. And anytime we had a backwards compatibility breaking change, it like, people let us hear it loud and clear. Like, we do not appreciate this. Can we talk about that for a second? Because I think that's another interesting difference between you and me. Because, like, when people complain to me, I'm like, well, like, this is the right way to do it. So I'm sorry, but psych it up. And you're like, oh, no. I've irrevocably harmed these people's ability to do their work. Yeah. In a in a lot of ways, Hadley, it's amazing that we're friends. Like, there's so many things that I feel like we're so our personalities are so different. And I think that's one of them is that, like, when you are convinced that something is right, like, you're very unafraid of being, like, crystal clear about, like, you know, you have that opinion. That's okay. I get to decide and it's gonna be like this. Which is which is not always a good thing to be queer. Like that like like sometimes, like, it's great and then sometimes that means, like, it's stockholding the wrong opinion for too long because I'm not listening to people. But also, I I mean, I I was gonna caveat that by saying you don't hold onto ideas too hard. Like if someone does prevent you present you with what you consider real evidence that you might be wrong, like you're very quick to change your mind. It's just that like in the absence of that evidence, you're not gonna be shy about, like, well, I understand that you feel that way, but I'm gonna go with this because I believe that it's right. And and I think my sort of politeness drive and, like, let's all get a long drive makes it much historically, it's been much more difficult for me to be bluntly, like, okay, agree or disagree. We're gonna do it my way. So, like, a lot of Shiny tickets would kind of peter out. You know? Like, just maybe if I ignore this, it'll go away. And I like to think that I really have learned from you, Hadley, in this in the value of just say it, you know. Just say it. It's gonna be fine. People will actually appreciate it. Like, people most people do not get mad. Some people get very mad, but most people don't get mad about it. And and, oh my gosh, like, double and triple that if these are people who work for you. I mean, like, it is a moral obligation to be clear and not polite. That has been a painful lesson for me to learn over the years. But it's just so interesting, I think, that, like, it feels like you were born this way, Hatley, you know. And I was born, like, at a in a very different attitude about this. Which I I don't think I actually was. But yeah. Like, I don't know how I got to this point of certitude. But When do you think you hit that point, Hadley? How did you when did you crash Certitude Mountain, you know? I don't know. I kind of feel like a lot of that, like, I got when I got to RStudio. It's maybe it was like suddenly, it's like, oh, these these people I respect now, like, trust my opinions? Like, maybe I do know what I'm talking about. I just assumed that, you know, there was some old crusty professor who was berating you, and in that moment, you were like, never again. We'll never bend the knee to a lesser, you know, idea or whatever. I have to realize, like, I am primarily driven by, like, anti role models. Like, there are not many people I can point to where it'd be like, I wanna be like Dan. There are lots of people I can point to and be like, I wanna be the opposites of that. Interesting. I love it's like the the machine learning model where it's like classifying binary classifier, but it's in reverse. So you just flip it. You're like, not that not that not that. Yeah. That's wild. I I think this also gets to Joe, when I asked you before this how you describe your leadership style, you just said reluctant. Maybe you could unpack that for us a little bit. Funny. Did I leave that in there? I forgot that I Maybe I made it up funny. No, no. I definitely wrote it. I just thought I was like, just kidding. Okay. Yeah. I am for sure a reluctant leader. I ironically went to school for management and I thought that I wanted my career to be managing technology projects, managing engineers, maybe someday being a CIO. And it wasn't until I graduated graduated MIT only having studied management. And like right after I graduated, I was like, I actually programming is my main thing. And I had just left the institution that would have been like the best place to study that. So I was able to like in my first full time job, within a few months, I was managing a team of I had two reports. And it didn't take me long to be like, oh no, like this is not for me. Like, I'm not the right shape to do this. This feels hard and bad. And yeah, I had to let someone kind of counsel someone out within the first few months. I was like a twenty two year old. I mean, I just everything about that job, I was like, I would so much rather be coding than it would be better for the company if I was coding. So ever since then, I've really resisted being a lead or a manager of any kind. But circumstances keep compelling me to step into that role just because, like, to be honest, every time it's sort of been like, well, it's not ideal, but Joe's gonna have to do this. You know? Like, nobody looks at me and thinks like, oh, let's bring in our top notch management talent, Joe. You know? It's always more like, well, it seems like it can't be anyone else. So it's we're gonna have to settle for, like, having Joe lead this. That was the case with Shiny. I think that is a that is a very negative characterization. I can bring I I can bring a lot of evidence, I think, that, you know, we You got receipts. I can say that because I think we've tried we've tried many times, like or at the very least at the very least, people are like, let's give Joe a break and have someone else lead. But there always seem to be reasons why that doesn't work out. I think in the early days of Shiny, there was just I had such a clear vision in my head and it probably took like four or five years before just the set of things that I, like in my head were already built but they needed to be like actually built. Like that would have been a hard environment for someone else to step in to a place of leadership when like I created this project, like I needed to review all the PRs, I hired all the people. Like it was it like the more I played that role, the more it ingrained me into that role and made it hard for someone else to come in and take my place. And I think the same thing happened with the AI stuff that I'm working on now. I'm leading a team doing sort of focusing on AI within Posit I mean, every team is working on AI in some way. But there is a team that is specifically like this is what we eat and breathe and dream and sleep about AI. And yeah, I think once again it was like who else could run this, you know, given the shape of the charter of this team and what needs to be done. So I'm always like looking for ways to especially the CTO title, I'd really prefer not to be CTO. I've made that pretty clear to leadership and it's just like this is kind of how it has to be for the foreseeable future. So like in my fantasies, I imagine someday having my title go back to engineer and having like someone that I really trust and enjoy working with be manager that I report to and just being able to focus on the part of the job that I most enjoy. But feel like we're not close to that being the right thing for the company. So until that happens or I just hit my limit and I'm like, can't do this anymore. It kind of has to be what it is. But I will say I have, once again, I think, like Hadley and I have talked about this a lot. And one thing that has made it much easier is, like, learning from like, Hadley manages teams in a way that works for him. I was gonna say if you wanted to characterize my leadership style, it would be benign neglect. You're let giving people autonomy, you're letting them thrive. Is that the Like, I I don't know. I think, like, Joe Joe is a better leader than me, but he also cares about it more than I do. So I don't know. I'm just like, I'm not I'm like, whatever. Someone's gonna do it. Yeah. Better than malignant neglect, I guess. Yeah. Exactly. Better than malign neglect. But but I think, Hadley, what makes it work is that the people that work for you, that is actually what they prefer and enjoy. And it's shown in the tenure that we have on your team, on a lot of our teams, like it's working. Like this is the way that they want to be managed. And it would be really it would feel really bad to be managed by a more traditional you know, scrum, you know, agile, whatever. And I think being willing to be clear eyed about what do I need as the manager, like what do I need this team to be in order for this to work for me? And how can I select people for this team that that's going to work for them as well? Instead of, I think, what I thought before, which is if I can imagine this person being a big contributor on my team, then I will become whatever shape I need to. Like, I will be the universal adapter for all of the spiky shaped individuals on my team. And it is my job to fill in all the gaps, to do whatever emotional work with them needs to be done for them to be effective, to fill in whatever technical gaps they might be deficient at for them to be effective. And I did that for a number of years. And that was a recipe for burnout kind of predictably. And also I think it didn't work great for the people that I was doing this feeling like I was doing this in service of, you know. So this this latest iteration of both the Shiny team and the AI core team. I'm really surprised. I thought you were saying that that worked for you. So I at least just wanna dwell there for a bit because I I thought you were saying like, when I gap fill for a person who's like really effective, I feel like I'm really doing a good job. But it sounds like that you mentioned like burned you out a bit and kind of didn't work for them. Like what went wrong? I think it it is rarely as cut and dry as like this person just needs this, know, they're great at everything except for x. If I can provide x, they're like incredibly effective. What it looks like more of the time is I have this person that is a middling amount of effective. How many different things can I try to compensate for that or to align them in a way that they can be maximally effective? And it is not a feedback loop with super tight intervals. It is not a feedback loop with super clear signals. And instead, it feels I mean, feels a lot like parenting maybe. It feels like I'm doing a lot of work to really understand someone. Like, and not just what they're saying is the problem, but what is the problem behind the problem, you know. Sometimes, like, it feels like almost like we have to do therapy to get to the bottom of like what is standing in your way or why are you feeling so angsty about this or that. And that is really exhausting. It's really exhausting work when you're doing it for five, six, seven people. And if you finish that work and you don't see a big change or you finish that work and people don't recognize you as doing that work, And in fact, like that work not being legible to the other managers in the organization who really kind of just see that you're doing things in a weird way. And yeah, I I've definitely come in for some criticism from the rest of the organization. So yeah, I think at this point in my career, I'm much more excited about finding people with compatible shapes to me. And what one thing that's helped is that I'm more clear on what a compatible shape looks like to me and the kinds of people that I think can be very effective under my leadership or even as a collaborator and the kind of people who, like, it's going to be a struggle. And if the stakes are high enough, I'm happy to say, like, sorry. Like, we're you're gonna have to change seats or, you know, you're gonna have to get up so someone else can sit there, you know, because it's it's what I will need for this to be a sustainable kind of an operation. Boy, this got very frank. No. I I honestly think it's so helpful and even you framed it as burnout, but maybe in another way it's also kinda like being kind to the the person. Like if they won't have a great time in in that spot, like am I kind of like artificially propping them up versus giving them like frank feedback? So I I often like think of gap filling as like really a really powerful strategy. So it's something that I'll definitely think about. Yeah. I mean, I think it can, like, it can be really powerful, but it can also be, like, disenabling in the sense of, like, if you were just gonna, like if someone is not doing something that they, like, should learn how to do and you just do it for them, like, that, you know, that there's there's lots of reasons to do that in the short term, and it can be really powerful and useful. But in the long term, like, that doesn't necessarily, like, serve you or serve or serve them. And that yeah. I I think, like I don't know. Like, it took me I also had, like I don't know. It took me a long time to get to the point where I can, like, give people, like, direct feedback without, like, you're, like, disappointing me. Like, you're not like, this is not working the way it should do or it it needs to work. That, like, that is, like, that is really tough to deliver, but it's also better than the alternative because, typically, people who are not doing well, like, they they know it. They can get their sense. You might not be saying it directly, but they know you're unhappy. And if they don't know like what is wrong like they can't respond. Yeah. I'm I'm curious your thoughts on today now where you mentioned you're leading an AI team. What yeah. How how do you think of things today? Yeah. Yeah. The first thing that struck me Actually, it was it was one of your questions you asked me earlier Michael before this recording. It really made me think about the fact that a lot of the earlier moments in my career, the exciting moments were just exciting and this particular moment is exciting mixed with existential dread. And like that that combination is so weird. Like it is such a strange sensation to build something that you're both incredibly excited about and also, should we even be should we even be doing this? Like, is this the right thing long term for the industry, for, you know, people who are going to use this for the planet? And and yeah, I I have felt more conflicted about this work over the last couple of years than like at any point in my career where the the sort of push and pull of AI has has like literally kept me awake at night wondering, should I be doing this? Should I abstain from being involved in this technology at all? So that's the first thing I think that is really striking about this moment is how much sort of ethical soul searching I feel like a lot of us have had to do. And for me, I've gotten to a play we can talk about it if you want to. I've gotten to a place where I don't lose sleep about this. I'm quite convicted that the work that we are doing is net positive and it is important that we continue to do it. But the other, there are some other things that are really weird about this moment. This, like the technology, like LLMs as a sort of core technology, the fact that they're both so incredibly capable and until like very, very recently, I'd say so, so unintuitive. Like it's so unintuitive what they're going to succeed at, what they're going to fail at that it's almost impossible to come to any conclusion about whether something's gonna be useful until after you've built it after you've built it. Like, it's hard to reason from first principles whether you should harness them this way or that way. And then at the same time, because the tools that you build so fast, that's actually a viable strategy. Like we don't we don't don't ponder on paper, we ponder with prototypes now, you know. And it's created this whole new motion of just, you know, my team and the teams that I am in close contact with are just throwing off massive numbers of ideas every week. And it's it's no longer a generation problem, like generating features, generating code. It's like a curation problem. It's a conviction problem, like developing conviction about what you think is right for the user. That is now the big struggle. And ideally, the key differentiator for us because collectively, we have so much experience in data science and we have really strong opinions about the right and wrong ways to get answers. If correctness is important to you and reproducibility is important to you, we have a lot of opinions about that. And I think a lot of people, a lot of competitors or ostensibly competitors have different priorities, which gives us sort of a unique viewpoint to build around. But it's still like, it doesn't feel like any other motion in my career, you know, where where it's the it's the conviction and it's the editing. It's not like it takes you x amount of time to come up with the idea and then ten x that amount of time to execute. It's it's really trying to think of like what do we actually think is the right way to harness these things and then the building of it is relatively straightforward. And then on top of that, it's changing all the time, right? Like every model, the lessons we're learning about building harnesses collectively as an industry, it's changing so fast that it adds another level of of complication to try and to form conviction around things. Because you have to have conviction that it's gonna stay constant for six months or hopefully more more than that. So a really weird time. Is the thing that's keep that was keeping you up at night asking like what what would be useful for people or was it something No. It was is it ethical to work on these things? It ethical? Yeah. Yeah. Is it is it like considering the negative side effects of this technology existing, not to mention the negative potential side effects that, especially two years ago, were quite extreme. Like, people were well, I guess, some people still do, but, like, it was much more in the discourse that these things could kill us all or, you know, some up approximation of of dooming the human race. And it is certainly, like, what effect is this gonna have on knowledge work? What what effect is, like, this amount of change this fast gonna have on our economy and society? And the copyright, you know, the copyright infringement, I guess, that these models were mostly built on being an ethical problem. And then also, I think on top of that in the particular domain of data science, the ability of these things to so quickly and easily give you answers that you don't know if they're correct And feeling like, I don't know, we could build tools that are like handing out loaded guns to the the general populace and then just like having a warning sticker on it, like, warning, this is a loaded gun. So we're cool. Right? Like, we did our job. We warned people, so it's really on them. But, like, if you know that people are gonna, you know, shoot their feet off or whatever with these guns, is it really ethical for you to release that, like, into the marketplace? So those were the kinds of questions I think that, like, I really legitimately struggled with. Should I go to, you know, to Tareef, our CEO and tell him, like, I wanna keep working here but I don't wanna work on AI anymore. Like, I'm conscientious objector or maybe even, like, if this company is gonna continue to develop AI then or develop solutions around AI, then I need to work somewhere else, which is ironic because I was literally the one leading the charge at the time, you know. So it it was not a a statement about whether I should continue continue to be neutral. It's like I'm literally evangelizing this technology within the company and to our customers while feeling intensely conflicted about whether it was ethical to to even have an open AI open AI account or whatever. And I don't mean to say, like, I knew that it was unethical. It was that I I was really, like, riding that line of I can't decide if this is, like, net very positive, net very negative. Like, catch me on a a different day, I'll have a different answer. I think it's, like, so hard to kind of balance because it feels like the the good things are, like, so good and the bad things are so bad. They're both, like, really large numbers, and what do they cancel out to? And I like, I think how this your mind seems now is, like, they neared out to something that's, like, mild to moderately positive. Like, that doesn't mean there's still not, like, lots of really bad things, but maybe mostly kind of balanced out by the the good things. And, like, we have the opportunity to kind of at least try and accentuate the the positives and make the negatives worse for, like, some make the negatives less worse for some group of people. That's right. That's right. Yeah. And I think for me, it's not so much like today's trade offs, like, the the the harms and benefits that have been realized today, I do agree are mild to moderately positive. It's the potential harms and the potential positives that really like, it's like the the error bars are like this. Right? Or the error bars are very wide, I guess, going forward. Yeah. Yeah. Because I think the other thing that makes it so hard to think about is it does feel like if we as a company don't buy into it, then, like, the company is not gonna exist. And, like, how that that like, I think that just makes that so hard to tease apart the kinda, like, pure ethics from, like, okay. Well, I, you know, I like my job. I'd like to continue having this job. I like the people I work with. I like they want them to keep having more jobs. And, like, at what point are you willing to pull a fire alarm and say, like, like, we have to stop this train even and accept that, like, by not doing anything with AI, like like, that's the end of the business in five or ten years. Like that just add all of this, like, additional, like, emotional weight to it. Yeah. And I think, like, for my ethical, like, values and framework, like, did not really I tried to remove that effect because, like, I I I don't like, everyone can look at this a different way. But for me, if I thought that it was the wrong thing and it was not harm for us to do this, but I didn't want people that are close to me to lose their jobs, that would be, like, these principles are inconvenient, so therefore, I'm not going to follow them. But the the one that really kind of I couldn't shake and ultimately won out over the others was that us abstaining or me me abstaining, even if I could get the whole company to abstain, that would not slow down the development or adoption of AI one bit. Maybe if everybody in, like, in a coordinated way, every company in the world decided to abstain, then yes. But but us taking this action would have no effect. But the good that we can do is in the specific area of data science and not just data science but like reproducible data science. And we actually have a differentiated viewpoint there and we have outsized influence there. And that because of that, because we have like we have no agency to slow down AI, we do have agency to help people avoid some of the harms in getting incorrect answers. That sort of extra agency there makes it to me like we have also a special moral and ethical obligation then to serve that role for our community. And that ultimately, like once I landed on that conclusion, I was like, Okay, this debate is over for me personally. And I worry about other things now. But I don't I don't worry about, you know, should I be abstaining from this, you know, this technology altogether. Do you think about like for a company like Posit that especially like our open source teams that have traditionally contributed tools like you put in like blood, sweat and tears for three months, three to six months or a year and you come out with something you think is really useful like a really useful tool. How do you think about that today? Like what's our output today to open source? Do you think it's still tools that people can use? Like what what do you think is is useful in 2026? Interesting. Yeah. That's it's really interesting how you phrase that. I do think people still are hungry for tools. But maybe this is what you're implying. I think they're maybe even hungrier for perspective, perspective on how to think about AI, how to use the tools that are out there, how to integrate the kinds of analysis that they've done in the past with these new tools. I'd say like this was probably even more so a year and a half ago where I just felt like my calendar was nonstop meeting with customers who wanted to talk about AI strategy. I think we're in the sort of experimenting phase now where a lot of those customers have deployed, you know, software agents. They've deployed our agents. They are building their own agents and people are trying different things and learning for themselves what's working. So we're seeing a lot of you know, at conferences, people are sharing, okay. Well, here is our here's the agent that were built that we built and here's what worked well and what didn't. And for some other companies, like, here's generation five of the agents that we're working on and here are the lessons that we've learned over like the last couple of years. So as that's happening, I think I'm seeing a little less please show us the way. And they're more coming back to us now and saying, Okay, we have opinions now. And we would really like your tools to do this or that or integrate with this or that thing that we already really like. Where is the MCP for x? You know? Or please deliver me a skill that helps me do y with your tool. And does that resonate with you guys as well? I'm curious how you guys would answer that question. Yeah. People spent like blood, sweat, and tears, you're saying, I think on open source bringing a tool to like, market or bring it to the world or the community. But how how useful is that in 2026? Like, why should I type it into my Claude Code instead of you typing it into your Claude Code? Like, I think there's some of that. So yeah. And I and I think that's true. Like, if if we know what the problem is and have a good sense of the solution, like, probably, it's, like, just a package to do something like that is less valuable. What I think is more valuable is, like, it is identifying that problem. And I think kinda, like, we we touched on this a little bit with, like, Shiny, like, before. Like, there's a lot of things that, like but but did Shiny add it to R that people were like, like, why would anyone want this? And then when you have them, then you're like, oh, actually, this is really nice. And I like, I feel like the same way with tidy data. Like, the principles in hindsight seems so obvious. Like, you put your variables in columns, and you put your observations in rows. Like, you know, do were they really necessary for me to take five years to, like, figure that out? So I think there's, like, there's still value in that and figuring out, like, what like, the like, naming the problems and being like, okay. You're facing problem x, and then that gives people something to, like, hang ideas in the head off. Like, the software, yes, is probably still valuable, but there's also, like, would you rather do this, or would you rather have a team of, like, professionals who do this day in and day out? But, you know, that's our job. And then we also see, like, all of these problems across all these different companies, and that users all over the world and that generality helps us create better solutions. But, yeah, I I have a lot of I think there's a lot of questions now about, like, what's the open source? What's the value proposition of open source? It's, like, fundamentally different now than it was a year ago in ways I don't think we have you know, we really appreciate it all. Yeah. I do I do wonder if that also hits back on Joe's earlier point too about I I I think quoting maybe Jonathan McPherson but of like if if tools shape our thoughts, you know, your point about as well like tidy data and bring out not just a tool but a perspective like how that can shape. There's kind of like two actions at play, there's the tool itself and then there's the kind of like thoughts it creates in people. And I could see that being a big And then there's this challenge of like like, obviously, we are all shaped by the tools we use. Like, how do you gonna skip outside of that and be like, oh, well, actually, there's a radically different future we could imagine that's gonna be better for everyone, but you and I could learn to think in a new way, and maybe that's gonna pay off and maybe it's not. Yeah. I it also reminds me too that you said, I think in a previous podcast, you mentioned, like, working on roxygen2 issues, I think. And so just just for context, like roxygen2 is a tool used to generate documentation for our packages. It's probably not the sexiest or funnest tool to work on, but it was sort of like undergirds everybody's or a lot of packages. And I I maybe that's relevant too is it's like, do we want a world where everybody just vibe codes their own roxygen2 versus like is reasonably happy with the one roxygen2 out there. But maybe like the scenario is like you don't even use roxygen2. Right? You just you have Claude Code updating some comment and updating, like, a beautiful, you know, interactive documentation website at the same time. I my suspicion is they were, like, inevitably tripped away from each other and become super confusing but like maybe that's not the case. Like maybe that's something that's now like more feasible than the duper was before. Yeah. It's fair. I yeah. And I did say that about roxygen2, too, but I do also vibe code a lot of web apps. So maybe these two things. Yeah. I guess I yeah. I mean, I feel because some of this where I feel like I am writing like more base R code than I ever did before because I'm like, yeah, the syntax is kinda ugly, but, like, I don't have to write that. I don't have to wrestle with it. And, like, when I'm trying to make a package, like, lower dependency, I'm like, well, like, Claude can figure it out. I can implement this algorithm from scratch in a way that's, you know, I'm like, I wouldn't do this because I don't think I'm I don't trust myself, but I trust Claude enough to do it as long as it's long with a bunch of tests. So yeah. Like, like, the cost of dependencies versus writing your own code, it's like that trade off has fundamentally changed. Like, it's gonna take us years to understand the consequences. I love people heard it here first. Hadley loves writing base r and is doing it all the time. And trusts agents more than he trusts himself. That's our sound bite. Yeah. No, Joe. This is this has been so honestly so inspiring I think. Just seeing you're like thinking about like leadership and a lot of these like moments in time, think your willingness to I think just like lay it out there honestly is so helpful. I I figured we'd end with something, what am I trying to say, maybe like a weird fact. But one I figured I'd dig back is as I understand it, Shiny is named after a particular sci fi series. Is that right? Yeah. It was a slang word in Firefly by Joss Whedon. And they would just they would just use the word shiny to mean like good. Like, in that show the way they they dropped their made up jargon. They just did it in such a casual way that, like, it felt like this is actually, like, how they speak. They're like, oh, that's shiny. I I can't even do it. Like, I still like, even trying to do it, I overemphasized a little. But they they would just say it in such a casual way that when I was watching it, I I thought to myself, oh, that'd be like a Shiny would be a fun name for some kind of open source project. And then not long after, I came up with the idea of Shiny and had to create a repo for it. And it suggested the GitHub form said, like, having trouble thinking of a name? Consider it was shiny something Octocat. And I was like, oh, man. It's gotta be Shiny then. And it it stuck. Do you watch a lot of sci fi or what? No. And actually, I mean, I tried multiple times to watch Firefly just because I felt like I don't know. It had such high nerd cred and it didn't land for me the first couple times I tried to watch it. And then it was this particular time, I was sick in bed with like a stomach flu or something. And that time, I got hooked and I was like, okay. Like, I watched this thing end to end. And the more I re you know, I've rewatched over the years, the more I've appreciated it. But it's funny because, like, I think in the beginning, the early days of Shiny, when people heard this, they're like, oh, you are also like a diehard Joss Whedon, you know, like super fan of Firefly. And I was kind of like, sure. Okay. But really, it was just like that name I thought was catchy. But, yeah, now, of course, the name has taken on such rich meaning for me. And, you know, with rewatches, I'd I'd certainly like like it more. So I'm not I'm I'm not like a hardcore sci fi guy, but that that series now obviously means a lot to me. Yeah. I love it was like aspirational. You like aspired to watch Firefly and then through effort and grit, you like got there eventually. Yeah. You're like, really What I mean, what TV are you getting into? Are you like a Love Island fan? Are you Yeah. It's interesting. Like, I really have I have a hard time getting into shows often and then when something kinda gets its hooks into me, it really sticks. So the last show that I was like really, really into was Severance. And then now, I'm a little late to it, but Pluribus. Is that how you say it? Pluribus? I guess maybe I like Apple original series. But, yeah, I I think I'm like three episodes in and I'm like, wow, this is not what I thought it was. This is like very entertaining. It's kinda like The Last of Us, but the zombies are incredibly friendly and trying to help. At least so far. No spoilers. But Jeez. Well, yeah. So so much appreciate you coming on. It's honestly so interesting to hear like you you two having interacted for so long and like built really interesting things at Posit and I I think to Hadley's point especially like Shiny, yeah, being like so load bearing in industries like the pharmaceutical industry and research there. It's it's been so interesting to hear about, yeah, your your journey there and like into reluctant leadership and and all that. So really appreciate you coming on. Any any final words for, I don't know, the people out there? Actually, just last last thought about this and, I mean, I feel like it's turning into, the Hadley and Joe Buddy show, but it just occurs to me as as we're talking about this that it is interesting, like Hadley and I, we don't neither of us reports to the other. We're we're it's like we're in each other's orbits enough to know pretty well what's going on with the other person. But there is no I I like I feel like there's no competition at all between us. There's no, like, worrying about if I say the wrong thing in front of Hadley, what are there gonna be, like, consequences. And that is incredibly valuable. Like, that's a very helpful person to have, especially when you have the right amount of complementary and similar, like, commonalities. I I like I do highly recommend trying to find that, you know, like, you know, wherever you are and whatever you do, like, to find someone who is not in your reporting chain who, you know, if you can really trust and and whose opinion you respect and go out of your way to to exchange ideas and and support each other. Yeah. No, Joe. Thanks thanks so much for coming on. It's been so great. I honestly yeah. So inspired to your approach to Shiny and leadership. So really appreciate having you on The Test Set. Thanks. Thanks. Appreciate you having me. And I love the podcast and I've- I've learned so much from listening to to other other guests. Yo. So thank you. Yep. Alright. See you. The Test Set is a production of Posit PBC, an open source and enterprise tooling data science software company. This episode was produced in collaboration with creative studio, Adjy. For more episodes, visit thetestset.co or find us on your favorite podcast platform.