Frontend FM
EPISODE 01

AI, Personal Software, and the Future of Software Development with Addy Osmani

Feb 28, 2025

Episode with AI, Personal Software, and the Future of Software Development with Addy Osmani

Addy Osmani is an engineering leader working on Google Chrome, an author, and a renowned international speaker. Join me on this very first episode of Frontend.fm to chat about Addy’s journey in tech, the evolution of JavaScript frameworks, the impact of AI on personal software, and the challenges developers face with AI tools. Addy also shares insights from his book on leadership, productivity tips, and the importance of psychological safety in teams.

Addy on the web

Maxi on the web:

Transcript

Addy (00:00) What got you to where you are today is not going to get you to the next level. And the next level can mean a few different things. It can mean the next level of your career. can mean the next level of effectiveness. when you are, you know, a manager of a small team, what you have to think about to be effective is different from what the leader of a group of other leaders and managers and people with big orgs, like what they have to think about. And so.

When you’re at that phase, you have to really nail down setting up what’s effectively a system that can operate without you, get it to a point where it can operate without you, and then occasionally just tap that blimp so that if it needs to be course corrected, you can course correct it. You make heavy use of delegation. You make sure that you have a system in place that keeps the team as effective as possible.

Maxi Ferreira (00:46) Hello, everyone. Welcome to the very first episode of the Frontend FM podcast. My name is Maxi Ferreira, and my guest today needs no introduction, but I will give him one anyway. Addy Osmani is an engineering leader working on Google Chrome. Currently, he is the head of Chrome Developer Experience at Google, helping reduce the friction for developers to build great user experiences. Addy is a renowned international speaker.

He’s given over 175 talks all over the world. He’s the author of several books, including Learning JavaScript Design Patterns, Leading Effective Engineering Teams, Building Large-Scale Web Applications, and many, many more. Addy, it is an enormous pleasure having you here. How are you?

Addy (01:30) I’m good, thank you. It’s an honor to be joining your podcast.

Maxi Ferreira (01:33) Oh, thank you. Thank you. Thank you for joining me. There are a million things that I would like to chat with you. I have a million questions for you. But I’d like to start at the beginning. I’d love to learn about your origin story, how you got started in tech. I’ve been following your work for a long time. I believe the very first time that I came across your work was with your backbone JS book, which was really a lifesaver back in today.

But I have to admit, I don’t know too much about your career before that, before you joined Google. So can you give us like an overview of how you got started in the industry?

Addy (02:09) Yeah,

absolutely. So a lot of folks might not know this. I grew up in Ireland. I spent 16 years there. I grew up in Europe. And I was always fascinated with how things work and kind of breaking things apart and then putting them back together taught me a lot about how the world works. And I was always fascinated with computers and programming. I got my start in desktop app development.

My first programming languages were C++ and Pascal. And so I really enjoyed building desktop apps a lot. that got me into, know, and I would use the web, I’d use the internet for looking up documentation all the time. And one day I got curious and I was thinking like, wait, I’m using the web every day, I’m using browsers. How does any of this actually work? And I think I was probably 15 at the time and I thought,

It would be interesting to go and try building a browser from scratch and exploring, okay, well, how does any of this work? And that was a mind blowing experience. It taught me a lot. I read a lot about the specs at that time for CSS and HTML and early JavaScript and had to build parsers for all of these things so that you could render a webpage. And it gave me this new found appreciation for how powerful browsers are because

They kind of accept literally any junk that you throw at them and will still be able to render a page most of the time. Like that is so incredible. And then you layer in all of the capabilities, like the ability to play a video, like back then, I’m old now, but back then we had, you know, real video, we had Windows Media Player, had all these older ways of doing things. And so you had to support all these different kinds of embeds and ActiveX plugins and stuff.

But that experience was really educational. I ended up submitting my little browser project was called X-Webs. I don’t know if I was inspired by Xbox at the time or something. And I decided to bolt out a few things I thought like, hey, peering into the future, what could be interesting? So I actually added a voice assistant into my browser at the time. was like, hey, maybe people will use something like this.

Maxi Ferreira (04:09) Yeah.

Addy (04:23) It wasn’t like a popular thing at time. It’s cool to see those ideas now actually coming to fruition in real browsers. But I submitted my little browser project to a national science competition. I did not expect to win it. I won the national science competition. And the next day was the most bizarre experience for me. had the Wall Street Journal, the BBC. had all of these big

news organizations getting in touch with me at like patent lawyers reaching out to me. It was a crazy year. I was like 16. It was a crazy year. decided. And so we like spent the next year talking about like, okay, are you, starting up a business? Are you going to college? What are you doing? I ultimately decided to, um, you know, if you’re 16 and you’re coding something, I would say things like, yeah, my, you know, I’ve got millions of lines of code in this. And that doesn’t mean like there’s millions of lines of authored code.

