There aren't many people who have written a web framework that changes the way people think about development and gets used by millions of people. And there are even fewer who go on to try to do it again.
But Miško Hevery has. Miško invented AngularJS during his time at Google, and now has invented Qwik to try to fix some of the fundamental shortcomings he sees in the current generation of JavaScript frameworks.
In this interview, we talk about how to create organizational change, the importance of vision and passion in creating great things, how to change someone's view of the world, and much more.
On changing behavior in an organization
I think the best way to change is not necessarily to tell somebody like please change X, although that has a place in it as well. But to also have them observe a different way of doing it. There's a lot of reasons why when you say like, 'Oh, you should do something differently'... The reason why you get push back is because people can't imagine doing it any other way.
To them, they are doing things in the most efficient possible way they can think of. By definition, you're doing it in the most efficient way you can think of. You're not doing it in a dumb way. As far as you're concerned, given all the knowledge you have and given all the insights you have, and give the learnings et cetera, et cetera, you are doing it what you consider to be the most efficient best way.
The thing is, there might be other ways that are not necessarily obvious. And so I think the best way to do that is to work on the same problem together.
Which is sometimes called pair-programming. Sometimes it's called coauthoring. Or I'm sure there's other ways you can do it. But by doing things together, what happens is, you get to see other ways of doing.
You assume that it's always done this particular way and then you see a different when you go like "Whaaaaat? That works?"
You know, I was born in Slovakia and in Slovakia. the way you would open a banana when I was a kid is you would bite off the top part where the flower is, the black part. Not the thing that's connected the banana plant, but the top things. I think it's where the flower is. You would bite it off and you would peal it down. And then I came to the U.S. and people would open the banana by breaking off the stem And I was like "What? There's a different way to open the banana?" My mind was blown.
My point is: The best way to kind of effect change is to show people a different way of doing it.
Why he believes 'great things are not created by organizations, but by individuals'
You need to have a person who's passionate and who pushes this particular idea. It doesn't mean that that person does everything. Certainly the team is important, but you need to have a person at the very very beginning who has...I hate to use the word vision, but I can't think of a better word. Who has this thing of like, "I can imagine what the outcome of this thing could be. I know where we are today and I know how we struggle, and I can imagine this other world where we can be."
And the thing I noticed with people is - and I'm guilty of this just as everybody else, I'm not saying I'm above this - but one thing I notice a lot with people is that when you present the new idea, it is by far so much easier to criticize it and tell you why that idea isn't going to work, rather than to say, "how could it work?".
That's super hard. That requires a complex problem solving. "How could it work" means like, "This is where I want to be. This is where I am. There's a chasm between where I am and where I want to be, and I've got to figure out how to build a bridge."
It's easy to basically sit there on the side of the chasm and tell you like, "These are all the reasons why you can't build a bridge. The material isn't strong enough. The whatever..."
There's gazilian reasons you can come up with. The hard part is to say "Okay. That's a valid reason. You're not wrong on this, but what can we do? What particular constraint can we move or look at it differently so that it becomes possible."
On how to create a presentation that rocks people's worlds
One good trick that I've seen.. Actually Ryan Carniato - he's the creator of SolidJS - he does a good presentation where he has a separate framework and he builds a component that is very similar to a React component. And what that does is it makes the audience come along and they're like, "Yeah, I understand, this method is the same as this method of React. They have analogues between the two sides, and so they're following along.
And then what he does is, he takes and method and moves it outside of the function. And that's a no, no, in React land, like you can't do that. That's clearly written in stone: No, one shall not do this.
But in his world, it's allowed. And so he moves it out, and the system not only still works, but it has the expected change of behavior. Because it was moved out, the two components now get to share their state rather than two components having a separate state.
And that creates a wtf moment right like "Wait a minute. You just did something that clearly is not allowed. But you did it and it actually works.” And so I think that's the moment you are going for when you're presenting, because that's the moment where you like shake somebody's land in the world and be like "Hey, there's a different way to open a banana"
You invalidate the set of assumptions that they clearly thought that they had, and there was nothing to discuss like, "of course it's always done this way. How else would you do it?"
And then you come along and be like "Well, actually no", and then that sudden jerk is the thing that breaks their mental model. And so the natural thing is to start questioning and moving things around, and reconciling "what the hell just happened".
And I think if you can do that, you can pull this off and then I think it makes for a very powerful presentation.
Recommendations from Miško:
“An owner’s manual for your own brain”: Thinking Fast and Slow by Daniel Kahneman