Things Software Developers Should Know to Succeed With Andy Hunt - RUBY 579
Andy Hunt is a programmer turned consultant, author, and publisher. He also co-authored the best-selling and seminal book, "The Pragmatic Programmer". He joins the show to discuss the important things that software developers should know in this generation. He talks about some of the things that have evolved since he started.
Special Guests:
Andy Hunt
Show Notes
Andy Hunt is a programmer turned consultant, author, and publisher. He also co-authored the best-selling and seminal book, "The Pragmatic Programmer". He joins the show to discuss the important things that software developers should know in this generation. He talks about some of the things that have evolved since he started.
Important Points
- Reliable CI/CD Pipeline
- Effective low-friction collaboration
- Free flow of information
- Constant Learning / Skills improvement
a. Read more technical books
b. Read more fiction - Think about how we build software
a. Software that is replaceable and deposable
On YouTube
Sponsors
- Chuck's Resume Template
- Developer Book Club starting with Clean Architecture by Robert C. Martin
- Become a Top 1% Dev with a Top End Devs Membership
Links
- Toolshed Technologies
- The Pragmatic Programmer
- Manifesto for Agile Software Development
- LinkedIn: Andy Hunt
- Twittter: @PragmaticAndy
Picks
- Andy - Linear – A better way to build products
- Charles - Camel Up
- Dave - Tiltaing Camera Cage
Transcript
Charles Max_Wood:
Hey, welcome to the RubyRogues podcast. This week on our panel, we have Dave Kamura.
Dave_Kimura:
Hey everyone.
Charles Max_Wood:
I'm Charles Maxwood from TopBendDevs. And this week, we're talking to Andy Hunt. Andy, do you wanna say hello and remind people why we love you?
Andy:
Hello. Well, I'm not sure about that part, but you may have heard of me.
Charles Max_Wood:
Mm-hmm.
Andy:
found out is now the most recommended book on software ever. They did an analysis of
Charles Max_Wood:
Oh
Andy:
I
Charles Max_Wood:
really?
Andy:
guess about a year or two ago and it was the most recommended book on software development which was pretty cool and that just came out we came out the 20th anniversary edition of that so that book's been going strong for over 20 years and is still you know as spot on as it was back in the day. I was one of the folks who wrote the Agile Manifesto and back in back around the turn of the century back in 2001 and I've been running the pragmatic bookshelf for most of this time and you know producing books that people really seem to like you know really helped them in their careers helped them get on top of the latest trends latest technologies all that sort of thing I also write science fiction and thriller books sort of as a
Charles Max_Wood:
That sounds like fun. Let's just pick your brain on that.
Andy:
I'm sure which part.
Charles Max_Wood:
I'm just kidding. Yeah, I dabble in writing fiction. I haven't done any serious writing that way for a long time though. Probably something I would want to get back into at some point. Yeah, when we were talking before the show, you mentioned that you've kind of had some ideas bouncing around your head as far as what developers should know, like what things we should be doing, stuff like that. I'm a little curious. are you thinking about now? I'm also a little curious as to whether or not this is different from what you would have recommended 10, 20 years ago.
Andy:
I'll address that first. I definitely think it's different to what I would have suggested any number of years ago. And I'll probably recommend something different. Maybe not, 10 years from now, because the world keeps changing. What software development
Charles Max_Wood:
Mm-hmm.
Andy:
is today is really nothing like what it was back when I started. When I first, I've been writing code commercially, I started 40 years ago. I was on email before there was an at sign. Everything was a bang path to IHNP4 in the days of Usenet. you know, over the years. And definitely, you know, back then you could start off a project with vi main.c and that was kind of all you had. You know, you had some some operating system calls and you had some very simple libraries to concatenate strings and take the square root and that was about it. Anything else you wanted, you had to write, which is the far cry from today where, you know, proportionally, do you ever write compared to the number of libraries, frameworks, you know, everything that you've got supporting you. It's really a very different ball game in that regard. Which is kind of funny because you know, you'll see these great debates spring up about, well, should we do a monolith or microservices or should we do this or we do that or whatever. And those are all kind of irrelevant. Or at least very context dependent. It's like, well, aren't really the interesting questions. The interesting questions, the interesting problems, I think, are my top four. Top four things that I think are most important to development here in late 2022. Number one, right off the bat, you need an absolutely impeccable, reliable, that has to be there, it has to be rock solid. And some folks will do that, but then not really use it well. They'll do long running feature branches or some kind of garbage like that. And it's like, no, no, no, the whole point of doing that is to get fast feedback, to do trunk-based development. So number one, pipeline, trunk-based development for fast feedback and get out of this, ticket closing factory mentality, that later. Number two, you need effective low friction collaboration and you know one of the popular ways of talking about that these days is psychological safety in the workplace which I think folks misunderstand a lot. It's not about
Dave_Kimura:
you
Andy:
sitting around holding hands and you know singing kumbaya or anything. It's about having free information flow in an organization and critical because that's the raw material we work with. And if you don't have free information flow because some departments hoarding information or folks are acting territorially or not sharing or whatever, then you're kind of screwed. And it doesn't matter at that point if you're doing microservices or monolith or you're using this framework or that, none of that matters because you're just hosed right out of the gate. So those are the top two. And that goes nicely. to number three, you need constant learning and skills improvement. Read voraciously. Read a book and when you finish it, read another book. And they should be tech books, as a publisher of tech books, I can somewhat selfishly say that, but they should also be not technical books. Read things on anthropology, on psychology, read fiction. I made a real mistake, growing up. For many years I would not really read any fiction books because I was under the impression that, well, it's fiction. Somebody just made this up. It's not true. Not realizing that fiction books have... it's a different thing. Yes, the story is fiction, but it contains a lot of truth. And that's a very important distinction that
Charles Max_Wood:
Mm-hmm.
Andy:
I think we miss out on, especially when you start in software development, which is a growing and very important topic, you need to have a little bit more exposure to that, which I think you get from reading books by people with different points of view, different realms, reading science fiction or historical fiction, or maybe something you don't normally read, but being able to see what the rest of the world is thinking and up to, that's a very important way of doing it. Facebook or Twitter perhaps. So we need that free information flow, we need that collaboration, we need the constant learning and skills improvement. Because really the two things that programmers have to do all the time is communicate and learn. That's really what the job comes down to. We're communicating with our team members, with the sponsors, the end users, whoever that might be, with the system itself. from all these things. We learn how to work with our teammates. We're learning from the developing system under construction. We're learning the arena that we're programming in the domain area. We're learning the new technology, right? It's a very old joke, but today's Thursday, there's been three new JavaScript frameworks just came out this morning, right? I mean, it's an
Charles Max_Wood:
Mm-hmm.
Andy:
absolutely endless fire hose of, okay, we have to do this now. And here's here's this new thing and whatever it might be, right? So we're learning all the time. We can't just sit back and say, okay, I know a programming language now, I'm done. It doesn't work that way. So skills improvement learning, the third pillar of what's most important. And the last thing for now, number four, we have to rethink what we're building and how we're building it. replaceable, disposable software. If it doesn't go to plan or if the world changes out from underneath us, we want to be able to rip it out and replace it with something else. That's a much better way of thinking about software than trying to waste time making it maintainable or extensible or any of those sorts of popular words because the problem is when you want to make software maintainable or extensible, you're fortune-telling. You're trying to imagine a future where the software will be used this way or this might change or that might change. And if anything, COVID, Russia's invasion, the RSV flu, all the stuff that's happening in the world, we suck at fortune telling as a species, right? Massive things will come up and we're unprepared for it. We have no idea that these things could change. And wow, look, they do. software to be replaceable and disposable and not quite so big chunks of critical. Um, GPaw Hill has a great saying. He says, we really need to look at taking many more, much smaller steps. And I think that's absolutely critical because, you know, it kills me when someone's going, doing like some kind of, you know, nonsense BS story point planning meeting and something is, you know, 12 points or something huge. No, no, no. That's way too big a bite. That's too big a chomp. You're never even going to finish that. If you really must estimate in story sizes, there's really only three answers. Something either has a story size of one, meaning you could do this in maybe a couple hours and have something passing tests and to show for it. That's answer one. Or answer two, it's too big. It's more than one. So you've got to slice it into thinner pieces. get it down to a number of things of size one. Or number three, I don't know. I don't know how big this really is. So it's going to take some learning, some prototyping, some discussions to get down to the point where it's a size of one. So really, the only appropriate size to work on is one. Otherwise,
Charles Max_Wood:
Thanks for watching!
Andy:
it's too big a byte and you haven't thought through that yet. I think most important things. If you notice, they're all kind of around the same sort of theme. You've got this continuous paradigm, continuous integration, continuous deployment, continuous learning, continuous discussions with the users, the sponsors, continuous discovery, if you will. I hate to call it requirements. We used to call it requirements analysis, which
Charles Max_Wood:
Hehehehehehe
Andy:
I think was the worst possible. in there. That's like the worst possible term because
Charles Max_Wood:
well.
Andy:
it just, right? It's static. It screams staticness. It's like the requirements are sitting here in the steaming pile outside my office and I'm going to go through and analyze them and, you know, come up with stuff. And it has never worked that way, right? The world does not function that way. It's, it is a journey of shared discovery. the users, whoever's involved, the sponsors are learning what it can do as it comes up and starts to do its thing. And you know, you get some unexpected surprises. You know, there's that sort of Heisenberg nature of software that once it's doing its thing, you realize, oh, well what I really wanted, you know, was it to do this
Dave_Kimura:
Hmm.
Andy:
or, you know, let's change this. Or even though, say, you know, in this day and age, you started off with exactly what it should have been, but now it's 6, 12, 18 months later, has changed and that's not what you need to do anymore. You need to pivot. You need to do something a little bit different. So one way I like to try to explain people to function in this sort of an environment is to think about building software in these many more, much smaller steps, very thin slices, end to end. So you start off day one of the project and you write hello world, but it goes from one end of the project to the other, all the way from the web client or whatever front end through to the database, whatever crap you got in the middle, your ML engine, your whatever, but it's only hello world, but it touches all the bits and pieces. And there's a great, when I give talks, I got a great set of images that goes with this, and I didn't know this, but when they built the Golden Gate Bridge in San Francisco, do built that? It's really fascinating. They started basically with like a single cable. You run one cable from one end to the other and you use that to bring the next cable over and use those two to bring the next. And there's a picture, you know, old black and white of maybe a dozen cables strung across the bay there with workers hanging off of them adding stuff on, you know, adding, you know, and stuff and you know you get you get to the point where it'll hold enough weight you can start bringing decking over and so on and so forth and that's how we should build software thin end-to-end slices because that gets you into those very small steps so you have a nice small success all the unit tests turn green everything's good you're proceeding from a stable position all the time so technically what deployable. You don't have this, you know, code freeze for two months before you release it or, you know, this, well, we can't demo it to the potential investors because the code doesn't compile right now. You know, these are not statements
Charles Max_Wood:
Ha ha ha
Andy:
you want to hear yourself making like ever, right? You know, and we, of course we do. I mean, of course we fall into these, you know, these sorts of issues, but, but we don't have to. We've been saying this kind of stuff for decades now. This style used to be called walking skeleton. We called it tracer bullet development in pragmatic programmer. The idea is out there, and I think relatively few people actually do it. And maybe we could have gotten away with that back in an earlier day, but in this day and age, it's actually even more critical running because you've got so much, you know, configuration and third party bits that have to line up for the thing to work. There was a great infographic probably a couple years ago now that showed AWS's recommended deployment for a simple WordPress blog. And of course it used all the AWS bits and pieces, right? So you had fall over and fail over and DNS replicate. happening and the bloody thing looked like the subway map to Manhattan. You know, it was just ridiculously complex and complicated for a blog. This wasn't even,
Charles Max_Wood:
Right.
Andy:
you know, a big app, right? This was, this was sort of the minimum price of entry. And that was before Kubernetes became, uh, you know, a thing. Right. So now you've got your dockers, your containers, your Kubernetes orchestration, all this crap going. world up and running ain't as simple as it once was.
Charles Max_Wood:
Well, I mean, there are a couple of ideas here that I'm enjoying, but in this case, you can just spin up a VPS and install WordPress on it. Right? Like that's still an
Andy:
You
Charles Max_Wood:
option.
Andy:
can.
Charles Max_Wood:
Or you can go find a service that's specialized to WordPress and stand it up. Right. But we
Andy:
And
Charles Max_Wood:
have
Andy:
you
Charles Max_Wood:
this
Andy:
should.
Charles Max_Wood:
idea that we have to do things the other way. And,
Andy:
Yeah
Charles Max_Wood:
you know, in our software, you know, now we're, you know, taking the metaphor the other direction. And so it's. Yeah. I've got to deploy it to Kubernetes, and I've got to jump through all these hoops, and I have to use a cloud storage for my images, and this and this and this and this and this, instead of, yeah, just, hey, maybe it stores the images locally on the machine for right now, when you do an upgrade, and then you roll the next piece, and then you roll the next piece. And then I like the direction that goes, because then it's not this upfront, overwhelming thing that I have to figure out.
Andy:
Exactly
Dave_Kimura:
See,
Andy:
right. And
Dave_Kimura:
my issue
Andy:
I think
Dave_Kimura:
with... Mashup
Andy:
Go
Dave_Kimura:
with
Andy:
ahead.
Dave_Kimura:
that kind of thing is vendor lock-in. So your AWS WordPress example, I would avoid that at all costs because using their cloud formation and all the other utilities that they have to deploy something, I'm not going to be able to easily lift and shift that to another provider if I choose, which I've had to, in my career, had to do that on
Andy:
and the
Dave_Kimura:
a single application a few times because
Andy:
the
Dave_Kimura:
the company direction changes,
Andy:
the
Dave_Kimura:
as you were saying, Eddie,
Andy:
the
Dave_Kimura:
the world change, so must we
Andy:
the
Dave_Kimura:
if we want to stay current.
Andy:
the
Dave_Kimura:
And so the organization
Andy:
the
Dave_Kimura:
had different partners
Andy:
the
Dave_Kimura:
and decided to shift
Andy:
the
Dave_Kimura:
infrastructures and
Andy:
the
Dave_Kimura:
the times that we had used something like
Andy:
the
Dave_Kimura:
a cloud formation, it was a
Andy:
the
Dave_Kimura:
real pain to replicate
Andy:
the
Dave_Kimura:
that on Google Cloud
Andy:
the
Dave_Kimura:
or Azure. So I think using Kubernetes isn't a
Andy:
I think that's a good question.
Dave_Kimura:
big deal. You know,
Andy:
I think that's a good question.
Dave_Kimura:
I'm not
Andy:
I think that's a good question.
Dave_Kimura:
a huge fan of Kubernetes.
Andy:
I think that's a good question.
Dave_Kimura:
I like
Andy:
I think that's a good question.
Dave_Kimura:
the idea.
Andy:
I think that's a good question. I think that's a good question.
Dave_Kimura:
in person,
Andy:
I think that's a good question.
Dave_Kimura:
but I would still prefer
Andy:
I think that's a good question.
Dave_Kimura:
Kubernetes
Andy:
I think that's a good question.
Dave_Kimura:
over something
Andy:
I think that's a good question.
Dave_Kimura:
like CloudFormation
Andy:
I think that's a good question.
Dave_Kimura:
because that's
Andy:
I think that's a good question.
Dave_Kimura:
because
Andy:
I think that's a good question.
Dave_Kimura:
of Google
Andy:
I think that's a good question.
Dave_Kimura:
opening it up. It's
Andy:
I think that's a good question.
Dave_Kimura:
kind of been a standard.
Andy:
I think that's a good question.
Dave_Kimura:
You have
Andy:
I think that's a good question.
Dave_Kimura:
basically
Andy:
I think that's a good question.
Dave_Kimura:
any host
Andy:
I think that's a good question.
Dave_Kimura:
offering
Andy:
I think that's a good question.
Dave_Kimura:
some sort of
Andy:
I think that's a good question.
Dave_Kimura:
Kubernetes that's
Andy:
I think that
Dave_Kimura:
compatible with your infrastructure scripts with your YAML files. So I think from that perspective, it's okay.
Andy:
So
Dave_Kimura:
But
Andy:
the
Dave_Kimura:
anything
Andy:
interesting
Dave_Kimura:
that's
Andy:
thing
Dave_Kimura:
going
Andy:
is that
Dave_Kimura:
to
Andy:
we
Dave_Kimura:
cause
Andy:
have a lot of people who are
Dave_Kimura:
a
Andy:
interested
Dave_Kimura:
vendor lock-in have an issue with. And I think that kind of speaks to your third point about, you know, writing maintainable code or, you know, clever code or
Andy:
in
Dave_Kimura:
whatever, where if I am going to be
Andy:
the
Dave_Kimura:
writing something that integrates with the third party like Twilio, just a simple SMS service, I don't want to be locked into that vendor where if we have to switch to another one because company rewrite half my application. I want to only touch that one small Twilio integration piece. So having abstraction layers on top of Twilio so my application consumes Twilio through this extracted layer or this interface for it.
Andy:
Absolutely. You need you have to have insulation, you know, really with anything third party. I mean, that's sort of a given, you know, in as much as you can in this day and age, because absolutely things change, you know, companies get bought by Microsoft and now you can't use them or now you have to use them or whatever it might be. That's sort of always been the case. But I think the bigger issue here is folks tend, it seems when they're not needed, you know, I mean, I'm constantly telling people you are not Netflix You are not Spotify You don't have billions of streams of users to engineer with and contend with you have, you know A much smaller user base. So like Charles was saying earlier store the image locally for now, you know That's probably fine for whatever stage of growth, you know that you're at And I find it really interesting. I don't know if you all have seen Wardley maps Wardley mapping But it's a really interesting look at how to place the sort of business activities on a spectrum from custom-made in Genesis through to something that you would just buy to something that's just commodity and you don't even think about it. So electrical power is a commodity for the most part. Unless you're Google and you need to be next to Niagara Falls to jack into the power, for electricity is just a commodity. We don't think about it. A lot
Charles Max_Wood:
Mm-hmm.
Andy:
of these sorts of services that we used to have to write by hand, it's just a commodity now. You don't even think about it. You don't even particularly worry about vendor lock-in because it's just such a common ubiquitous small thing. But of course, this is a spectrum all the way from we have to build it completely ourselves to we buy it but we have to customize it through it's The interesting thing with Wardley Maps is that wherever these things are now on the spectrum, they're always gradually drifting to the right. You know, gradually drifting towards the side of becoming commodity. And it's something you don't even worry about. So today's fanciest, you know, chat GPT stable diffusion sort of AI stuff, which is, you know, very much in its
Charles Max_Wood:
Hehehe
Andy:
experimental, you know, interesting viral stage, ship that's just there and you just use and you don't even think about it in time. And maybe that's a short time, maybe that's a long time, but eventually that's what happens to everything. It drifts over and becomes a commodity, which is interesting. So as you're trying to figure out where to add value in your products, in your organization, what you want to, how you want to make your mark on the world, you really need to take a more careful look at. should be writing it all in the first place? Or should we just be using a library, part of a framework to do this? Or is there a real advantage to not doing what everyone else
Charles Max_Wood:
you
Andy:
is doing and adding something unique and a different take on it? I found this, absolutely was the case with the pragmatic bookshelf business. When we started off, we basically had to build our own storefront, our own shopping cart, to other vendors, all these sorts of things because our own EPUB generation, our own PDF generation, because none of this stuff existed out there in the world. It just, it wasn't even available. We had to do it all custom. Fast forward 20 years, we're doing almost none of that custom anymore. That's all through a third party, through a provided library, through a service, whatever it might be, because all these things went from being custom needed Oh yeah, hell, everyone's got that. Everyone and their dog has a shopping cart. Everyone
Charles Max_Wood:
Mm-hmm.
Andy:
has a, you know, a pub generator, whatever it might be. Which gets back to my point of, because of this constant drive in our capitalist economy towards commodification of these sorts of things, you really need that replaceability aspect to it. And as Dave was saying here a second ago about avoiding vendor lock-in, sure, but you have to start off sort of premise that any vendor you use, even if it's real foundational like AWS versus Azure or whatever, you have to assume that that could go away in a heartbeat for any reason. You know, Twitter is a good example. You know, suppose you had, you know, very tight integration to Twitter and this was a big part of your business plan, a big part of your app, and now all of a sudden somebody buys it and the rules have changed. And you may not be using that in another two weeks, I mean those
Charles Max_Wood:
Mm-hmm.
Andy:
literally these are the scope of changes that we sort of face in the real world, which is daunting to say the least.
Dave_Kimura:
I wanted to say something about your fourth point about keeping the stories very small and short. I think I'm right there
Andy:
And that's what we're going to do.
Dave_Kimura:
with you where
Andy:
We're going to do a lot of research
Dave_Kimura:
often enough I'm
Andy:
and we're going to do a lot of research
Dave_Kimura:
given a huge story
Andy:
to see what we can do to help you guys.
Dave_Kimura:
and
Charles Max_Wood:
Mm-hmm.
Dave_Kimura:
I kind of see
Andy:
I think that's a great idea.
Dave_Kimura:
it like the butterfly effect
Andy:
I think that's a great idea.
Dave_Kimura:
where the smaller
Andy:
And I think that's a great idea.
Dave_Kimura:
the story is
Andy:
And I think that's a great idea.
Dave_Kimura:
You know the closer you are to that,
Andy:
And I think that's a great idea.
Dave_Kimura:
you know squashing
Andy:
And I think that's a great idea.
Dave_Kimura:
that butterfly the more
Andy:
And I think that's a great idea.
Dave_Kimura:
accurate you can
Andy:
And I think that's a great idea. And I think that's a great idea.
Dave_Kimura:
effect that'll
Andy:
And I think that's a great idea.
Dave_Kimura:
have as a story grows
Andy:
And I think that's a great idea.
Dave_Kimura:
you were at a much further
Andy:
And I think that's a great idea.
Dave_Kimura:
perspective away
Andy:
I'm not sure if I'm going to be able to do this.
Dave_Kimura:
from that butterfly and the accuracy
Andy:
I'm not sure if I'm going to be able to do this.
Dave_Kimura:
is going to be all over
Andy:
I'm not sure if I'm going to be able to do this.
Dave_Kimura:
the place it's impossible to predict what's gonna actually happen how long it's actually going to take
Andy:
Yes, absolutely. Absolutely. And the interesting thing to me is, we, you know, if you have any experience in industry, you know these things. You've seen these things happen, you know, you realize that that's sort of the case. You might not be able to do anything about that because, you know, the process
Dave_Kimura:
Mm-hmm.
Andy:
that your organization is using doesn't allow you the flexibility to put it into smaller slices or talk to the user or whatever. and one of the issues comes up, it's like, well in this case you should talk to your users to work through this issue and this one guy sort of blew up, he's like, I've never met our users, I have no idea who they are or how they're using the software it's like, well, I think we've just diagnosed a problem you know, right there but that's, it's an interesting point because, right, okay so we're saying like right here that yes a the understanding of a requirement into very small approachable steps that's a skill that's something you need to learn
Charles Max_Wood:
Mm-hmm.
Andy:
how to do it's do they teach that in university or college hell no right is this something you get on on on the job training explicitly no there's a couple workshops on it there might be a book or two here or there but it's it's kind of a very talked about. And that's kind of the biggest problem with all these issues. These are things that we've identified, other folks have identified as being very important. And it's not anywhere in our educational pipeline, either in formal education or code camps or on the job onboarding kinds of things. It's just not there. So one thing that I've been working on to try to that I give through the Grows Method Institute is we have this kind of project simulation. And it's different from the other sorts of project simulators I've seen out there. I've seen a lot of things that will put you through the paces of basically how to be a ticket closer. How to work with GitHub or GitLab and how to get a ticket in JIRA and how to close it and go through the steps board. It's very mechanical and to me not very interesting. So we have a very different approach. We have this project simulator where you accept activities to work on, but you have to make decisions. You have to decide, am I going to invest a lot in this feature or
Charles Max_Wood:
you
Andy:
am I going to do it cheap and cheerful? And the answer is not always clear which one's better. Sometimes it's better to go one way, Decisions come up where, okay, the team has stumbled onto this problem. You've got this issue with this team member, or this edict came down from on high, or this team is threatening to quit because of this, or whatever. The sort of situations that come up in real life, and you have to make decisions of, well, what do you do about it? And your decisions impact your health scores of, you know, how healthy is the team? How good is your ability to deploy? How happy are your users? are you executives? How happy is the team? All these health scores get affected by your decisions and you roll dice to see what actually gets deployed because it is within a limited scope, kind of random, about how much is actually going to happen because of real world vagaries. But the best part that I found from doing this simulation is teams get a chance to talk about that we're talking about here, they get to talk about real issues that they really aren't allowed to talk about at work because the stakes are too high. You know, in the middle of the project that they're on, they can't say, well, Fred over here has totally screwed the pooch and this is why this isn't working and whatever it might be. But here, it's just a game. It's
Dave_Kimura:
you
Andy:
a simulation. It's like, well, okay, if this were to happen in real life, this is what we really should do. We can't do this at our actual work, but here's what And you get really good discussions out of it because people are in a psychologically safe environment where they can exchange ideas and have the sort of information flow outside the scope of their normal job. And then they go back after going through our simulation and our debriefing and everything, and they go back with these lessons like, well, okay, well, when we did this in the simulator, we were able to make this sort of decision. that here? Who do we have to convince? What do we have to do? So I found that to be really helpful for folks to be introspective and think about what they can do to make their teams better and how to handle the sorts of issues that commonly come up that we know good answers to but that aren't commonly practiced, that folks don't really do out in the real can and now some of them do you know having gone through this sort of an experience.
Dave_Kimura:
Yeah, because at the end of the day, that 20 story point story that you say is going to take a month or whatever. You're not going
Charles Max_Wood:
I
Dave_Kimura:
to
Charles Max_Wood:
love those.
Dave_Kimura:
go and hit your keyboard all at one time over the month and just it's done. You're going to break it down. OK, what do I need to do first? And then you say, OK, well, then what? And then what? And then what? Like you take your own time
Andy:
I think that's a good question.
Dave_Kimura:
after you've been assigned the story.
Andy:
I think that's a good question.
Dave_Kimura:
to break down yourself.
Andy:
I think that's a good question.
Dave_Kimura:
And then you discover, like,
Andy:
I think that's a good question.
Dave_Kimura:
OK, so I need to create all this
Andy:
I think that's a good question.
Dave_Kimura:
back end logic. I need to
Andy:
I think that's a good question.
Dave_Kimura:
create these items, the front end
Andy:
I think that's a good question.
Dave_Kimura:
logic, the tie ins between
Andy:
I think that's a good question.
Dave_Kimura:
or whatever your situation is.
Andy:
I think that's a good question.
Dave_Kimura:
And at the end
Andy:
I think that's a good question.
Dave_Kimura:
of that month or whatever time
Andy:
I think that's a good question.
Dave_Kimura:
frame, you
Andy:
I think that's a good question. I think that's a good question. I think that's a good question.
Dave_Kimura:
look back and you said, oh, yeah, this should have been broken out. Like it could have very easily been broken out because you actually spent the time to go through that story required what it needed to what needed to happen on there. So
Andy:
Right,
Dave_Kimura:
if you
Andy:
right.
Dave_Kimura:
are doing a backlog grooming.
Andy:
Here's the real problem though. Yes,
Dave_Kimura:
What's that?
Andy:
everything you just described, you're now as a developer sitting there learning yourself, you have this knowledge now that the rest of the team does not have. And that needs to get shared out somehow. Maybe that comes up in a code review. Maybe it comes up in a meeting. Maybe it doesn't. And you've got every developer doing this, so you've got all this siloed learning happening. Which, maybe that's okay? Probably it's not. And this is where doing something like mob programming, ensemble programming, really helps because now you're learning as a team, you're learning as a group, you're spreading this around, you know, trying to figure out because as you just said, right, when you're in the middle of doing this, you realize things. Questions come up. It's like, well, oh geez, hell, if we do this, that means we're gonna have a problem over here or we can't do this because this is contradictory to, you know, something else that, you know, we were told to do. So these things come up and if you've got an overly siloed team, well first of all that's not a team, that's just a bunch of people working on tickets, right? For it to be a team
Charles Max_Wood:
No.
Andy:
they actually have to do things together. And as an aside, I think of people say, well what do you think is one of the most interesting things in software ensemble programming or mob programming. I think that's a really interesting idea. I have heard from people that that has worked remarkably well in their organizations. And given that we are almost all really serious introverts, that's why we got into programming in the first place, this kind of runs counter to where we're coming from and what we're thinking. because as I said what are the two most important things that programmers do? Communicate and learn. These are better handled as group activities right especially if you're off doing something that's you know never been done before. I mean if you're just you know let's face it if you're just doing something like you know adding a field to the database or or or you know something sort of menial that's not a big deal you don't need a mob to do that you need a pair to do that. You've done it a bazillion times, you're just doing it again. It's just, that's just one of those things. But if you're exploring a new requirement, a new user need, and no one really knows how this is going to work, or more importantly, how this is going to affect everything else, or what the implications of it are, that's when you probably want to get more people involved and kind of work on it together. And again, that's a skill. I know a lot of folks who've been very successful with that, who adopted that. This is not something we promote in academia, right? You know, group projects never work out well in college. I have a longer story about that, but the first group project I did in college, this one guy wasn't contributing. We ended up chasing him through his frat house, and the last I saw of him was his feet disappearing up into the attic trapdoor.
Charles Max_Wood:
Ha ha! Yeah, yeah,
Andy:
So
Charles Max_Wood:
my
Andy:
that's
Charles Max_Wood:
experience
Andy:
not what
Charles Max_Wood:
with
Andy:
we
Charles Max_Wood:
group
Andy:
talk
Charles Max_Wood:
projects
Andy:
about with
Charles Max_Wood:
in
Andy:
mob
Charles Max_Wood:
college.
Andy:
programming. Yeah, yeah.
Charles Max_Wood:
Yeah, but my experience was the same. It was like, okay, two of us got together and did the whole thing, right? And the other two or three either showed up and watched or didn't show up at all.
Dave_Kimura:
Sorry for not showing up, Chuck.
Andy:
the
Charles Max_Wood:
I'm still
Dave_Kimura:
I was
Charles Max_Wood:
bitter.
Dave_Kimura:
that guy.
Charles Max_Wood:
I'm still bitter Dave.
Andy:
what
Dave_Kimura:
But
Andy:
that's
Dave_Kimura:
I
Andy:
in
Dave_Kimura:
think
Andy:
it
Dave_Kimura:
that's my issue with my programming is because I am such a such an introvert Where you know, I know this uh, past couple of years has been really horrible for a lot of people Especially the extroverts that just thrive and refill on just people, you know talking with
Andy:
I'm going to say that I think that the question is,
Dave_Kimura:
people, you know, I Can I have empathy for them? but for me Being
Andy:
really, this is a question that I'm really interested in.
Dave_Kimura:
such an introvert During
Andy:
And I think that's a good question.
Dave_Kimura:
the pandemic just being at home
Andy:
I think that's a good question.
Dave_Kimura:
not having to go well not being able to go out really
Andy:
I think that's a good question.
Dave_Kimura:
so
Andy:
I think that's a good question.
Dave_Kimura:
The whole idea of mob programming
Andy:
I think that's a good question.
Dave_Kimura:
kind of scares me that
Andy:
I think that's a good question.
Dave_Kimura:
I don't want to be
Andy:
I think that's a good question.
Dave_Kimura:
no
Andy:
I think that's a good question.
Dave_Kimura:
Working with a bunch of people even though they're my teammates who I talk to every day. I don't want to be on a three hour long remote call doing mob programming, I want to just kind of be in my own little corner doing my own thing.
Andy:
And that's very common. And I totally empathize with that because despite the fact that I used to go out and do conferences and keynotes and talks and everything, I'm a huge introvert. never enjoyed that aspect of my career. I would much rather, as you say, sit in my corner and and do my thing. And the thing is, it depends on the activity. It depends on what you're doing.
Dave_Kimura:
Yeah.
Andy:
So, you know, I've seen places where like, oh hey this is great, you know, everyone needs to be, you know, working together. So we're having a total open office plan, you know, back when people worked in offices, you know, back in the before times when people worked in offices. right? That this
Charles Max_Wood:
I hate
Andy:
open
Charles Max_Wood:
open
Andy:
floor
Charles Max_Wood:
office
Andy:
plan,
Charles Max_Wood:
play.
Andy:
which, oh right, hell. That's basically the 10th level of hell right there. It's just
Charles Max_Wood:
Hmm?
Andy:
awful because it's not appropriate. Now a big breakout room where you can deliberately go and say, okay guys, we need to brainstorm this thing and work together on this issue. Great, that's fine because there are times when you need to do that. except you're writing down code while you're doing it. It's basically a brainstorming session, is how I sort of view it. And there are absolute times where you need to do that. There's times when you need to be able to go into your office and close the door and have a nice quiet think. And, you know, there's places in the middle. You know, there's a new person on the team, you want to, you know, bring she or he along and train them up. Paraprogramming is great for that. Here's how this, you know, are the code base. Here's how we do this here. This is a place we're having a problem, whatever it might be. The basic thing is, you know, one size doesn't fit all. And context absolutely matters. And this is where almost all of these sort of attempts at methodologies or process all fail down because they want to end up with the world looking like a Play-Doh machine where you chuck developers in one side, squish the handle, and code pops out the other end. And it absolutely
Charles Max_Wood:
Yep.
Andy:
does not work that way. It has never worked that way. We would love for it. As a business owner, hell
Dave_Kimura:
Ha ha.
Andy:
yes, dynamite. I wish it worked that way. It does not. And it slays me that, you talk about the Agile Manifesto, circling back to that for a minute, the first point, the first of the guidelines of the Manifesto says, individuals and interactions over processes and tools. people ask, well, what are the second through fourth points? It's like, I've forgotten because we haven't gotten to them yet because we keep screwing up the first one. We haven't
Charles Max_Wood:
Hahaha!
Andy:
got this one right. You get a team together and the first thing they say is, what tools are we going to use or what processor are we going to use? It's like, wrong question. Here talking about mobbing versus
Charles Max_Wood:
Yeah.
Andy:
thinking alone or whatnot, it's all about individuals and interactions. In this case, sometimes you need the larger interaction with the team, sometimes you don't. It depends. And you know, one size
Dave_Kimura:
Yep.
Andy:
just doesn't fit all.
Charles Max_Wood:
Well,
Andy:
And the other
Charles Max_Wood:
and it's
Andy:
thing
Charles Max_Wood:
funny
Andy:
for the manifesto
Charles Max_Wood:
too, because this kind
Andy:
that
Charles Max_Wood:
of
Andy:
kills
Charles Max_Wood:
ties.
Andy:
me.
Charles Max_Wood:
Good.
Andy:
Okay. The other, the other thing about the manifesto that, that kind of slays me is the very first line says we are, I figure it's discovering or uncovering.
Charles Max_Wood:
Uncovering.
Andy:
new ways uncovering new ways of developing software
Charles Max_Wood:
Better ways.
Andy:
by doing it and helping other people do it and That also got wildly misunderstood because you know what came out then everyone's like oh good We're gonna do scrum and use Jira It's like okay. There's no way nowhere there. Does it say that it says we are uncovering new ways of doing stuff and largely We haven't been scrum badly and saying, you know, I've been on record now for some many years saying that, you know, Agile now means to people we do half of scrum badly and we use JIRA. And that's their definition of Agile and their definition of software development. And they're not wrong. I mean, that's what they're doing. But we're supposed to be uncovering new ways of doing things. And some folks are. I mean, you know, myself and my friends, we're coming up with group behind the Beyond Budgeting movement I think is very important because they have the insight that a lot of what screws up development projects comes from the accounting department and comes from the idea of batch based accounting, batch based funding. You get your annual budget. It's like what happened to iterative and incremental folks? All that goes out the window when you have a batch based organization that you have to with. So of course it doesn't work. So you know there's some bright spots you know people are figuring out new ways of doing things and better ways of organizing ourselves but it you know it really seems to me is kind of a little too little too late. We have a long ways to go still.
Charles Max_Wood:
Yeah, I agree with you. And it's funny because the last couple of places that I've been putting my time in at, yeah, they have these heavyweight processes that you put into place. They're quote unquote agile processes, right? I mean, scrum master means the guy who makes me go to all the meetings. Realistically, right? And you know, yeah, it's okay. Well, we're going to go through and, you know, I mean, even the stand-up meetings I go to anymore, it's okay. Well, we're going to go down the list. and we're going to solve everybody's problems. And so they're really, it's not about individuals or interaction,
Andy:
Right.
Charles Max_Wood:
it's
Andy:
Right.
Charles Max_Wood:
all about the process
Andy:
So, I think
Charles Max_Wood:
and
Andy:
that's
Charles Max_Wood:
tools.
Andy:
a good question. I think that's a good question. I think
Charles Max_Wood:
And
Andy:
that's
Charles Max_Wood:
it seems
Andy:
a good question.
Charles Max_Wood:
like
Andy:
I think that's
Charles Max_Wood:
a lot
Andy:
a good
Charles Max_Wood:
of
Andy:
question.
Charles Max_Wood:
the
Andy:
I think
Charles Max_Wood:
agile
Andy:
that's a good
Charles Max_Wood:
stuff
Andy:
question.
Charles Max_Wood:
has gone
Andy:
I
Charles Max_Wood:
that
Andy:
think
Charles Max_Wood:
direction.
Andy:
that's a good question.
Charles Max_Wood:
And the reality
Andy:
I
Charles Max_Wood:
is,
Andy:
think that's
Charles Max_Wood:
is
Andy:
a good
Charles Max_Wood:
like
Andy:
question.
Charles Max_Wood:
you said,
Andy:
I think
Charles Max_Wood:
we're all
Andy:
that's
Charles Max_Wood:
different,
Andy:
a good question. I think
Charles Max_Wood:
right?
Andy:
that's a good question.
Charles Max_Wood:
Some of the things that
Andy:
I
Charles Max_Wood:
are
Andy:
think
Charles Max_Wood:
going to light
Andy:
that's
Charles Max_Wood:
me
Andy:
a good
Charles Max_Wood:
up
Andy:
question.
Charles Max_Wood:
are going to be different
Andy:
I
Charles Max_Wood:
from the
Andy:
think
Charles Max_Wood:
things
Andy:
that's
Charles Max_Wood:
that light you up
Andy:
a
Charles Max_Wood:
and vice
Andy:
good
Charles Max_Wood:
versa.
Andy:
question. I think
Charles Max_Wood:
We probably have
Andy:
that's
Charles Max_Wood:
some
Andy:
a good
Charles Max_Wood:
things in
Andy:
question.
Charles Max_Wood:
common,
Andy:
I think that's a good question.
Charles Max_Wood:
but
Andy:
I think that's a
Charles Max_Wood:
we'll
Andy:
good
Charles Max_Wood:
figure
Andy:
question.
Charles Max_Wood:
that out
Andy:
I
Charles Max_Wood:
as we
Andy:
think that's
Charles Max_Wood:
interact
Andy:
a good question.
Charles Max_Wood:
and work together.
Andy:
I think that's a good question. I think that's a good
Charles Max_Wood:
and
Andy:
question.
Charles Max_Wood:
kind of
Andy:
I
Charles Max_Wood:
focus
Andy:
think
Charles Max_Wood:
on
Andy:
that's
Charles Max_Wood:
those things.
Andy:
a good question.
Charles Max_Wood:
One other thing
Andy:
I think
Charles Max_Wood:
I
Andy:
that's
Charles Max_Wood:
wanted to point
Andy:
a
Charles Max_Wood:
out though
Andy:
good
Charles Max_Wood:
is that
Andy:
question.
Charles Max_Wood:
I
Andy:
I
Charles Max_Wood:
think
Andy:
think that's
Charles Max_Wood:
a lot
Andy:
a good question.
Charles Max_Wood:
of times
Andy:
I think
Charles Max_Wood:
we
Andy:
that's a good
Charles Max_Wood:
even lump
Andy:
question.
Charles Max_Wood:
people
Andy:
I think that
Charles Max_Wood:
into the camps of introvert versus extrovert. And I'll tell you, you know, I don't get energized by being around a ton of people. I really enjoy talking to people. I enjoy spending time with people. But if you followed me around a conference, you'd see about four o'clock, I will disappear to my hotel room for a couple hours just so that I can recharge, right?
Andy:
I'm impressed
Charles Max_Wood:
But the
Andy:
you
Charles Max_Wood:
flip
Andy:
can make
Charles Max_Wood:
side
Andy:
it
Charles Max_Wood:
is,
Andy:
all the way
Charles Max_Wood:
is
Andy:
to
Charles Max_Wood:
that
Andy:
Forman.
Charles Max_Wood:
I... Right? It depends on the day. But the flip side is that,
Andy:
I think that's a good question.
Charles Max_Wood:
like, I have a brother who's an extreme
Andy:
I think that's a good question.
Charles Max_Wood:
introvert, and he has some other things going on
Andy:
I think that's a good question.
Charles Max_Wood:
in his life. But,
Andy:
I think that's a good question.
Charles Max_Wood:
you know, during
Andy:
I think that's a good question.
Charles Max_Wood:
the pandemic, he didn't thrive,
Andy:
I think that's a good question.
Charles Max_Wood:
right? Because he didn't really
Andy:
I think that's a good question.
Charles Max_Wood:
have at least that baseline of,
Andy:
I think that's a good question.
Charles Max_Wood:
you know, like,
Andy:
I think that's a good question.
Charles Max_Wood:
you know, I'm pretty comfortable
Andy:
I think that's a good question.
Charles Max_Wood:
around my family. You know, I have
Andy:
I think that's a good question.
Charles Max_Wood:
a tradition of faith that I belong
Andy:
I think that's a good question. I think that's a good question.
Charles Max_Wood:
stack in there that give me scaffold
Andy:
I think that's a good question.
Charles Max_Wood:
around my life so that I can
Andy:
I think that's a good question.
Charles Max_Wood:
stay centered
Andy:
I think that's a good question.
Charles Max_Wood:
even if I don't
Andy:
I think that's a good question.
Charles Max_Wood:
really want to talk to
Andy:
I think that's a good question.
Charles Max_Wood:
others,
Andy:
I think that's a good question.
Charles Max_Wood:
others being people
Andy:
I think that's a good question.
Charles Max_Wood:
outside of my
Andy:
I think that's a good question.
Charles Max_Wood:
inner circle.
Andy:
I think that's a good question. I think that's a good question.
Charles Max_Wood:
And so
Andy:
I think that's a good question.
Charles Max_Wood:
that's the other thing
Andy:
I think that's a good question.
Charles Max_Wood:
that I think is really important
Andy:
I think that's a good question.
Charles Max_Wood:
here is
Andy:
I think that's a good question.
Charles Max_Wood:
we try to understand
Andy:
I think that's a good question.
Charles Max_Wood:
people by categorizing
Andy:
I think that's a good question.
Charles Max_Wood:
them without
Andy:
I think that's a good question.
Charles Max_Wood:
realizing that sometimes
Andy:
I think that's a good question.
Charles Max_Wood:
the category
Andy:
I think that's a good question.
Charles Max_Wood:
is
Andy:
I think that's a good question.
Charles Max_Wood:
counterproductive
Andy:
I think that's a good question.
Charles Max_Wood:
to what we actually
Andy:
I think that's a good question.
Charles Max_Wood:
want from them.
Andy:
I think that's a good question. I think that
Charles Max_Wood:
but also understanding that they have a healthy home and, and, um, you know, other life
Andy:
I think that's a good question.
Charles Max_Wood:
that, that supports
Andy:
I think that's a good question.
Charles Max_Wood:
where they're at,
Andy:
I think that's a good question.
Charles Max_Wood:
then they can afford
Andy:
I think that's a good question.
Charles Max_Wood:
to not have to
Andy:
I think that's a good question.
Charles Max_Wood:
go out. And,
Andy:
I think that's a good question.
Charles Max_Wood:
and
Andy:
I think that's a good question.
Charles Max_Wood:
anyway, I found
Andy:
I think that's a good question.
Charles Max_Wood:
that really interesting. So
Andy:
I think that's a good question.
Charles Max_Wood:
you really are
Andy:
I think that's a good question.
Charles Max_Wood:
down to understanding
Andy:
I think that's a good question.
Charles Max_Wood:
the people that you're doing things
Andy:
I think that's a good question.
Charles Max_Wood:
with doing
Andy:
I think that's a good question.
Charles Max_Wood:
life with doing
Andy:
I think that's a good question.
Charles Max_Wood:
work with doing business with
Andy:
I think that's a good question. I think that's a good question.
Charles Max_Wood:
and, and those interactions.
Andy:
I think that's a good question.
Charles Max_Wood:
And
Andy:
I think that's a good question.
Charles Max_Wood:
yeah, I have to
Andy:
I think that's a good question.
Charles Max_Wood:
say that's both the most
Andy:
I think that's a good question.
Charles Max_Wood:
fulfilling part
Andy:
I think that's a good question.
Charles Max_Wood:
and the thing that
Andy:
I think that's a good question.
Charles Max_Wood:
I think is
Andy:
I think that
Charles Max_Wood:
probably the most underrated. Um, One last thing that I'll add, and I've said this on the podcast several times, but this same brother and one of my
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
cousins, they were both going through computer science
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
programs at the same time, different universities.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
And they asked me within about a
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
week of each other, they're like, okay,
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
so what is the most important
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
thing I can learn?
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
What is the most critical
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
skill that I can build while I'm
Andy:
I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me.
Charles Max_Wood:
at school? And I looked at them and I said, you have to learn to work with people. And they couldn't believe it. like, you know, it's not this algorithm, it's not this magic tech ball, whatever, right? It's just,
Dave_Kimura:
Like, no, no, show
Charles Max_Wood:
you
Dave_Kimura:
me how
Charles Max_Wood:
have
Dave_Kimura:
to
Charles Max_Wood:
to
Dave_Kimura:
sort
Charles Max_Wood:
be able
Dave_Kimura:
a
Charles Max_Wood:
to
Dave_Kimura:
binary
Charles Max_Wood:
work with people,
Dave_Kimura:
tree.
Charles Max_Wood:
right?
Andy:
Yeah, it's never
Charles Max_Wood:
Sort
Andy:
been
Dave_Kimura:
Ha
Charles Max_Wood:
it
Andy:
about
Dave_Kimura:
ha!
Charles Max_Wood:
and then
Andy:
the tech.
Charles Max_Wood:
reverse sort it.
Andy:
Yeah, right? Yeah, no,
Dave_Kimura:
Yeah.
Andy:
it's never about the tech. It's, you know, Jerry Weinberg used to say,
Charles Max_Wood:
Right.
Andy:
every problem is a people problem at the end of the day. You know, it's never a tech problem. You know, Twitter right now is not a tech
Charles Max_Wood:
Yeah.
Andy:
But you're talking about that idea of understanding people in their context and how you can't really categorize people on simplistic buckets like that. There's an interesting theory in, I think it was in the psych literature, that says that your personality is not a set of buckets like that, but in fact your personality is with everyone else. So, you are a brother, a father, a son, a employee, a church
Charles Max_Wood:
Mm-hmm.
Andy:
member, a sport team member, a bar attendee, a conference speaker. It's all these different relationships with other people and it's that network that actually forms your personality. So you are a network, not a monolith, which I find kind of an interesting
Charles Max_Wood:
Hmm.
Andy:
way to look at it. And because again, this makes it you, you, you really can't put people into simple buckets that he's an introvert, he's a programmer, she's a manager, she's a tech writer, you know, she belongs to this ethnic group or this country or this, you know, whatever it might be, you know, none of us are that simple. You know, I know quite a few people who aren't even from a single company, country, they have dual citizenship or more. They have multiple passports. say
Charles Max_Wood:
Mm-hmm.
Andy:
you work for a particular company, well, okay, this year, you know, give it a year or two. That's dynamic. That's going to change. Um, and it kind of slays me because a lot of programmers will introduce themselves as I'm a Java programmer. God help you. Or I, I program an elixir or I'm a rust developer or, you know, they identify
Charles Max_Wood:
..
Andy:
themselves so much with the tech. And it's like that who cares? I mean, that's, you know, yes, right now rust is exciting. interesting and different and that's very cool. And it's got a steep learning curve. So, hey, kudos to you for mastering that because that's a thing, but that's not who you are. That's one of your network relationships.
Charles Max_Wood:
Yep. So we've kind of talked our way around a lot of stuff, and I think it's all important, but if you had to boil it down to just one thing that somebody could focus on, right? It's just like, hey, master this, right? Or deeply understand this. What would that thing be at this point?
Andy:
Fast feedback. Fast feedback is, I think, the most critical, most underlying thing because it takes a lot of different forms, right? Why do we do, you know, test driven development? Because it has nothing to do with testing. It has nothing to do with correctness or validation. It's to get
Charles Max_Wood:
Mm-hmm.
Andy:
feedback on the code. programming? Well, it helps to mentor, it helps share information, you get shared learning, blah, blah, blah, blah, blah. Great. It's about feedback. It's about getting results. You know, why do we do pipe? Why do we do a CI CD in the cloud and run the tests automatically? So we can get feedback as fast as we can. Why do we show it to a user or user representative right after we've written it so we can get feedback as fast as we can? You know, there was a that said software development is like you're exploring a giant cave in the dark like colossal cave right pitch dark and you've got a tiny tiny little flashlight you know speed is not a quality you prize here you don't want to run as fast as you can in the dark this is a bad idea you want to take small steps and you don't want to outrun your headlights as the saying goes right you can only go as far as you can
Charles Max_Wood:
Mm-hmm.
Andy:
see or in other words you can only go as fast as your feedback allows you to go it's when you outrun your feedback you get screwed so you really can only go as fast as the rate of feedback allows which is why we want all these all the things that we want we want to get that feedback as fast as we can so we can correct the direction we're going in so we don't or you run into the stalactite or whatever you like in your metaphor. And that's the most critical thing because all the stuff that we do wrong, the story size that's too big, right? Get lack of feedback. Not knowing the user, not discussing things with the user. They don't see the product until it's done, too late to get meaningful feedback. They hate it, you get bad reviews, you're in a world of trouble. really end up all almost all boiling down to a question of timely feedback
Charles Max_Wood:
Makes sense. And that's one of the, you know, circling back to the Agile Manifesto too, it's responding to change over following a plan, right? It's
Andy:
Yeah
Charles Max_Wood:
having that measure, that feedback, is understanding the change you're facing as you come into it.
Andy:
And you know, as humans, we hate change. You know, we wish it didn't happen. You
Charles Max_Wood:
Ha
Andy:
know,
Charles Max_Wood:
ha ha ha
Andy:
we don't, you know, Kent Beck's first book, the subtitle was embrace change. It wasn't grit your teeth and work your way through it, which is kind of what we do at best. Usually we just ignore it and hope it'll go away. And that doesn't work so well.
Charles Max_Wood:
Yeah, that always works. Yep. True.
Andy:
But yeah, embrace change. The other so-boring thought that I guess I'll leave you on is right now in late 2022, we are experiencing the slowest rate of technological and social change we will likely ever see. In other words, the rate of change is monotonically increasing. So whatever rate of change we're seeing now, it's only going to get faster.
Charles Max_Wood:
Yep,
Andy:
which
Charles Max_Wood:
true.
Andy:
puts a pretty big onus on us to up our game and be able to manage and deal with that and embrace that in a better fashion than we have been.
Charles Max_Wood:
Makes sense. Well, if that's where you're gonna leave us, let's go ahead and move on to the next segment of the show. Now, I've been talking to some of the hosts on some of the shows, and I'm gonna add a segment to the show right here. So we've done picks, and a lot of times folks kind of ramble on about what they're working on. And so I just figured we'll give everybody a shot at telling people what they're working on, and then we'll do the picks. So, you know, Dave can tell us what's new with Drifting Ruby or any of the other projects he's got working on. you about what's going on with top end devs and Andy, it looks like you're still doing a gross method and pragmatic bookshelf and all that stuff. So Dave, why don't you go first? What are you working
Andy:
and then we have the
Charles Max_Wood:
on that you want people to know about?
Andy:
the the
Dave_Kimura:
Oh, geez.
Andy:
the
Dave_Kimura:
Right now, I'm just working on getting healthy
Andy:
the
Dave_Kimura:
with the kids.
Andy:
the
Dave_Kimura:
I have four kids and we've
Andy:
the
Dave_Kimura:
been through the cycle of
Andy:
the
Dave_Kimura:
flu and strep
Andy:
the
Dave_Kimura:
throat and just
Andy:
the
Dave_Kimura:
we're back to another
Andy:
the
Dave_Kimura:
sickness now. So
Andy:
the
Dave_Kimura:
just getting healthy, you know, taking
Andy:
the
Dave_Kimura:
time. Don't don't
Andy:
the
Dave_Kimura:
burn the candle at both ends, so to speak. You know, take time to get
Andy:
I think that's a good question.
Dave_Kimura:
rest.
Andy:
I think that's a good question.
Dave_Kimura:
And that's
Andy:
I think that's a good question.
Dave_Kimura:
what I've been working on.
Andy:
I think that's a good question. I think that's a good question.
Dave_Kimura:
I still do
Andy:
I think that's a good question.
Dave_Kimura:
my dr. Ruby
Andy:
I think that's a good question.
Dave_Kimura:
episodes
Andy:
I think that's a good question.
Dave_Kimura:
the screencast
Andy:
I think that's a good question.
Dave_Kimura:
every week
Andy:
I think that's a good question.
Dave_Kimura:
and I've actually
Andy:
I think that's a good question.
Dave_Kimura:
I looked
Andy:
I think that's a good question.
Dave_Kimura:
back recently
Andy:
I think that's a good question.
Dave_Kimura:
And I have gone
Andy:
I think that's a good question.
Dave_Kimura:
through
Andy:
I think that's a good question.
Dave_Kimura:
and done
Andy:
I think that's a good question.
Dave_Kimura:
one episode
Andy:
I think that's a good question.
Dave_Kimura:
every single
Andy:
I think that's a good question.
Dave_Kimura:
week without
Andy:
I think that's a good question.
Dave_Kimura:
fail
Andy:
I think that's a good question.
Dave_Kimura:
for the past
Andy:
I think that's a good question.
Dave_Kimura:
five years
Andy:
I think that's a good question.
Dave_Kimura:
and
Charles Max_Wood:
Oh wow.
Andy:
I think that
Dave_Kimura:
each episode takes about 20 hours to prepare record edit and publish
Andy:
and the
Dave_Kimura:
so it's a
Andy:
the
Dave_Kimura:
Sometimes
Andy:
the
Dave_Kimura:
when I go on vacation
Andy:
the
Dave_Kimura:
and I don't have my computer with me,
Andy:
the
Dave_Kimura:
you know a lot of times I
Andy:
the
Dave_Kimura:
just won't have
Andy:
the
Dave_Kimura:
Internet or my computer so
Andy:
the
Dave_Kimura:
I will double up
Andy:
the
Dave_Kimura:
one week you know put in the extra effort
Andy:
the
Dave_Kimura:
to do the extra recording
Andy:
the
Dave_Kimura:
and then have it release on
Andy:
the
Dave_Kimura:
a The
Andy:
the
Dave_Kimura:
release date so I never miss
Andy:
the
Dave_Kimura:
a week So but it does take a toll
Andy:
I'm not sure if you can hear me.
Dave_Kimura:
and it is a commitment
Andy:
I'm not sure if you can hear me.
Dave_Kimura:
I have
Andy:
I'm not sure if you can hear me.
Dave_Kimura:
now shown that it's been
Andy:
I'm not sure if you can hear me.
Dave_Kimura:
every single week for the past five years.
Andy:
I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me. I'm not sure if you can hear me.
Dave_Kimura:
But I enjoy doing it. And as I've done it, you know, much to what Andy has been saying this whole time,
Andy:
you
Dave_Kimura:
it's when I first started out, it took maybe 30 to 40 hours for each episode.
Andy:
you
Dave_Kimura:
But as I've gotten better audio
Andy:
I think that's a good question.
Dave_Kimura:
equipment that would
Andy:
I think that's a good question.
Dave_Kimura:
remove my breath
Andy:
I think that's a good question.
Dave_Kimura:
sounds
Andy:
I think that's a good question.
Dave_Kimura:
and stuff,
Andy:
I think that's a good question. I think that's a good question.
Dave_Kimura:
easier
Andy:
I think that's a good question.
Dave_Kimura:
as I've
Andy:
I think that's a good question.
Dave_Kimura:
become more familiar
Andy:
I think that's a good question.
Dave_Kimura:
with my tools
Andy:
I think that's a good question.
Dave_Kimura:
I changed
Andy:
I think that's a good question.
Dave_Kimura:
my processes,
Andy:
I think that's a good question.
Dave_Kimura:
you know, it
Andy:
I think that's a good question.
Dave_Kimura:
wasn't
Andy:
I think that's a good question.
Dave_Kimura:
a Situation
Andy:
I think that's a good question.
Dave_Kimura:
where
Andy:
I think that's a good question.
Dave_Kimura:
no this is
Andy:
I think that's a good question.
Dave_Kimura:
how I'm going to
Andy:
I think that's a good question.
Dave_Kimura:
prepare an
Andy:
I think that's a good question.
Dave_Kimura:
episode and record
Andy:
I think that's a good question.
Dave_Kimura:
an episode
Andy:
I think that's a good question.
Dave_Kimura:
Because
Andy:
I think that's a good question.
Dave_Kimura:
this is the way I've
Andy:
I think that
Dave_Kimura:
always done it You know if I was in that kind of mindset then I would still be doing it the same way taking 40 hours a
Andy:
and the
Dave_Kimura:
week to do a single episode
Andy:
the
Dave_Kimura:
and I've streamlined
Andy:
the
Dave_Kimura:
the process Almost as
Andy:
the
Dave_Kimura:
much as I can now where
Andy:
the
Dave_Kimura:
I'm able to crank them out spend
Andy:
the
Dave_Kimura:
less time
Andy:
the
Dave_Kimura:
On each episode while maintaining
Andy:
the
Dave_Kimura:
the same quality if not better
Andy:
the
Dave_Kimura:
because I have more experience
Andy:
the
Dave_Kimura:
in doing it so
Andy:
the
Dave_Kimura:
get healthy and You
Andy:
the
Dave_Kimura:
know embrace change as Kim
Andy:
the
Dave_Kimura:
back said as Andy pointed out
Andy:
the
Charles Max_Wood:
Nice. I'm going to
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
throw in my stuff real quick
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
that I've been working on.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
So yesterday
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
evening was our first book club.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
You can go sign up for that at topendevs.com
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
slash book club.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
And we're reading Clean Architecture
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
by Robert C. Martin. We had
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
Uncle Bob on the call.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
It was our first call, so we only had a few
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
of us there, but it was a lot of fun.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
It was great to kind of go through,
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
you know, these books
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
and talk about what's there and what's changed and what's new and some of the principles that apply to what we're doing. Anyway, I really enjoyed it. It was terrific. Bob had a bunch of great insights, but the other folks who joined also had some terrific insights from their different experience than where Bob was when he wrote the book and where he is now. So I'm really digging that. We're also doing twice a week member calls for the Top End Devs membership. one is going to be on Friday, so
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
tomorrow, and we're doing
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
resume reviews.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
I'm going to walk through how to
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
set your resume up
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
to put you forward on the right foot because
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
I'm seeing a bunch of people either quitting
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
or getting laid off from
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
different places for different reasons.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
You want to be able to help
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
folks. That's going to be part of the deal too.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
Incidentally, if you want to get a copy
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
of my resume, I
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
took my cell number off of
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
it. resume so that you can kind of see how
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
I've set things up and arrange things for,
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
you know, when I apply to, you know, contract
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
positions or full-time positions.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
You can get that at topendevs.com slash resume. You just put
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
your email address in, you get it for free. And
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
that's kind of the stuff that I'm really focused on
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
getting working and then just cleaning up the top endevs
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
website with all the podcasts and stuff. So yeah. Andy, what do you have going on?
Andy:
You guys have been busy doing real work. I have been tied up moving, which is its own particular level of hell. And we've done this sort of a couple times in the last number of years, but this was one of those hard moves where it was a downsizing move. You know, the kids were up and grown and they were trying to stuff everything into a much smaller venue. challenge. Especially as we were doing some construction while we were moving and the timing didn't quite work out between you know supply chain issues and labor issues and whatnot. We had every stuff we had everything moving in before there was places ready for it. So that was that has been inordinately time consuming. But we're almost
Charles Max_Wood:
I'll bet.
Andy:
we're almost out of the woods on that adventure and and I is we are never moving again. They're gonna have to bury us here. That's it. We're done. That's too hard. So that's been some fun. But yeah, as you said, I've been continuing doing stuff with the GROWS method, which is at GROWSmethod.com. We're actually about to have a public workshop, which we don't do a lot of, but we're about to have one come out in the first quarter. So if that's something that any of your listeners are interested in, grows method.com and sign up we'll tell you when that's coming I am at pragmatic Andy on both mastodon and the bird site so I'm pretty easy to find there my web home is at tool shed comm so if you're interested in any of the stuff that I'm involved in whether it's grows or the pragmatic bookshelf or my fiction books or my music hobby you can find all of that there and I've been working on all of those. I've got some short stories on the way. I've got some music compositions I've been working on. I've got some new workshops coming up. Maybe another book or two. We'll see what happens.
Charles Max_Wood:
Cool. We're looking forward to it. All right, well now we're gonna go ahead and do pics. And that's just us shouting out about stuff we like. So Dave, go ahead.
Dave_Kimura:
All right. So what's new? Well, I think the newest thing I have a black magic camera because I like doing a bit of video work and stuff. And I've always just kind of. done it just as you would normally with a handheld camcorder. But recently I have gotten into cages. So Tilta makes a really nice cage for the Blackmagic camera
Andy:
I think that's a good question.
Dave_Kimura:
that allows
Andy:
I think that's a good question.
Dave_Kimura:
you to bolt on
Andy:
I think that's a good question.
Dave_Kimura:
and do all kinds of
Andy:
I think that's a good question.
Dave_Kimura:
cool things. I
Andy:
I think that's a good question.
Dave_Kimura:
could actually grab
Andy:
I think that's a good question.
Dave_Kimura:
it.
Andy:
I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question.
Dave_Kimura:
So you can turn your little point and shoot camera rig or whatever into this monstrosity
Andy:
I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question.
Dave_Kimura:
of a production quality level thing with all these add-ons, battery screens, and all this
Andy:
I think that's a good question. I think that's a good question. I think that's a good question. I think that's a good question. I think that
Dave_Kimura:
other stuff. So it's really cool.
Charles Max_Wood:
Awesome.
Andy:
I'm not sure if I'm going to be able to do this.
Charles Max_Wood:
I'm going to throw out some
Andy:
I'm not sure if I'm going to be able to do this.
Charles Max_Wood:
picks. I always do a board game pick. I'm going to pick the game camel
Andy:
I'm not sure if I'm going to be able to do this.
Charles Max_Wood:
up. Um, it's a, it's a pretty
Andy:
I'm not sure if I'm going to be able to do this.
Charles Max_Wood:
simple game. Um, you roll the dice, you move the camels,
Andy:
I'm not sure if I'm going to be able to do this.
Charles Max_Wood:
you can
Andy:
I'm not sure if I'm going to be able to do this. I'm not sure if I'm going to be able to do this. I'm not sure if I'm going to be able to do this. I'm not sure if I'm going to be able to do this.
Charles Max_Wood:
buy or bet on a camel.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
Um, Anyway,
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
fun stuff. So I'm gonna pick Camel Up.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
Board Game Geek rates
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
it at 1.47. So
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
it's a simple game, easy
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
to pick up. Kids can play
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
it and it's a
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
fun game. It's a fast one too, it's like half hour.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
So I'll shout
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
out about that. Then
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
my wife and I,
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
last night, I didn't realize that they had done
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
it, but we used to
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
watch Criminal Minds, we really enjoyed that show,
Andy:
I'm not sure if you can hear me. I'm not sure if you can hear me.
Charles Max_Wood:
Paramount
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
Plus, slash whatever they call it now.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
They have a new series
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
that's only on
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
the Paramount Plus.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
And
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
anyway, we watched the
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
first episode and really enjoyed it.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
I was wondering if it was going to be like
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
a reboot of the show with the same characters
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
or not. And it is basically
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
at this point a reboot of the show
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
with same characters, which is nice, right? Because it's
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
like, oh, okay. It's, you know, two
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
or three years later.
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
some and you know
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
different things have affected them differently
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
and yeah
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
anyway we're digging
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
that so I'm gonna pick that too
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
and then just remind people
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
you can watch the World Cup I'm watching
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
I'm loving it
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
you can watch the replays for free on Tubi
Andy:
I'm not sure if you can hear me.
Charles Max_Wood:
that's
Andy:
I'm not sure if you can hear me. I'm not sure if you can hear me.
Charles Max_Wood:
T U B I and so yeah I didn't have to go get another subscription I just watch it on there so that's what I've been doing I've managed to stay mostly spoiler free too if I've waited a day or two to see a Anyway, those are my picks. Andy, what are your picks?
Andy:
So I'm sitting here thinking, golly, what have I been playing with lately? So two things come to mind. One professional, one hobby. an appropriate kind of to-do list sort of technology. And I used Trello for the longest time because I liked having the cards and the boards, but there wasn't really an easy way to, you know, the way that I work, especially with all my different interests, I've got different companies and different projects that I'm all working on. and do a master sort of to-do list for the day.
Charles Max_Wood:
Mm-hmm.
Andy:
And it turns out that's kind of a hard thing to do in most systems. You either have to go in and like deliberately set statuses and do magic filters and all kinds of this kabuki dance. And it's very cumbersome. So I abandoned, and the other thing that happens is, I don't know if you've ever noticed this, but anytime, any to-do list technology, you get to a point where you have to declare list bankruptcy and there's so much stuff jammed in it, you will never complete
Charles Max_Wood:
Yeah.
Andy:
these items before the heat death of the universe. So it becomes like a doom box. You've thrown all this stuff in and you're never going to get to it. So that happened to me with Trello. I had so much stuff stuffed in it, it's like fine, I'm just calling it to-do bankruptcy. And I moved on and tried ClickUp. And ClickUp is a really nice tool in concept. anything that you put in you can view as a list or as a table, you know, sort of Kanban style, or as a table or a list, you know, thing of cards or just a straight up list. So you've got these different views you can do with everything. It's got a lot of nice stuff. The problem is, it is slow as a pig on stilts. It's just very painful to use and they do something that a lot apps do that absolutely gives me a migraine when you're trying to scroll or move your cursor over the field for any reason everything you go over suddenly blows up extra big to show you do detail it's like this default hover zoom kind of thing which when you've got a number of cards or things you're working with it literally it's like giving me like like you know photosensitive epilepsy cannot stand that and then it's not unique to them I mean that this is a anti-pattern and a lot of UX these days so I've moved
Charles Max_Wood:
Mm-hmm.
Andy:
and and I used ClickUp for about a year or two and it suffered the same problem Trello had for some reason all the lists got really big so I declared bankruptcy on that one and moved on to Linear and Linear is very nice its cross-platform runs on Linux and the nice thing about that is it was clearly designed by developers because everything's got a keyboard shortcut you know chains of and and it's not like Emacs Pinky where you have to control alt Apple F1 6 nonsense it's you know you know you want to change the status to to urgent you hit SU return boom so you know that sort of thing you know very simple keystrokes very easy to go in and do its business. I had a question, their tech support got right back to me with a thing. So until I fill it up, they're my current favorite in that world. And then on the hobby side, they added this spec to the MIDI specification for piano keyboards, electronic keyboards, synthesizer keyboards
Charles Max_Wood:
Mm-hmm.
Andy:
with polyphonic expression and there's been this nice trend all of a sudden with a couple of, you know, not many but like say four or five sort of boutique manufacturers who are moving the state-of-the-art beyond pressing a key down to get a note. And you know, we've had for many years now, well if you press the key faster and harder you get a different value than if you press it lightly more of you after you hit the note you can press the key harder and get data out of it. You can wiggle your finger side to side. You can wiggle your finger from the back of the keys to the front. You can do these different sort of gestural controls on what's more or less a standard looking keybed to get a wide range of expressive capabilities that did not exist you know sort of vintage sense back in the day that had this, but it was expensive and it never really caught on. But you know, material science and you know, the increasing race with Moore's law to get more on smaller chips now gives us a lot more ability to do some really cool things in that space. So I'm watching a couple of them, you know, if you are like Kickstarters, if you are out as real projects, a lot more with synthesizers or even orchestral simulation than was possible before. And that's the kind of tech that really excites me. That lights me up.
Charles Max_Wood:
Awesome
Andy:
I'm
Charles Max_Wood:
I'm looking at linear because you've basically explained
Andy:
going
Charles Max_Wood:
my whole existence with any
Andy:
to
Charles Max_Wood:
list
Andy:
go ahead and do a little bit of
Charles Max_Wood:
option.
Andy:
a demo. So, I'm going to go ahead and do
Dave_Kimura:
Brian Bates
Andy:
a
Dave_Kimura:
recently recommended
Andy:
little
Dave_Kimura:
Linear 2, I think,
Andy:
bit
Dave_Kimura:
on Twitter.
Andy:
of a
Charles Max_Wood:
Yeah,
Andy:
demo.
Charles Max_Wood:
it looks like it's a project management tool, but if that's the right one,
Andy:
So,
Charles Max_Wood:
linear.app.
Andy:
I'm going to go ahead and do a little bit of a demo. So, I'm going to go ahead
Charles Max_Wood:
Yeah.
Andy:
and do a little bit of a demo. So, I'm going to go ahead and do a little bit of a demo. lot of
Charles Max_Wood:
Alright,
Andy:
features
Charles Max_Wood:
good deal.
Andy:
that I'm not using but you can tie into pull requests which you shouldn't be using on an
Charles Max_Wood:
Mm-hmm.
Andy:
internal development project. That's a side note. But yeah, it does a lot of stuff so if you're doing that kind of thing it's got you covered.
Charles Max_Wood:
Cool. All right, well thanks for coming Andy. This was a fun chat and, you know, a lot of stuff I agree with, a handful of things I wanna go look deeper in and yeah.
Andy:
Awesome. And you know, it just, I've said this in a lot of keynote addresses. It's like, my fond wish is to come in and talk for an hour about the very most important things that we need in programming and have everyone in the audience nod and say, yes, Andy, that's what we're doing. That's what I want to be
Charles Max_Wood:
Mm-hmm.
Andy:
to have the most boring keynote, because everything my goal. That's my professional goal and
Charles Max_Wood:
right.
Andy:
we're not there yet.
Charles Max_Wood:
Cool. All right, well, until next time, folks,
Andy:
Well thanks so much for
Charles Max_Wood:
Max
Andy:
having me
Charles Max_Wood:
out.
Andy:
guys.
Charles Max_Wood:
Yeah.
Dave_Kimura:
Yeah.
Andy:
you
Things Software Developers Should Know to Succeed With Andy Hunt - RUBY 579
0:00
Playback Speed: