#btconf Berlin, Germany 13 - 16 Nov 2019

Natalya Shelburne

Natalya Shelburne is a developer, designer, writer, educator, speaker, and artist. She is a software engineer at The New York Times and an occasional instructor at Harvard Extension School. Natalya holds bachelor's degrees in Studio Art and Psychology, and a master's in Creativity and Talent Development. Crossing disciplines and building bridges between design and engineering is at the foundation of much of her work.

Want to watch this video on YouTube directly? This way, please.

CSS at the Intersection

Throughout the talk I discuss the mental models we construct in tech, the cognitive dissonance we experience when confronted with new ideas, specifically about CSS.

We know CSS has a separate mental model because we keep hearing the same debate rage on: “Is CSS broken or awesome?” This talk is about enabling teams to communicate and accommodate these different mental models. I share examples of effective tools, and how they change the way designers and developers interact.



[Audience applaud]

Natalya Shelburne: Hi. The first slide, please. Oh, hi. I’m Natalya. You may have seen me on this famous movie poster everywhere you’ve walked around, which is beautiful. My name is very fun because it’s like half Russian and half English and nobody knows where I’m from. But I just say now, I’m like, I’m from New York just like everyone.

I work at the New York Times. I’m a designer who learned to code, so now I’m actually only a software engineer for the first time ever and I’m not a full designer, so that means I’m basically the person brought in to bridge the gap between design and engineer - fix the CSS, in other words.

I’m here to talk to you about CSS at the Intersection, which is a really vague thing, so stick with me because I’m going to ask you to think beyond tech. Beyond, that’s our theme here.

I want to be very clear about what this talk isn’t. I’m not here to pitch the greatest, latest tool, tech, framework techy stuff because you can’t solve some problems by adding tools. This isn’t this talk.

What I’m really going to try to talk to you all about is, like the theme of this conference, is part psychology, part art, part tech, but everything. It’s about how we respond at the intersections of mental models and how that affects our ability to learn, grow, and how it actually can shape the entire trajectory of everybody’s career in here, so high stakes.

CSS is the vehicle through which I will tell that story because CSS is so beautifully at the intersection of mental models. Now, I’ve said mental models enough times to where you’re like, “What is that? I don’t know. Am I supposed to know.” Not yet.

I’m going to start with intersection first, like, what is an intersection in tech? How do we know when something is at an intersection? Why did I pick CSS? What am I even talking about?

Well, how you can easily identify an intersection is people arguing a certain way on the Internet. Whoo! What a dead giveaway.

CSS is super argued about. Is it, you know, like, awesome or broken? Do a search. Whoo! People are divided and we’re still arguing about it. CSS is old enough to order some drinks at the bar in the U.S.

Loke at these mugs. Which one? Is it awesome or does it kind of suck? I don’t know. We’re still arguing.

Go online right now. The argument is going strong somewhere.

This one is my favorite. Lara Schenck, she talks a lot about CSS and, you know, building respect for CSS. Her talks are amazing. Look her up.

But, you know, every once in a while, she does this poll. Is it a programming language? People are mad! Yes! No! I love the people that are like, “Uh…” I love that 13% that was like, “I’m not sure.” That’s pretty cool.

Why hasn’t this been sorted yet? The most creative, amazing, talented people can’t agree so evenly. That’s an intersection.

We’re still just like, “Should designers own CSS? Should developers? Is this -- like, what is it?” That’s how you know it’s an intersection. That’s how you know we’re human.

We are super predictable. These arguments are super happening all the time because of our brains. It’s not the CSS. It’s you. [Laughter]

Because we’re talking about tech, computers, all this stuff. We’ve got to talk about people more. Unlike a computer program, we don’t just acquire knowledge line-by-line as we read it. Instead, we organize patterns of thought in our mind and we construct meaning in the form of mental models. That’s -- here it is. This is the definition of mental models I said I would get to.

Again, we don’t just expose a person to knowledge, the got it 100%, we’re good to go. That’s not how it works and that’s where we get in trouble.