millions of lines, including like all the dependencies and stuff you’re pulling in. And so I wanted to actually understand properly, like at depth what I was doing. So I decided to go to college. I went to college for a few years. I did, I think the Microsoft student partner program at one point, and that was great too. And it was around that time that I started getting a much deeper appreciation and love for JavaScript and what you could do to build web apps.

Maxi Ferreira (05:17) Right?

Addy (05:41) So this was, I think it was perhaps still early on in the days of Gmail, but you were starting to see all of these companies begin to really invest in building deeply interactive experiences on the web. And that was fascinating for me. We started to see people struggling with, hey, we’ve got in older, in well-established programming languages, you have best practices, you have conventions for how people build.

large applications. And I was seeing a lot of people struggling with that. We began to see, you know, abstractions appear on the web. We had jQuery, we had Angular, had Backbone, as you mentioned. At one point in my early open source journey, was fortunate enough to get to work with the jQuery team and contribute in my own small ways. But that started to teach me about open source. I realized at one point that, again, like patterns were not

well captured. And so that led me to write my first book, JavaScript Design Patterns. And in many cases, I kind of tried to like port over patterns from other programming languages. You know, a lot of people know about the Gang of Four book. I tried to port over those to JavaScript. In some cases, that made sense and others less so. But as a language, JavaScript was still not fully formed, I would say, for web application development, even the web platform was early on. And so we were still learning along the way.

as a framework started to come on, the scene, I realized that developers were really struggling with understanding like, okay, well, how do I pick a framework? Like everything, everyone is telling me everything is great. They’ve all got these great marketing pages. How, do I even begin to choose? And so, I decided to put together, it remains unsolved. don’t know that AI is even going to help us solve this, but,

Maxi Ferreira (07:15) You

That remains an unsolved problem, unfortunately.

Addy (07:24) I realized that maybe there’s an opportunity to help there. And I began implementing the simplest possible interactive app I could, a To Do app, in multiple frameworks. And that led to the creation of To Do MVC. And it was really cool. was kind of like, it was an opportunity for me to start working with framework authors and their communities, just to provide people with, you know, a somewhat canonical example that was a fair comparison.

Maxi Ferreira (07:39) Yes.

Addy (07:52) You can argue, hey, is a to-do app too simple? But we kind of sprawled this whole industry of tutorials around to-do apps, like other programming languages started to use to-do apps a lot. And I think that its simplicity made it easy enough to be able to convey, like, okay, well, here is how you do models, or here’s how you do controllers, or here’s how you do views and routing and things like that. And we ended up actually going from…

to do MVC being a project for education, to do MVC being the basis for how browsers actually benchmark real world performance in a lot of cases. So what we created with Apple, a benchmark called Speedometer, and that continues even to this day to be the way that we test out, like, hey, are browsers doing a good enough job at being able to render and process framework code?

I’m glad that that had, you I have lots more I could say about frameworks, but that’s kind of my start and it led to more books and more working with companies. worked it before Google. I had a few stints at startups and then I joined AOL. So I worked at AOL at one point. That was a crazy and I have all sorts of weird and wacky stories about AOL.

My first day at the job at AOL, so I’m showing my age now because there plenty of folks who are listening to this who may have never known about AOL. AOL used to give out free CDs with magazines and you’d drop it in your mail. And almost everybody had an AOL CD at one point. And the idea is this is what you’d use with your dial-up to access the web. And AOL even had their own browser product. It was kind of your gateway to the internet.

My first day at AOL, my boss, my manager was trying to get me set up and he said, yeah, go install the AOL browser and we’ll give you a few starter tasks to debug. And so I go and I set up my machine and I installed the AOL browser. The first thing that it asks me to do, I’m working at the company, the first thing it asks me to do is enter in my credit card details. Or I even get to debugging.

It’s like, man, these guys have really nailed down that part of their flow. yeah, AOL was a crazy time. Anyway, I have found it entertaining and educational that I then went back to working on browsers for like a lot of my life. I’ve been working on Chrome for 12, 13 years now, and I’ve been enjoying that. I’m a big fan of the web. I think it’s got endless possibilities.

Maxi Ferreira (10:20) That’s amazing. didn’t know that you build your own browser as a teenager. And yeah, you ended up working in Chrome today, which is just fascinating. Thank you for sharing that story. And TodoMVC, I remember, yeah, TodoMVC was the website that you went to to learn a new framework or to see the differences between Ember and Angular and Backbone and all those things. Yeah, and the speedometer.

test is still like it still runs. can you can run it today and you see it run. I guess it’s so it measures how fast your browser is processing all this JavaScript, I guess. Right.

