Matt Rickard
Appearances
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
What do you think comes out of the falling prey to it again and again? Do you think that it's a necessary thing that you just...
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
learn from and grow from as a result of like just this awareness that it's not efficient to repeat yourself instead of saying don't let's say maybe not repeat yourself or should not versus don't and it's kind of a little softer on the it's maybe just being more aware of the times when there are the patterns you should said jared like the pattern matching to just be aware that these can lead down bad roads if you repeat yourself too often it makes sense to dry up things
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
You know what I mean? To treat it more loosely? It's like an awareness thing.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Is there a best practice for commenting then? Are you commenting every function? How to get to the point where you need to explain every single thing? If you're going to explain...
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Okay, we're here in the breaks. I'm here with Faraz Bukhdiye, founder and CEO of Socket.dev. So Faraz, you put out this fire post recently on X. And I'm going to paraphrase. You say the XZ package backdoor was just the tip of the iceberg. Give me just a peek behind the scenes of this incident and what you mean by it's just the tip of the iceberg.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Okay, friends, go to socket.dev. Security dependencies. Socket is on the front lines of securing the open source ecosystem. They're a developer-first security platform that protects your code from both vulnerable and malicious dependencies. Install the GitHub app or book a demo. Again, socket.dev. That's S-O-C-K-E-T dot dev.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And by our friends over at Superbase, here in the breaks, I'm here with Ant Wilson, CTO over at Superbase. So Ant, I know our listeners know a lot about Superbase, but who are you?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
okay so bringing postgres to more developers i'm a big fan of that we love postgres here at changelog a lot of developers feel like the main choice or a primary choice for them is amazon web services aws right no one gets fired for using amazon web services but suit base is build no weekend scale to billions what's your vantage point on this as cto of super base
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Well, Superbase is open source. You can self-host it if you want to. It is Postgres for life. It is open source for life. Authentication, instant APIs, edge functions, real-time subscriptions, storage, vector embeddings, things for AI. It's got it all. And no servers managed by you. Just build your app, build it in a weekend, scale to billions as you grow.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Learn more about their recent launch week at superbase.com slash launch week or go to superbase.com and get started. Once again, superbase.com. That's S-U-P-A-B-A-S-E.com.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
That's true. Maybe that's the loophole. Definitely got to check the date on the stacker. That's for sure. Because if it's like from 2016 and it's 2021, it might be out of date. Might be. Yeah, I don't know. That's a hard one, too, because it depends.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And the reason I say it depends on maybe this is where the difference is, is these are reflections about pure coding, whereas my example here I'll give is more about using. So I've been doing a lot of stuff locally with Docker online. a lot of containers on my local network, and I'm doing things with Docker Compose and just learning more about different ways to extend and use Docker Compose.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So they're YAML files, configuration essentially. And I'm not going to go read the Docker source code to learn about Compose because the docs are pretty good. So in that example, but that's not pure coding. It's kind of coding, right? I'm coding a config file, which isn't necessarily coding. You're using a thing. It's sort of the ambiguous middle there of coding.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I'll admit that this advice would have been good yesterday, actually, for me.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
A day late and a dollar short. So I'm having Matt Billman and Christian Bach from Netlify on Founders Talk soon. And I was digging into my personal site, which actually is using Netlify. And so I was going to make some updates to it. It's a Jekyll site, essentially. And I'm using a plugin called Jekyll Assets. And something changed with Jekyll since the last time I updated in 2019 to 2021.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So now I guess Jekyll assets works differently. And so things that were working once were now broken. And I was digging through documentation rather than source code. And I wasn't finding my answers. I think if I had taken your advice and just dove into the source code a bit more, I can understand a bit more how I might be able to pull assets like I'm expecting because I can see the coaching.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
That's a great example. Rather than the documentation be obsolete or non-existent from my use case, I can actually read the docs on how assets cause an image, for example, and what happens as a result.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
What's up, nerds? You're listening to The Change Law. We feature the hackers, the leaders, and the innovators leading the world of software. And this week, Jared and I are going back in time to one of our top performing shows of 2021, really of all time. And we're talking to Matt Rickard about his blog post Reflections on 10,000 Hours of Programming.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I actually learned a similar lesson to this from a fellow named Brian Tracy, but it was more in the sales vein and more of a self-development vein than it was simply programming. But the analogy is very similar. Basically, if you want to be good at something or excel at some way at something, look at who's already doing it really, really well and emulate them.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So the practice essentially is if you want to do something really well, find out who's doing the best currently at it or writing the best current version of it and emulate what they've done. Not so much to copy them, but to follow their path to greatness. And you may branch off and find your own path, but follow the greats to greatness and you may be great yourself.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So AWS was built for a different era, a different cloud era. And Fly, a public cloud, yes, but a public cloud built for developers who ship. That's the difference. And we here at Change.io are developers who ship. So you should trust us. Try out Fly, fly.io.com. Over 3 million apps, that includes us, have launched on Fly.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
You got to get lucky. Well, I think, you know, in the case of say the ghost in your library, I think it may have been written by some really well-known and knowledgeable people inside of Google for the most part. Right. So I think they're pretty good examples of people to emulate considering their career and what they've touched and what they've brought to market.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So I think that's a good example there. I think otherwise, you know, You just got to follow your peers, you know, pay attention to the change. Love this podcast, for example. That's how you find greats. You pay attention to the media and the content happening in the space. You know, you pay attention to Twitter. You pay attention to maybe TikTok. Who knows?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
But for sure, Stack Overflow, for sure, GitHub, for sure. Standard libraries, for sure. The package registries. What's what are other people using? What are other people using as dependencies? And all that work will shake out who's great. I almost stopped you at TikTok, but I'll let you keep going. All right. I know. So I have a rule.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I have to mention TikTok at least once every podcast from now on. I thought that was Silicon Valley. That's that too. You're still working on that one. I'll bring up Silicon Valley if you want. We could do it. Go ahead. Bring it up right now. What's a good example of the greats there?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Well, I think in Silicon Valley in particular, and this may be just a break or something else, but the way you found the greats there was just by paying attention just to where the money was going, who was getting funded, who was competing, who was stealing engineers away from others. In many ways, it was Gavin Belson, the evil bad guy, essentially the big tech person.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
fighting the little guy trying to build the best algorithms to build a better internet. You find the best by just seeing who is actually putting stuff in the market and winning. And so that's how you find the best. All right. I take it back.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
They leverage the global anti-cast load balancing, the zero-config private networking, hardware isolation, instant WireGuard VPN connections with push-button deployments, scaling to thousands of instances. This is the cloud you want. Check it out, fly.io. Again, fly.io. Well, Matt, look up to the changelog. 10,000 hours is a lot to put into anything. And at some point you hit mastery.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Would you also say it's like proven ground? Where if you're at a lower level, you're on less proven ground. So there's probably less... code to potentially even choose from, even if you could.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And maybe where you're in more proven ground, say a front end where things are sort of stabilized or something like that, it makes a lot more sense because maybe even the user base of that dependency might be great. They've got a lot of community happening there, a lot of support coming in. So it makes zero sense for you to invent here rather than dependency yourself.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I think in small teams that makes sense for sure. And even if you're in a big org, you can still be in a small team. So you're always sort of like resource aware. So if you're resource aware, you shouldn't waste time. So wasting time would be writing code you shouldn't write. And being efficient would be writing code that you should write, only you should write.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So I think it kind of depends still yet. But, you know, even in a big org, you could be a small team.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Yeah.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
What's up, friends? I'm here with a new friend of ours over at Assembly AI, founder and CEO Dylan Fox. Dylan, tell me about Universal One. This is the newest, most powerful speech AI model to date. You released this recently. Tell me more.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And in your blog post on the subject titled Reflections on 10,000 Hours of Programming, you quoted Malcolm Gladwell from Outliers, quote, The key to achieving world-class expertise in any skill is to a large extent a matter of practicing the correct way for a total of around 10,000 hours, end quote. So 10,000 hours to master a skill. That's where we're at.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Very cool. So Dylan, And one thing I love is this playground you have. You can go there, assemblyai.com slash playground, and you can just play around with all the things that is assembly. Is this the recommended path? Is this the try before you buy experience? What can people do?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Okay. Constantly updated speech AI models at your fingertips. Well, at your API fingertips, that is. A good next step is to go to their playground. You can test out their models for free right there in the browser, or you can get started with a $50 credit at assemblyai.com slash practical AI. Again, that's assemblyai.com slash practical AI. and also by our friends over at Wix.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I've got just 30 seconds to tell you about Wix Studio, the web platform for freelancers, agencies, and enterprises. So here are a few things you can do in 30 seconds or less on Studio. Number one, integrate, extend, and write custom scripts in a VS Code-based IDE. Two, leverage zero setup dev, test, and production environments. Three, ship faster with an AI code assistant.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And four, work with Wix headless APIs on any tech stack. Wix Studio is for devs who build websites, sell apps, go headless, or manage clients. Well, my time is up, but the list keeps going on. Step into Wix Studio and see for yourself. Go to wix.com slash studio. Once again, wix.com slash studio.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
You got some lessons here you've shared, reflections for you, but lessons for us. So let's dig into those. Where do you begin when you reflect on 10,000 hours of anything?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
The difference there might be that you didn't write that code, right? You wrote the code to maintain, but you didn't write the formula and lots of code.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
What I mean is the emotional tie to the code.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I wonder if it speaks to confidence in yourself to go psychological. Like to feel like you shouldn't or can't delete it is having less confidence in yourself that you could rewrite it better. You know what I mean?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Like you want to hold on to it because maybe you're less confident that you – and so maybe, Jared, to your point, and maybe a hat tip to you might be that you're highly confident in your abilities to rewrite the code better. Maybe I'm overconfident. Overly confident, high confidence, say it how you like. But like it leads maybe to a lack of or a high degree of confidence potentially. Maybe. Yeah.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Finding it might be challenging, though. I suppose if you can code search even history, you could.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Yeah. It's noise. As somebody who is somewhat of a digital pack rat... I can empathize with the person who has a challenge in deleting it. Not because I find it useful or that I'm emotionally tied to it, but what if I wanted to reference it? What if this could be useful someday? Right. But I also say I like to delete code. It's nice.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Because there's some value in that, too, because you can sort of see a better future. And I think it kind of depends, really. It depends on how emotionally connected you are to it, what your confidence might be of it. If it truly, you know, if you do believe in Git, which is totally true. Like, if it's in Git. It's in there. Or even anything else. Fossil, for example.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
The new and upcoming Git. Yeah, go agnostic. Maybe it's in Mercurial. Who knows? Maybe it is.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
What are the downsides? Let's say over-organizing. Is there an over to that potentially? So you want to organize it and it's an art to do so, but what about over-organizing? Can it be... fatiguing, so to speak. And the reason why I ask this is I often see this on the front end, mainly where I play most in SAS.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I know that when SAS came about, you can always add import CSS files, for example, on the front end. But it was less common because it really, in the end, just created one big CSS file on the front end itself when you moved it along. But in SAS, I noticed that a lot of people would compartmentalize little components. And it would be like a five-line rule set for CSS in there.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And it's like, well, that could have been in the regular file. And you just find yourself itising yourself to the point where you're in so many different files that it's like, is this really helpful?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
What's the downside to like over organizing? Hard to find things. Yeah.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Would it be more helpful if it was instead of I, if it was iterate or increment, that's where you can really like drive that point home. Cause if you can say, what would the extended version of IB iterator and would it be more useful?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Of course it is. But I mean, like, let's do the exact opposite as a fun case. Let's expand it to like its full word. Would it be iterate or increment or what would it be?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So would it be more helpful or less helpful if it was for iterator? You know, if the variable was iterate instead of I. It's too much typing, man. Too much typing. Too much typing, right? So the answer is no, not more helpful.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
I don't know if that's short for error, though, is it? Yeah, it is. Well, isn't ERR an actual word itself, though? E-R-R?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
It's its own word. So is it a shortened version of error, or is it just a shortened version of the word?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
These reflections are about deliberately writing code for 10,000 hours. Most don't apply to beginners. He was clear to mention that these reflections are purely about coding, not career development or soft skills.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
The such thing is too long. I think the point he's making there is like, if you're going to see it frequently, make it brief, right? Because like, you're going to see it more often. The quicker you get something done that you're familiar with, we're going to happen frequently, probably the better.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
So the more often you read ERR versus error, as an example, if you read that 50 times a day versus once a week, maybe do it briefly.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
But to be able to look beyond the lines of the camps and say, what ideas have you implemented that would translate to our ecosystem and make sense for us to look at, I think is something that's been a hallmark for this show really since its inception. We began as the changelog. We began not choosing the Ruby camp despite our Ruby roots in many ways.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
We didn't choose a specific camp and say this is the Ruby changelog. We said this is the changelog because open source was moving fast. It was difficult to keep up. And this show and the blog that came from it was an example of how to pay attention agnostically across the board and to cross-pollinate those ideas. I think this is like core DNA for us and phenomenal advice from you.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
It's good to have you, Matt.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Appreciate it. Well, that was fun. We went back in the past. We learned about some cool reflections of 10,000 hours of programming. Not career advice, although that is good, and not soft skills, but actual coding, what it takes to become a master software developer. So which reflection was your favorite?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
As we mentioned in the intro and during the show, be the first person to comment on this thread in Zulip the correct number of reflections mentioned in this episode. And you've got yourself a free T-shirt from our merch store. And if you've never been there, go to merch.changelog.com. Now you know. Okay, so we took the week off. We brought you a blast from the past.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Well, we had a scheduling issue last week, and so we just didn't record an episode. Sometimes that happens. And in this case, thanks to Matt, we brought you a gem, a banger of a show, Reflections on 10,000 Hours of Programming. This is the podcast that just keeps on giving. I hope you enjoyed it.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Okay, so a massive thank you to our friends over at Fly, our friends over at Socket, our friends over at Assembly AI, and of course to our friends over at Wix for the awesome work they're doing on Wix Studio. We have awesome sponsors. I hope you love them, and anything you do with them in reflection of this podcast supports us, and we appreciate that.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Big thank you to Break Master Cylinder for those awesome beats. Banging beats. Love those beats. Okay, that's it. The show's done. We'll see you on Friday.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Sounds good. I have a bonus for a listener, too, by the way. Since we don't know how many we'll cover... And there's a free T-shirt in mind here. I'm curious if someone can listen closely and the first person who can say how many we cover, if we cover all 31 or not, or at least how many we cover in the comments gets a free T-shirt. So the first person to do that, comment, get a free T. Okay.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And if you count the reflections we cover on this episode and be the first to comment on this thread in Zulip, we'll give you a coupon code for a free t-shirt, a 100% free t-shirt from the merch store. Good luck. A massive thank you to our friends and our partners over at fly.io. That's the home of changelog.com. It is the public cloud for developers who ship, developers who are productive.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Best effort gets a T-shirt.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
Yeah, I want to write it in Ether, honestly. It's going to be fun.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
almost like the process of iteration is necessary, right? Like the, you almost learn something. You said that as the surface area of the program evolves, it's almost like this iteration through the flow, this heptagon is necessary to sort of like flesh out the brittleness or the flexibility, then the eventual brittleness again of an application. Cause you sort of learn something about it.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
And that's us. That's you too. Learn more at fly.io. Okay, let's talk to Matt. Hey friends, you know we're big fans of fly.io and I'm here with Kurt Mackey, co-founder and CEO of Fly. Kurt, we've had some conversations and I've heard you say that public clouds suck. What is your personal lens into public clouds sucking and how does Fly not suck?
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
You provide configuration to the user base so that they can use it more different, you know, in a more flexible manner.
The Changelog: Software Development, Open Source
Lessons from 10k hours of programming (Remastered) (Interview)
then those flexibilities turn into like well this is now a best practice so all those things solidify to now you want to just hard code them so almost everybody uses the same flexible configuration in some cases i mean there's a thousand different ways you can slice how this is used in the real world but that seems to be a necessary iteration process yeah yeah i really like that point i think it's a lot about discovering what those best practices are and starting to codify them and in different sorts of ways