The most important thing I wanted to kind of pluck out of there is that your prior knowledge is super important. It’s not just like, “Oh, different people learn in different ways.” It’s like, “Okay, but why though? What’s going on?” That’s because your foundation is critical.

Where you start informs where you’re going. Where you are informs what you can do because every new piece of information has to meet what you already have in your mind.

If you are someone who started learning JavaScript and it works, you’re like, “I got this. This makes total sense to me,” and then you’re like, “I’m going to pick up this Haskell thing people are talking about,” and suddenly going from JavaScript to a math-y, rigid language that’s much more opinionated, you’re like, “This is restrictive. I hate it.”

Maybe that’s why programmers who are used to the control flow of, like, operations in programming who learn CSS might be like, “Ugh! Declarative! Everything is global. This feels terrifying,” and we need to just scope everything into one file, modules, it’s done.

Or people, in general, coming from somewhere else that they have to assimilate, accommodate, adjust their mental models of how stuff works based on what’s already in their brains. That’s really important and we actually saw this at this conference. [Laughter]

We heard it in the very first talk. Not only does prior knowledge inform what you learn, but it can also interfere with new information. That’s right. If you’ve already learned something and you feel pretty good about it, you’re actually going to struggle more than a beginner learning it for the first time.

In the words of Jeremy, “When I first came across service workers, it totally did my head in because this is my mental model of the Web. Then service workers come along and they say, ‘Well, actually it’s this totally different thing.’“ The fact that Jeremy, who has selfies in front of incredible computers and knows everything about the Web, says, “It took me a while to wrap my head around that,” should be a clue that these are mental models. Also, his mental model of the layers, that’s a mental model of how stuff works.

But let’s talk about does that mean for you, for tech, for CSS and, when you go to work on Monday, your boss is like, “What did you learn?” you’re like, “Hah.”

The good is that it feels really good to learn things. We’re people. We’re curious. We love learning things. It’s just such a hit of dopamine like, “I learned it. I figured it out.” That moment where it clicks, that happens the first time you learn something and you chase that feeling forever.

The bad is that you’re like, “Cool, I got this. I’m doing this Web thing. I’m finally a real developer,” whatever that means, or a real designer. Then you try something else and you’re ready to be like, “I know how this should work,” and then it doesn’t. It feels backward. It feels stupid and you’re uncomfortable.

Suddenly, you’re like, “Maybe I’m not a real developer.” All those thoughts start running through your head and you’re like, “Why would someone do something so frustrating? This is awful! It’s broken.”

That cognitive dissonance you feel when you’re like, “Uh, this is just not fitting into my mental model. Do I need to -- what do I do?” In a classroom, you’d get a teacher walking over and being like, “Hey, I see you’re struggling with this. Try this. Try to think of it this way. How about this concept, maybe this understanding?”

You might be redirected and go, “Oh, okay.” Take a deep breath. Let’s keep going. Push through it and you learn.

What if somebody goes ahead and gets ahold of Twitter or a large platform that amplifies you to millions and millions of people and then those ideas, instead of being like, “Whoa, slow down. Cognitive dissonance is a thing,” reinforced, “It is broken. You are right. Don’t learn it”? That’s so harmful, both for the person trying to learn something new when they’re reinforced in these, like, not good thoughts, to double down and say, “Stay in your comfort zone.” But it’s also terrible for the beginners entering the industry who see people they respect declare so boldly that this thing isn’t worth learning; this avenue isn’t worth going to. They basically derail their whole careers and say, “Okay, I guess I won’t learn CSS. It’s broken. Why would I learn something broken?”

[Loud exhale] As an educator, as a career switcher, this is really heartbreaking to see. I got my graduate studies in talent development and creativity, which is a real thing you can teach - creativity. For me, seeing these patterns of behavior is just like, “Look. I expect a new learner to feel frustrated. All I want to do is just kind of bring you back whenever that amplification and reinforcement of those bad ideas just veers you off course because it’s such an arbitrary barrier that gets created and makes you small.

[Loud exhale] It happens all the time. You see it everywhere. I actually kind of want to see a show of hands. Who has either felt this way or seen somebody engage in these kinds of behaviors somewhere where they’re like, “Yeah,” and everyone is like, “Oh, it was me.” [Laughter] It’s okay. It’s all of us.