Addy (10:56) Yeah, it measures responsiveness. Over the years,

we’ve tried to do a good job of keeping it up to date. We just recently did a cross-browser effort to release Speedometer 3, and we tried to keep an eye on framework trends. So in the React ecosystem, of course, you’ve had changes, like hooks, React server components, all of these things have changed the programming model a little bit. So we try to stay as ahead of the curve as we can with some of these things.

Maxi Ferreira (11:23) Yeah. Amazing. All right. So you wrote, you write a fantastic newsletter called Elevate on Substack. every, every single one of your, your posts is a, is a must read. And the one that you published recently, I believe last week is about personal software, which I really enjoyed. Can you tell us more about what, what you consider personal software and how you think this trend is?

sort of impacting the future of software.

Addy (11:50) Yeah, absolutely. So personal software is about using AI, so LLMs, to generate tailored niche solutions for individual needs or small groups, rather than relying solely on mass market products. And if you think about it, the idea is really you generate what you need rather than buying what you need. It’s a craft production for software. And it tends to be enabled by a lot of the new

AI developer experience tools that are on the market today. So V0, Bolt, Lovable, Replit, all of these things are making it easier than ever for a person that maybe doesn’t have even a lot of technical depth to be able to spin up something that solves their need. And they don’t need to worry about things like scale or, hey, I need to turn this into a company. It just solves a very niche problem for them in the moment. And I think that opens up a whole new category of software.

Right? So hyper-personalized apps, things that maybe didn’t make sense to spin up from an, you know, economical perspective. Like some people are using bolts to like create their own custom workout planners, right? For their exact needs. And that’s something that maybe you wouldn’t necessarily see on the market. And I think it’s, I think this is super interesting because this is one of those aspects of AI democratizing something that I’m very excited about.

because it increases the surface area of people who can build for the web, for apps, for their needs, for society. And I don’t think it necessarily means that expert developers are going to be replaced, but it will encourage us to focus on higher levels of abstraction. So being able to build systems using AI that can handle repetitive tasks in a way that caters for these audiences who

aren’t always gonna be able to understand the code. So I think that we’re heading towards a world of both and where professional devs are using AI for building complex apps and maybe everybody else or a subset of everybody else are gonna use it for personalized apps. So it’s a democratizing creation while raising the bar a little bit for craftsmanship.

Maxi Ferreira (14:02) Yeah,

that makes it. That’s a great way to put it. think it also relates to another thing you wrote about, which is the 70 % problem, how these tools can get you almost all the way there. But if you want to go further, you have to have an understanding of the fundamentals. You have to know how to manipulate software, how to debug code, and things like that, which is why, at least for now, it’s not

It’s not going to be replacing software, even if it’s very good at creating new pieces of software. you share what are your thoughts on talking about the 70 % problem? What are the skills that you see in that other 30 % that developers should focus to make sure that they can continue to have a career in a job as AI takes on some of the coding responsibilities?

Addy (14:55) Yeah, absolutely. So I guess just to quickly recap the 70 % problem, which is another post that I wrote about. So AI boosts coding productivity. I think we’ve seen a lot of different research that suggests this, and that’s my belief as well. But software quality itself isn’t also necessarily improving in a noticeable way. And the reason is that AI, so models of today, can get you 70 % of the way to a solution pretty fast, but that last 30 %…

So making it robust, maintainable and production ready, that requires human expertise. And what this means is that AI can accelerate coding, but it doesn’t replace the need for engineering judgment. And it reveals a little bit of a gap between promise and reality. So from a non-engineers perspective, you can get 70 % to a working prototype fast. So again, use Bolt, use v0 lovable, you can get to a working prototype fast.

But that last 30 % where you’ll often find bugs and edge cases, that becomes a wall where you can often see like really frustrating diminishing returns. And there are certain patterns that this is reflected by. So we’ve all used LLMs where you’ll ask, you give it a prompt and it will fix one bug, but then the AI will break something else. And that cycle then repeats. It’s kind of a vacuum. This one bug introduces two others. And that makes…

for a little bit of a painful mental model to debug or reason about. And it introduces this learning paradox. Yes, you can get something built very quickly, but then AI is hiding the complexity and it impedes foundational learning. So it means that you’re not learning how to debug. You’re not necessarily learning the patterns or the architecture. And it creates this dependency on AI rather than skill growth. And so what I said in the post is that

For senior engineers, I think they’re gonna be okay. They can use AI as an accelerator, right? So they can apply their manual skills to modular refactoring or edge case handling, error handling. They’re able to take whatever AI generates and complete that 30 % on their own, whether it’s with AI’s help or not. But for junior engineers, very often you’re seeing people accept AI output as it is.