I want to make sure it’s not me pointing fingers. All of us feel this. This is a natural human thing to feel but we’ve got to do better.

Here it is. Kind of painted a grim picture for you. Not going to lie. But because the barriers that we create by siloing people into these categories like this is good, this is broken, and I’m going to stay in my comfort zone, they’re so arbitrary. They’re so self-imposed that you actually can do quite a lot to overcome them.

We have a problem in tech with siloing people. As a career switcher, as a former art director at a nonprofit, my job was to be multidisciplinary. “I don’t know how to do this. I’ll figure it out.” “Oh, I don’t know how to start a community garden. I’ll do it.” “How do you start a summer camp? I don’t know. I’ll build a website.” That’s how I’m here.

That was the norm. That was the expectation. But, in tech, that’s not what we get and that’s a shame because those who are able to practice flexibility tend to surpass those who repeatedly reject the challenges of other ways of thinking. Above-average learning is a real thing. Not making it up. It’s not like, “Oh, some people, it’s just easy for them.” It’s like, “No, they practiced deliberate effort.”

Ten thousand hours isn’t going to do a thing for you to become an expert unless it’s 10,000 hours of deliberate practice in very intentional ways of getting better at things. For anybody who has ever been like, “Well, how do I catch up and keep up in tech? It’s moving so quickly,” you can move quicker yourself if you embrace these things.

Here’s what I get really frustrated. I keep getting asked, “Are you a designer OR and engineer? Are you creative OR are you logical? Are you this OR are you that?” I see these narrow definitions emerging between people and I’m just like, “I’ve got opinions. I’m both all the time.” This kind of thinking has really taken root where a simplification, perhaps a mental model of who we are, has gone way off the rails.

Let’s take a look at this gap, the infamous gap between design and development. Has anyone seen these--? I don’t know where this is from. Please attribute it if you can. The learn to draw books where you see, like, “Draw some circles,” and then you did it. Yeah! That’s right here, right between there is the gap, right? What happens?

It feels like this to a front-end engineer. It’s like there are some design assets, I make some wild guesses, and there’s application code. Hooray! The same thing.

When I am wearing my software engineer hat and I’m working with a designer, I feel like they hand me some circles and I need to deliver a beautiful owl. They don’t understand nor value the code, the quality, the things I have to do in architecture and keep guessing at their pictures of websites and I feel like I’m the hero.

Meanwhile, every design, and when I’m working as the designer on a project, I hand someone a fully detailed, perfect owl and they give me divs -- I’m sorry, circles.

[Audience laughs]

That’s what’s happening. I’m like, what is happening in the middle here? Why are there just wild guesses happening? It’s like, “Well, you need an interface between the two to translate between mental models.” Uh, what do I mean by interface? I mean a design system. I tricked you into going to a design systems talk.

[Audience laughs]

[Laughter] It’s a thing! But what do I mean by, what’s a design system? It’s more than only documentation of patterns. It’s an agreement on conventions. It’s how we collaborate. It is the interface. It is the translation. It is what we do at the intersection. CSS is very affected by a design system.

They’re both a process and a product but, at the heart of it, again, it’s all about enabling people and making sure you are translating to different mental models. They’re understanding of how things should be; other people’s understanding of how this should be.

The ways that I would recommend doing these things is just like, know where you are. Start with an audit. We talk so much about the tools, like, here’s the tool; here’s that. Who are the people you are working with? What do they know? What kind of stuff is going on already? Where are you starting from?

Just getting started on documenting and creating transparency is really important. Otherwise, you’re going to have mysteries, wild guesses, and a bunch of circles for your app.

You also need to work on agreeing how you collaborate. Are you just getting by on somebody’s high emotional intelligence when you need something to happen?

How many people have the full--? Actually, this is a question I’m going to totally ask and make you raise your hand to recognize your value. If you leave today, will things just collapse? Oh, great. People are really -- oh, okay. [Laughter] I see some of you over here. It’s like, yeah.

You know what happens when that person who is expected to do the work, communicate, and create these bridges between people leaves? Do things fall apart? Did you build a system? Did you do something?

A lot of times, the CSS is the least maintained, least handed off, and least paid attention to because, should designers own it? Should developers? Neither.

Then another part of a design system is creating a source of truth. Is the most correct version in the design assets or in the production code or if you build something separate for that purpose? One of the tools we always see, we have a style guide or a component library with--you know every style guide ever--buttons.

I’m just going to skip right over that slide. You’re like, “Oh, no. A design system talk AND you’re talking about style guides. What is this, 2018?”

[Audience laughs]

Basically, what I’m trying to do is encourage a cognitive shift to where you’re thinking less about the tools and more about the people you’re working with. You have to know who you’re working with, what their skills are, and where they’re starting from in order to choose the tools. It’s like, did you pick something easy for them or did you pick something easy for you the way you think about it?

One of the biggest kind of things we get stuck with is, the person who sets up the system then forgets to set it up for the next person they hire and modify it so that the other person can contribute. Be flexible with your tools. Be flexible with your grip on the right way to do things because that’s just one mental model of how things can work.

Something that’s super logical and easy and amazing for you could be very broken for somebody else coming in from a different background.

You know what? There’s a lot of good work happening out there. Who uses React? Fun people. Yeah.

React could have been this. But, intentionally, it’s this so that anybody who is able to write HTML can start contributing. It is intentionally made to look like HTML so that the mental model of HTML is useful here.

In general, there are so many examples out there of lowering the barrier to contributions. We’re always trying to optimize the software. It’s like, what are you optimizing for? Are you optimizing to have the sleekest, coolest app, or are you trying to optimize for the most people being able to contribute the best way?

One of my favorite questions is just like, do you have a prototyping space where you can just kind of like mock stuff up with real data or are you making a design or are you a designer working until it’s just the perfect L drawn into your design software?

Let me tell you a story about this. I consulted in on a company where there was this kind of perfect storm of a designer who knows HTML, CSS, but very little JS. Really strong designer, incredible UX, just somebody you’d want to work with. Then there was a developer who knew lots of JS, like built the whole thing, full-stack, but really little HTML and CSS. Both had specialized in great ways and there was that gap again emerging.

The application was a pretty complex financial computation - a really difficult thing. It had CSS and JS. It had all the stuff going on. They were like, “How do we do this?”

What happened was, it was too hard for the designer to contribute even though she knew Git; she knew all this stuff. She couldn’t work anymore. The barrier to entry had gone, like, you need this much JavaScript to enter and she didn’t meet it. All of a sudden, someone who could code pretty well was supposed to just stick to making pixel assets and handing them over. That siloed her.

Then the developer who was super happy working kind of in the full stack realm suddenly had to be working and making those wild guesses and just trying to figure out, like, is this an H1? What are the margins? It wasn’t working for them.

The answer was, like, well, then look at the skills of your people and try to bring them closer, trying to bring that interface together. Why not build something where you can have the designer write plain HTML and CSS? Then hand that to the engineer who could then further abstract it into the abstractions that they needed in their code.

Your designer doesn’t need to know how to map over something. They could just be like, “Here’s a list. Do what you do with it.” [Laughter] That way, this isn’t just like saying, “Let’s do the work twice and write the code twice,” it’s, the developer is going to learn from the designer and the designer is going to learn from the developer. Both people become broader in their skillsets.

Scaffolding things like this seems like, “Well, why would I do that? The developer can do it faster.” It’s like, no, no, no. This is about bringing people up and it will leave no gap to bridge if you make sure to build those bridges yourself.

One of the things that I really like to bring up is the story of how I tortured my students in my class. Occasionally, I teach modular design patterns with React at the Harvard Extension School. This is a class that attracts both pure graphic designers and totally back-end folks wanting to learn more about kind of that weird part in the front-end where everything seems to kind of gel. It’s a very multidisciplinary class and one of the things I do is, at the beginning, I have the skill assessments: who are you, what do you know, what do you do.