And that can lead to a house of cards where things look good, but they’re actually really fragile. And maybe people aren’t generating tests. Maybe they aren’t even reading the code. Their bar for what’s good enough is, Hey, it renders in the browser. not, not anything more than that. So seniors benefit a lot. Juniors struggle. And I think that, the way that I think about success here is it’s fine to use AI for prototyping, but you need to be very proactive and very intentional.

about studying the generated code, you are still a student. You need to learn the basics alongside the usage. I’m not saying this in a gatekeeper way. I’m saying use AI, totally fine. The same way that in previous years we would say, it’s okay to use a framework, it’s okay to use templates, it’s okay to use whatever will help you get started, but you need to use AI as a learning aid and not a crutch. I’ve heard so many stories of…

teams, especially folks who are new to tech, you’ll see OpenAI or any other service go down and suddenly they’re stuck. They’re like legitimately stuck and they’re like, wait, what are we supposed to do? Yes, you can technically use open models, local models in your machine, but that still doesn’t take away the need for you to understand some more of the foundation of programming.

Maxi Ferreira (18:23) Ha

Addy (18:37) the foundations of architecture and debugging, you still benefit from having all of those skills. And so I think that this becomes increasingly important as the kind of tools that we have available to us evolve, right? So this year we’re talking a lot about autonomous agents, agents being able to go and take on more and more of the software engineering life cycle. And so I think it becomes really important for folks to ground themselves.

in system design and understanding how things work. So don’t treat AI as a crutch, as the TL.

Maxi Ferreira (19:11) Absolutely. Yeah, I definitely agree with you, especially on not delegating the decision making to the AI. think it’s good at producing code, producing lines of code, but I think even what goes into a prompt, when you ask the AI to do something, that requires a level of thinking that we still have to do it. We still have to figure out, OK, what is the best way to implement this so that

It is maintainable, it is robust, it’s not going to create tech dev that we don’t need to clean up and then give the AI the instructions. So I think these are all skills that are definitely important. And yeah, the junior developers today who are aware of that, who don’t delegate all of their responsibilities to the AI, we do better, definitely, for sure.

Addy (19:58) Yeah,

I mean, this has been talked about by many folks, I think, even Carpathi, but English is the new programming languages is a statement that I think is strong, whatever your language is. I think that natural language requires that we be specific about what we want. And if you’re not specific about what you want, you can’t be too disappointed when AI just guesses and fills in the gaps. So if you ask AI, build me a social network, what does that even mean?

Maxi Ferreira (20:20) Hahaha.

Exactly.

Addy (20:28) This is why I try to encourage folks to think a little bit more with a product hat on and maybe it benefits you to write a little PRD. You can use AI to help you bootstrap that, but have some specific notion of what you want to build and that’ll lead to a better outcome at the end of the day.

Maxi Ferreira (20:32) Mm-hmm.

Yeah, exactly. I went through a phase of having a bit of an identity crisis when AI came up as being like this very, very good at writing code where you started thinking, okay, are all of these things around software design and architecture, are they still important today? And for a while I maybe it doesn’t matter because AI is going to…

read the code, write the code. It doesn’t matter if it’s messy. AI will figure it out. But then with experience, you notice that it does matter a lot in the quality of the product, how well you structure the application. And one of my favorite authors in software design is Professor John Austerholt, who wrote the philosophy of software design book. And he said that the most fundamental problem in software is problem decomposition.

And that’s very much true today with AI. You have to break down the problem yourself. You have to give the AI a smallest as possible chunk of work to produce the code. So yeah, I think all of these are still very, important.

Addy (21:44) Yeah, I think problem decomposition is super important. I’ve seen folks who will ask, you know, AI to do five different things. And in my experience, it will almost never do all those five things. It will do maybe two of those things. Okay. I’m sure it will get better over time. But context windows are a thing. I’ve also found it very interesting that there are second order effects from our usage of LLMs where today’s constraints are applying interesting. think so, for example, I’m finding that

Maxi Ferreira (21:57) Yeah.

Addy (22:13) not only is decomposition important in your prompts, but also in your code, right? So if I have a very fat component, I’m going through a lot of tokens and, hey, decomposition of your components, keeping those granular is good for multiple reasons, including keeping your token usage down.

Maxi Ferreira (22:22) Mm-hmm.

Yeah, yeah, exactly. And also, AI will use that as a model and say, this person likes to have a component that are 1,000 lines of code long, so I’m just going to mimic what they do. speaking of AI, one of the other things that you’ve been working on, which is very exciting, is built-in AI APIs that are coming to the browser. So can you?

Addy (22:40) Yes, exactly.

Maxi Ferreira (22:52) Tell us more about that. Give us an overview of what this web AI APIs can do and what the stage of those are right now.

Addy (23:00) Absolutely. So Chrome is developing built-in AI APIs using local models like Gemini Nano. And the idea is that these are great for privacy and offline use cases. And some of the APIs we’ve been exploring include the prompt API, a summarizer, a writer, a rewriter, language detection and translation. And these are useful for a few different things.

With the prompt API, the idea is that you’re able to do chat bot-like interactions. And maybe that’s useful for folks who are building things like customer support chat bots or virtual assistants. The summarizer API is good for condensing long text into summaries. Very often people are short on time, so they just want a bullet version of an article. So a summarizer API can be useful for that or condensing things that you’re trying to study.

The writer API, the rewriter API is good for sort of rewriting text to adjust tone. So maybe you want to make text a little bit more casual or a little bit more formal. And language detection and translation are really good for like identifying the language of a piece of text and then translating them between different languages, which is really good for just making your content accessible to a more global audience. And I think that these are really interesting because there are lots of

you know, smaller features that can be powered by AI that don’t necessarily require that you use a very large model from the cloud. I continue to believe that the strongest models will always be a little bit ahead of what we can do locally. Right? So we’re not always going to have like a farm of GPUs locally. Maybe unless you’re Elon Musk or something like that. But I think that for most of us, being able to do things locally without needing to go to the server unlocks

really interesting offline use cases, privacy use cases, also can help from a cost perspective in a number of cases too. So I’m excited about what’s possible here. these APIs are now kind of in the final stages of their origin trials. We’re seeking more developer feedback. So folks listen to this and they’re interested in trying those APIs out. We’re always interested in more feedback. And yeah, I’m excited for more of these things to be able to be available for you for production usage. So it’s an exciting time.

Maxi Ferreira (25:09) Awesome. Definitely exciting. We’ll leave a link to documentation for these APIs in the description. So switching gears a little bit to leadership, because you wrote a fantastic book on leadership called Leading Effective Engineering Teams. Can you share a bit more about what your book is about? What can people find in the book? And what motivated you to write this book?

Addy (25:34) Yeah, I can start off with the motivation. So as I mentioned, I’ve been at Google for almost 13 years. And what I found over the years is the amount of documentation and guidance on what things help keep teams effective was not readily available to me. And it was almost like, you know, a lot of tribal knowledge gets shared by your elders and by your leads. And then it doesn’t really go anywhere else, right? You pass it along by word of mouth.

to the next group of people. And I had lots of lessons over the years that I wanted to try capturing into a handbook for myself, because I would give people this guidance over email or over a coffee chat. And I wanted to make sure that everybody had access to it. So some of the things that the book talks about are the importance of, first of all, understanding what effectiveness means for your team. In many cases, especially in times when

you know, folks are tightening their purses or, you know, we’re in moments where, you know, there’s a lot of pressure, you know, this AI moment, a lot of companies are feeling that pressure. Understanding the difference between outputs and outcomes is very important for teams. There are a number of cases where, you know, an engineering team may be really strong and their perspectives on what is important may not understand like, hey, what’s actually important is the business.

Because if I look at it through a purely technical lens, maybe I care about the most about code health or test coverage. All those things are important, but what is the business value of those things? How do those connect back to business revenue or better user engagement? I think that helping teams frame and understand what is the business priority? How does that connect back to the work? think that’s very important. So even having an aligned perspective between you, your leadership product,

on what is important, like that is a key thing. And then once you align on what is actually important to be effective, how do you enable that effectiveness for your organization becomes super important and understanding the things that really hold people back. I talk a little bit about the research we’ve done at Google. So at Google, we’ve done two large scale sets of research. And the first was to understand the things that made for an effective manager.

And the second was the things that made for an effective team. Folks may have read or heard about Project Oxygen, which was about what makes for an effective manager. For an effective team, we followed it up by Project Aristotle. And Aristotle, we talked to a number of different groups. We talked to engineering, we talked to their leadership, we talked to cross-functional roles, we talked to sales. And what we found was really, really interesting.

there are things that people believe contribute to effectiveness like, hey, my team have to have the strongest domain skills. My team have to be like, really, really strong technically. They have to always be co-located, things like that. And what we actually found was the number one thing that contributed to a team’s effectiveness was psychological safety. And I think that that is something that, you know, it sounds like obvious in retrospect.

but it’s a practice that you as a leader have to kind of employ and regularly check on. You can be in a team meeting or you can have your managers or your leads be in team meetings and you can find that maybe it’s always the same two or three people who are dominating the conversation, right? And you’ll notice that the rest of the folks, if you’re on a call, maybe they have their microphone off or they’re sitting in the room and they’re just not feeling, they’re not contributing.

And if they have nothing to say, that’s perfectly okay. But very often people do have thoughts and ideas that they want to contribute, but they don’t feel as safe as they could. Maybe they feel like, you know, their ideas are not going to be the best or that they should be deferring to people who have more experience than them or have been around longer than them. But really psychological safety is about enabling everybody in the group to feel safe to share their ideas. And