About halfway through the semester, I have an assignment that is truly evil. I assign something like, “here is your whiteboard prototype. You’re going to work as a team to prototype something.” Everyone is like, “Yawn, I do this at work all day. This will be fine.”

I’m like, twist. Keep reading. You’re assigned roles, so the back-end developer is now the designer. The designer who is just always railing about, “Uh, they messed up my design!” you’re now responsible for version control. I pick the thing they’re the worst at and tell them to do it.

Now, it’s not completely mean because it is for a grade. It’s not for their livelihood. This is a safe environment to fail and, boy, do they fail. [Laughter] It’s amazing.

[Audience laughs]

But after it all, they’re like, “Oh, my God. This is the worst.” You see their cognitive dissonance of their mental models of how stuff should work get challenged when they’re immediately made responsible for someone else’s problems.

At the end of it, every single time, everybody comes back and says, “I had no idea what the workflow was. I had no idea what they had to think about, but I do have a million ideas now how to make it better for the people I work with, how I can empower the designers on my team by setting something up, or how I can actually adjust my designs and assets I deliver to make sure that my engineers understand.” That’s why mental models and bridging those gaps is really, really amazing.

If you want to torture people that way, I thoroughly recommend it, but just offsite. There are caveats there.

The point is, you’ve got to try to do whatever you can to stop the siloing. Whether you build tools or find ways to help your team actually exchange ideas, level up skills, and grow understanding, that’s the work because, when you do that, oh, man, it makes such a big difference. But we don’t do that enough and I’m trying to kind of push this agenda.

We call people mythical beings when they can do two things.

[Audience laughs]

That has to be a red flag. Let’s just be good horses. Everybody should be able to do two things, three things, four things, be allowed to be multidisciplinary. I have a left side of my brain and a right side of the brain. I am pretty sure everybody else in here does too. One day they’ll put it in a museum, like we saw earlier. [Laughter]

[Audience laughs]

I did not know that. Thank you, Jeremy.

[Laughter] Cool. I see agreement from the audience. You’re in. Let’s do it. Let’s encourage. Let’s support.

Okay, how do we do that, though? Because it’s one thing to say, “Step out of your comfort zone,” but you’re at work and I pay you money. Don’t.

How do you actually do it? Well, this is the perfect place to learn this. There are so many people here sharing information. I would love to share with you the things I love.

I am an educator. I love teaching. I will never stop. My whole thing is like, how do I make this piece of information fit in somebody else’s brain? I love that.

I like to build educational tools. Here’s a favorite.

That took a long time to load.

This is my first project I did when I switched over from being an art director to being a programmer. I was like, I can’t believe it. Everybody in tech thinks that decisions about color are just arbitrary. Do they not know it’s a whole thing, like color theory? You can learn all this stuff. It’s in books.

I built this little prototype that’s like, here’s practical theory for people who code. You kind of pick a call to action color and I’m going to walk you through the decision tree I have in my head and try to make my work visible so that it becomes valued.

it’s really outdated. Don’t look at the code. But, at the end, if you’re interested, there’s a wild SVG. It’s a little scalable van Gogh. I made that joke on the Internet once and they were like, “Does she not know SVG stands for scalable vector graphics?” It was an incredible Hacker News thread wondering if I knew how to make jokes. [Laughter]

[Audience laughs]

But I wanted to create something that would make the work visible in a way that helped people understand that not only is it a pattern or a logical design and, when I pick color, but that anyone can do it. I wrote a bunch of color functions in Sass to illustrate, like, if this then I do that. If it’s a high-value color, I choose -- you know. Check it out.

I also create demos and tutorials all the time. How do you read HSL? What’s lightness? What’s saturation? How do they interact all together? Why is color confusing all of a sudden? It’s like, check it out.

How do you create shape? Highlights, mid-tones, and shadows.

Then I also create tools, so please tell me you’ll work. Yay! So, I saw this and I noticed some people, like in their Figma stuff, being like, “Here’s my workflow.” Um, oh, gees. I’m going to toggle these things. What am I seeing? Oh, God. Okay. There’s a three up grid.”

It’s like, does that even match what’s in the code? I kind of saw people drawing boxes and doing the redlines, like, how much margin is between stuff? Drawing the rectangles to measure.