I that that, I talk a lot about psychological safety in the book and how to approach it as an engineering team. I think there’s a lot of value in folks investing time there. There’s a lot of sort of secondary things that you can do once you understand that, you psychological safety. The psychological safety is important. Motivation, like making sure that folks are motivated enough by the mission. That’s important as well.

And then once you have those things in place, you can start to think about, well, what other things can we do to enable effectiveness? You as a leader have to kind of live effectiveness yourself. I will very often have people of all levels come to me and say like, hey, it looks like you’re really productive. You’re firing in all cylinders or whatever. And what I tell people is I’m no different than you. I have the same 24 hours a day that you have. And the difference is that

Maxi Ferreira (30:00) Mm-hmm.

Addy (30:16) I try to make sure that I’m very intentional with how I use my time. So if people tell me like, hey, I’m struggling to find time for deep work, I’ll say, well, do you feel like you own your calendar or do you feel like other people own your calendar? What I realized early on, when I was still very junior, but I realized when I would go and look at the calendars of senior people is that their calendars were always blocked in terms of they have blocks for everything. And I would always think,

Maxi Ferreira (30:40) Mm-hmm.

Addy (30:44) man, these guys have got meetings all the time. I feel really bad for them. But I also want to be that person one day, but I feel really bad for them. talking to those leaders, what I realized was, wait, no, that’s not all meetings. There’s deep work baked into that. There is everything you need to do baked into that. So there’s nothing stopping you from carving out deep work slots in your calendar. The real important thing is you have to care about those enough to protect them.

Maxi Ferreira (31:11) Mm-hmm.

Addy (31:11) And there’s always gonna be firefights. There’s always gonna be something that maybe is so P zero that it requires you to give up a little bit of your deep work time. But if you make an exception for everything, then that time is not actually important to you. So you need to that time out, protect it. And that’s what I’ve got. Every week, I’ve got deep work slots in my calendar that are baked in. And that allows me to get enough of what I need to get done done to be productive.

I also try to, like I said, this is not for everybody, but I also try to, like I said, I try to be very intentional with my time. And so if there are idle moments during the day, I will either use those idle moments to make a little bit of progress. even like, it’s this whole thing about progress over perfection. I try to make a little bit of progress on the side things. So if I want to write up new posts on LinkedIn, or I want to write up a feature for an app I’m building or write a new tool,

I’ll sneak in, even if it’s 15 minutes of work, I will sneak in a little bit of progress on it. And over the course of a week, maybe I’ll actually knock out something meaningful and then I can share it with the world or I can publish it or whatever when it’s ready. But it’s all about finding moments that allow you to make progress and being okay with it. Sometimes if I have that 15 minutes, I might just go for a walk. I think that sometimes you just need to clear your head and walking is one of the great ways to problem solve and give yourself space for perspective.

But yeah, be intentional about how you use your time. It’s a big part.

Maxi Ferreira (32:39) Absolutely.

Yeah, these are all fantastic tips. I definitely agree on protecting your time, blocking your time in your calendar. And I think it all ties together, right? The things you were mentioning about psychological safety, and this relates to perhaps saying no to a meeting or perhaps having the flexibility or knowing that you can actually block a piece of your time in your calendar for

for the work, which is of course very, very important.

Addy (33:06) Yeah. Yeah. As a

leader, one of the other things I talked about in the book is, What got you to where you are today is not going to get you to the next level. And the next level can mean a few different things. It can mean the next level of your career. can mean the next level of effectiveness. when you are, you know, a manager of a small team, what you have to think about to be effective is different from what the leader of a group of other leaders and managers and people with big orgs, like what they have to think about. And so.

When you’re at that phase, you have to really nail down setting up what’s effectively a system that can operate without you, get it to a point where it can operate without you, and then occasionally just tap that blimp so that if it needs to be course corrected, you can course correct it. You make heavy use of delegation. You make sure that you have a system in place that keeps the team as effective as possible.

But I try to capture these different phases of your career and the different things that are needed to be effective in them. So hopefully folks find something in the book useful.

Maxi Ferreira (34:02) Yeah, I think it’s definitely super useful, both for managers and for people on the individual contributor track, for tech leads or architects or anyone who is really in a leadership position at their companies. I definitely found a lot of really useful information there. One thing that you talk about in the book as well is about multipliers and diminishers. And I think this is also something that is very

that it’s on everyone’s career ladder. Like you have to, after a certain point, you have to become a multiplier for your team, right? You have to level up the team around you. Do you have any tips or any insights on that front?

Addy (34:40) Yeah, I would say on this topic, the book covers this topic for engineers. There is a broader book called Multipliers by Liz Wiseman that is also we’re checking out. And even being aware of the different kinds of multipliers and diminishers can be really valuable. I’ll give you some examples of multipliers. There are people who can create, there’s a liberator is one example. The liberator is a person that can create like an intense environment.

that requires people’s best thinking and work. But a person that creates an intense environment can also accidentally create, you know, a situation where people feel that things are too tense and they don’t have psychological safety. A person that maybe challenges people can define opportunities, right, that cause them to stretch. But at the same time, like, are you then giving them too much ambiguity around where they should be stretching? Like, it’s prioritization, really tough. There are people who…

really want to be the kind of the white knight, right? They want to be the leader that swoops in and is always saving the day. But then you’re not setting up your team for success there. If you’re solving their problems, when you’re not around, what are they gonna do? So you need to give them the opportunities to really grow. And so even if you know the answer to questions, very often what I’ll do these days is I will phrase things as a question.

rather than giving you the answer. And the purpose is to get you to think. Like, how would you approach this? If you get absolutely stuck, yeah, I’m happy to give you the answer. I’m happy to give you my perspective. But the best thing I can do for you is really teach you skills for the long term so you can debug problems yourself. And so I would really recommend folks check out Liz Weisman’s book. It was really inspirational for me.

Maxi Ferreira (36:21) Yeah, I agree. It’s a fantastic book, for leaders of any kind. I highly recommend it for tech leads as well. Addy, you are one of the most productive people I know.

I always ask myself, how is Addy always finding time for both for deep work and for writing and for coding as well, staying on top of all these things? And I know that a lot of people are, including myself,

struggling with this, with things changing so quickly, it can lead to this feeling of FOMO, it can lead to burnout or it can lead to a number of different conditions because we feel that there’s just not enough time. What is your, do you have any tips? Do you have any advice for people going through that phase?

Addy (37:06) Yeah, absolutely. The number one piece of advice that I give folks is, especially when you’re feeling anxiety around a lot of these topics, is to focus on what you can control. Because especially in times like this, there are a lot of things that we can’t control that can maybe get us sad or depressed. So we can’t control if there are layoffs. We can’t control if the market has got all these pressures around AI and feel maybe…

In some companies, folks feel like they’re sprinkling AI on everything and they’re not prioritizing everything else. You can’t control the universe. it is silly to try keeping that weight on your shoulders. Instead, what I tell folks is focus on what you can control. And within what you can control, maybe there are things that give you energy. And feel free to think about what those things might be. So ideally, you want a life balance where there are enough things that give you energy.

to balance out those things that are taking it away. There are almost always gonna be things that take away from our energy. Maybe things that are responsibilities that are not the most exciting, but they’re either a part of our jobs or a part of our responsibilities at home. And so for me, lot of working on little apps, working on little tools, working on these things, posting on LinkedIn, that is one of the things that helps give me energy. The community gives me energy. People who like…

are kind enough to even read anything that I put out there and comment or respond or say, hey, actually, this resonated with me. I was thinking about this the other day too. That gives me energy. And I think, and that’s not gonna be the same for everybody. Some folks may get energy from, you know, you know, playing some soccer with your friends or, you know, playing a game or something. But I think it’s really important to know about what gives you energy and making sure that you always have that balance. So that’s, would say.

one thing that’s been important. The other thing is, and I say this very regularly, is just start. Very often, right, like people will read posts on Twitter or LinkedIn or wherever, and it will look like everybody, like there are other people you’re following who are incredibly productive or they know what they want and they are just killing it. The reality is that we are all fumbling and we’re just trying to figure it out as we go along, but

just starting, like that starting energy can give you the motivation to continue. And then that leads you to a little bit more discipline, a little bit more consistency, and eventually maybe you’ll get something out. And so for me, I’ll be very honest, maybe it looks like I published 10 apps, right? Or something like that in the last couple of months. There was probably a five or six year stretch where I struggled a lot to, you know, I’d start up side projects.

And I would set myself this bar of saying, man, this isn’t good enough. People expect that the UX is going to be great because it’s coming from me, or the performance is going to be perfect. you know, I keep adding to this list of, I have to get that right. have to get it right. The reality is, yes, in most cases, things can always be a little bit better, but it’s okay to just get your idea out. Get your idea out, iterate on it, and keep making it better. And if you feel like there is a calling to make it

the best, like yeah, invest the time in it. But this, guess this goes back to one of these silly mantras that I shared, what feels like 12 or 13 years ago, and I still use it today. It’s first do it, then do it right, then do it better. And I keep, I find it silly, but I keep coming back to this every day. Sometimes I will feel like, man, it looks like somebody already shipped this idea that I had. People forget like Google was not the first group to search.