I was like, “Oh, my God. There’s got to be a better way.” I had a fun maker week at work where I could basically say, “Actually, I’ve got some time. I want to play around with CSS variables. They’re the new thing,” and so I built this, which is only on dev and staging. Don’t worry. It’s not public.

I made a little moleskin notebook--please play. All right--that pops up a little ribbon and there’s a little moleskin, hot pink, that just shows you, like, “Here. If you want to play around with some of those same overlays you have in Figma, go nuts. Change the color.” That’s the CSS variables part, so this is actually for me.

You can see, like, “Hey, look. You don’t have to do rectangles to see if stuff lines up. It works.” “Hey, do you want to know? Do you like your little grid that you have there? You can have that too.” Thanks, Lea Verou with your work on gradients.

The final thing that I really liked was, I feel like I’m always arguing about boxes. Where are you measuring from? Baseline to one person doesn’t mean baseline to another person. I’m like, these are the boxes. When you say two pixels up, what do you actually mean? I can just show it. Basically, you can be like, look, we are building a shared communication.

Was this a useful tool that we used in production all the time? No, but this was an exercise to build empathy and understanding. This was kind of my olive branch to be like, “Hey, I am super willing to learn what you are doing. I want to understand your workflow. If there’s any way I can make it better, I’d love to.” It was really nice. Ultimately, we’re still telling designers to code and learn a whole separate profession when, instead, we could build the tools to bridge that gap between our different mental models because our mental models have to be different because, if we’re thinking about different things, we’re considering different things, and they have to come from different places. That’s good.

Back to CSS. I promised this was a CSS talk. Look, I bet you’re sitting there going, “Look. I need to know which mug to buy. I thought that, at the end of this, we’ll sort it. Is it awesome or does it suck? Please let me know.”

Well, back to educational tools. Check out this one that was made. It’s a little CodePen, which I didn’t get it animating, but it basically shows, like, “Hey. Actually, look at all these things you can do with CSS. It is a feature, not a bug. A text-overflow.”

You can check out his full animated one on CodePen, but just making little educational tools to help people understand a concept is so much faster and more productive than arguing on the Internet. It could have gone on and said, like, “You’re dumb.” Then make something instead.

There’s also big stuff you can do like Jen Simmons who worked on this amazing CSS Grid visualization tool with Mozilla and now you can actually learn CSS Grid by looking at it. I know this helps because I tried to learn CSS Grid without this being available first and it was a lot harder. This made it a lot easier.

Check out her work. It’s incredible. If you want to learn about anything about CSS Layout on the Web, her or Rachel Andrew basically are amazing.

I also just want you to look beyond CSS. CSS is just a technology that sits at an intersection that we argue about but, really, understand the fundamental patterns underneath. What are we really arguing about? What are we really doing in technology? What is all of this adding up to? Not to give you an existential kind of threading feeling of just like, we have such a disproportionate impact on the world.

We have to be thoughtful about how not only we treat ourselves and how we grow in this industry, what skills we learn but, also, how we bring up the next generation trying to learn this stuff. It’s harder than ever to be a beginner because now you need to know everything right away. You need years of experience before you’re allowed to get any years of experience.

A lot of things sit at intersections. It’s not just CSS. We saw SVG. Hey, you know some HTML? You could probably do some SVG, but it’s also bridging that gap between designers and developers with a beautiful rainbow. I really like this drawing.

Remember that it’s not the technology that you want to be arguing about. If you find yourself stuck in that pattern, “Ugh! This is terrible,” and you’re about to go online to some platform amplifying you, roll it back and realize that your response to this is what is going to determine the rest of your career.

If you are going to become a dinosaur who is uncomfortable with change, who is always upset and always saying no because you lose the ability to be flexible, like, you can lose the ability to learn new things. You can get worse at it -- and you can also get better because, remember, rejecting different mental models is safe. It is the safe thing to do, but you know what’s really hard is embracing that discomfort, being vulnerable, and going way out of your comfort zone, as we have seen 30 minutes ago. [Laughter]

[Audience laughs]