It is okay to get an idea out later. Like yes, sometimes there are first mover advantages, but you can still get out your version of a thing. And if it’s good, if it resonates with people, maybe I’ll have a shot of being successful. And even if it doesn’t, you can still get a lot of value personally from getting it out. Like you can feel good that you completed a thing, you created a thing and you put it out into the world. So I think that managing our own expectations and how we think about success can be a useful part here too.

Maxi Ferreira (41:00) Absolutely. think it’s a great reminder. I love reading your posts on LinkedIn because they remind me of what’s essential and how to battle perfectionism. Starting is very important, but shipping is also very important and shipping before you think it’s ready because otherwise you won’t ship at all.

Addy (41:17) Yeah, people, and I always encourage folks to do this. If you ever doubt yourself, go and take a look at what any top company’s homepage used to look like when they first started. Seriously, like Google, Microsoft, any of these companies, Apple, everybody started off in a much lower quality looking way than you may perceive them today. They’re great now, but everyone started off from somewhere.

That can also inspire you in some ways.

Maxi Ferreira (41:46) Absolutely. One side project that I had an idea that I started but never finished, and this might be the motivation that I need to actually finish, was to create a directory of the very first commit of popular open source projects. So I got a few already on this place. have the very first commit for Babel, the very first commit for React, and all of these different projects.

Just to show, this is how it started. It’s not like, we think of these projects as this magic that’s happening, this black box where there’s absolute magic. But it started with a single commit. And I think, yeah, definitely we need to, it’s something that’s worth reminding ourselves.

Addy (42:25) Yeah, absolutely.

Maxi Ferreira (42:27) Addy, do you have any picks that you would like to share?

Addy (42:31) I’m gonna flip the question back to you. Do you want to pick for a book, music, movies, open source?

Maxi Ferreira (42:40) any category that you feel like, let’s say a book and a movie or a TV show, something that you’re enjoying right now.

Addy (42:50) Okay, so a book, think that Start With Why by Simon Sinek is a book that I’d recommend to people. I of course love Atomic Habits and Deep Work and all of these books, but increasingly I think it’s really important for folks to ground themselves in why they’re doing things and what motivates them. So that’s a pick there. And it’s probably topical at the moment. I’m listening to some Kendrick Lamar GNX at the moment.

Maxi Ferreira (42:55) Mm-hmm.

Addy (43:15) Obviously everyone’s listening to Kendrick right now, but I’m enjoying that.

Maxi Ferreira (43:18) Nice, nice. All right. My picks are I also have a book and I have a TV show. have my book is Meditations for Mortals by Oliver Burkeman. He’s one of my favorite authors. I love reading his newsletter, The Imperfectionalist, and he released his book and it’s 28 very short chapters. It’s supposed to be read over the course of four weeks, one chapter a day. And it’s yeah, it has very

good essays on a lot of topics, a lot of topics we’ve been talking about around productivity and motivation and so on. So I love going back, I use it as a reference. There’s an index at the end of the book that can help you sort of, you’re feeling anxiety, you’re feeling concerned about something, you can go and read one of the chapters and always makes me feel good.

And the TV show I’m watching is not a new TV show, it’s Lessons in Chemistry on Apple TV. I’m really enjoying it. I’m on the last episode. I have to watch the last episode. It’s very good. So yeah, I’d recommend it.

Addy (44:19) Very cool, very cool. If I had to recommend a TV show, again, not a new one. I always love comedies and dark comedies especially, so What We Do in the Shadows continues to be something that I get a-

Maxi Ferreira (44:31) Nice. So what we do in the shadows is that the visual is quite, it’s newer, but there’s a movie. that right? There’s a movie that’s from.

Addy (44:38) Yeah, so

it started off with a movie and then ended up being made into a TV show. But it’s great. If you’re looking for a laugh, it’s awesome.

Maxi Ferreira (44:42) Yes. Yes.

I have to check it out. All right, Addy, it has been an enormous pleasure having you here. Thank you again so much for joining me. Where can people find you online? Where are you hanging out these days?

Addy (44:58) I am at addyosmani.com that should link up to all the fun places. thank you to anybody who’s been following me along over the years, I hope I’ve added some value along the way.

Maxi Ferreira (45:09) Thank you for sharing all of your knowledge and all of your open source code over the years and all of your insights. And thank you for your Backbone book because it was really a lifesaver back in the day.

Addy (45:21) It’s my pleasure.

Maxi Ferreira (45:23) All right, thank you, Addy.

Addy (45:25) All right, thanks man.

But wait, there's more!

Join 5,000+ developers getting the latest insights from the world of software design and architecture—tailored specifically to frontend engineers. Delivered right to your inbox every two weeks.

    🌶️ tip: unsubscribe at any time.