This is how we grow. Vulnerability is the gateway to opportunities--thank you, Sharon--because I can tell you this. As an educator, I’ve seen this play out a million times. I’ve seen the statistics and the numbers. The good news is that you can live many lifetimes. You can career switch. Actually, I think that the number was somewhere like you can live eight different careers in your life now, completely different. You can learn new things as long as you keep that muscle working and flexing to be vulnerable, to be uncomfortable. Embrace that discomfort and make sure that you bring others along with you.

A lot of people are counting on us. A lot of people are counting on us. We have to work with intention, with purpose, and really truly consider the people that are impacted by our actions. It’s not neutral.

The things that are really happening out there right now, we can argue about CSS we want all day long. But, at the end of the day, if we ruin accessibility for someone because we make the text the wrong color, that’s on us. That’s something we need to just get it sorted within the industry so we can start serving the people again and making sure that this infinite, beautiful canvas of the Web that glows an experience that literally anyone in the world and you can tell them what that experience can be, let’s make sure it’s a good one and not a horrible dystopian one.

There are so many amazing people in tech. Just in this room alone, some of the most incredible people doing incredible work. It’s easy to get really bummed out, like all the things going wrong, and everything is broken or awesome - we’re not sure.

There are so many people doing the incredible work to connect, to inspire, and to empower others. You should absolutely feel empowered to do that yourself as well because we need you to.

The big things that I wanted, just to have those, if there are any tweetable takeaways from this or anything you can bring back in the morning when you go back to work, is that any time you see somebody getting really frustrated, really hostile, really responding in a negative way, remember that they are just deep in that storm of cognitive dissonance and all of a sudden the world that they think makes sense to them no longer makes sense.

That is a way to have empathy. This happens to all of us. Here’s how you get through it. How about thinking like this? What if I make something? What if I show a mental model in a better way? What if I do a talk or a presentation or I put something out there; I write an article and I help continue building this ecosystem that lifts people up?

Embrace that cognitive dissonance because that is where opportunity is, that is where growth is, and that’s where you can make a positive impact. You have to practice the flexibility and other ways of thinking because you can lose that ability. You can lose the ability to be a creative thinker. You can lose the ability to create new mental models or shift between different mental models. That can go away if you don’t cultivate that skill.

On this, I have to say, hire people who are good at different things. Then enable them to do the things in their best way.

There is also a huge kind of--I don’t want to say problem, but--problem. We say we want diversity. We want people who come from different backgrounds to come in and do things the way we do them and that doesn’t work. We need to trust people, encourage autonomy because -- I love in a talk, yesterday, where we’re programmed to freak out when we feel limited. That is absolutely true.

People are programmed to freak out when they feel limited because what we need to stay curious, to learn, to grow is to feel empowered, to feel safe, and to feel like we’re connected with each other. Siloing each other, siloing yourself off to safety bubbles, saying you can’t do this, you can’t design because you’re an engineer, you can’t engineer because you’re a designer, you’ve already gone too far down the path maybe in another life, that’s just not real. Those arbitrary, fake things that we’ve just decided are rules.

Please do the work to empower, connect, to inspire, and to educate because you will be able to make things better.

Speaking of making things better; thank you, Marc, for bringing everyone together because this is a perfect example. I had to come in. Last night, I was making these slides, changing a lot of them because I don’t know about you, but I feel incredibly inspired by what has happened here and the kind of work that people are putting into events like this, into the content that they’re bringing to you from all over the world. It’s not nothing. It means a lot.

For me, these kinds of events, they feel like almost you were in a desert and you happened upon an oasis. You feel replenished. That feeling of replenishment is something that you should experience and chase every single day. That’s something I don’t see happening in tech as much.

Bring people in. Say we need to be passionate as if it’s something they’re going to be taking from you but, instead, passion is something that needs to be grown. Passion needs to be cultivated and it’s something that happens when you embrace this discomfort, when you become more free with your risk-taking.

Also, thank you all. I really appreciate everything this conference has been and I appreciate all of the wonderful conversations that we’ve had. Let’s build that school. Thank you.

[Audience applause]