Episode 104

Remembering the Everyday Developer with Rachel Andrew

August 13, 2015

An inordinate amount of attention is being paid these days to complex tools chains, JavaScript frameworks, and the assumption that the web is an application platform. Has the web actually been taken over by this one flavor of site? Aren't we getting off-track when we act like nothing else exists anymore? What about the everyday developer? Rachel Andrew joins Jen Simmons to discuss.

In This Episode

  • What is all this emphasis on JavaScript being the end-all be-all of web development?
  • We keep saying “everyone is doing [such-and-such]” — really?
  • The wide diversity of kinds of websites and the different skill-sets of the people who build the web
  • "Native vs. the Web"
  • Are you supposed to know how to use everything?
  • How to keep up with all the changes
  • How things got so complicated
  • What about the people who just want to put their stuff online?
  • Which skills you definitely need
  • How the lack of core skills among developers leads to a mishmash of tools and techniques
  • Celebrating the big impact you can have when working on small projects

There is a way in which it's like, 'Gosh, if I had just been that guy, I could have $50 million in my bank account right now.' When that guy writes a blog post, everyone's like, 'Ooo! If I use his CSS preprocessor, if I use his JavaScript framework, if I use his design template starter kit, then maybe I, too, could be a billionaire.'

Transcript

Thanks to Jenn Schlick for transcribing this episode

Jen

This is The Web Ahead, a weekly conversation about changing technologies and the future of the web. I'm your host Jen Simmons and this is episode 104.

I first want to say thank you to our sponsors today, Casper and Squarespace. We'll talk more about them later in the show. I also should say thank you so much to Pantheon for powering The Web Ahead website. pantheon.io is where you can learn all about their website management platforms. And thanks to Cachefly for delivering the audio files to you. The fastest, most reliable CDN in the business: cachefly.com.

Before we get rolling today... I never really use this show for self-promotion. I think I forget to announce things that I'm doing. So I thought I'd start this week: Hey! I speak at a lot of conferences. A lot of those conferences are coming up in the fall of 2015. Probably when you're listening to this I'll be at An Event Apart in Washington DC. (Or, I mean, I'll be there when this episode first publishes.) I'll be at An Event Apart Chicago in the last week of August and beginning of September. Responsive Field Day in Portland Oregon in September. An Event Apart in Austin in October. UIE Virtual Seminar. If you're not able to travel to the United States, you can check out this seminar. The whole thing is online. You can watch from wherever you are. The Future of Web Design in October in San Francisco. An Event Apart in San Francisco in November. The Future of Web Design in New York in November. Those three are, like, in the same one week. [Laughs] Back-to-back-to-back. Then I'll be at Ampersand, a typography conference in Brighton, in November as well. Right now, I'm booking about three others. There will be more. You can go to jensimmons.com and see the current list of conferences that are coming up. You can also find coupon codes — like you can get $100 off An Event Apart ticket if you use the code AEASIM. But you don't have to remember that because you can go to jensimmons.com and check out if there's a discount code.

And in the future — many of you will be listening to this after fall 2015 — I imagine I will continue to speak at conferences quite a lot. You can always go to my website to see what's coming up if you want to come meet me. Come say hi. Just walk up to me and say hi. Come see the talk. Right now I've been talking a lot about layouts. Come check out that talk and learn about how layout design is about to radically change.

This week I was in a conversation with my guest today, Rachel Andrew. Hi Rachel.

Rachel
Hello.
Jen
I had a bunch of conversations this week, with other people as well. This one theme came up over and over. When that happens I think, "Let's make this into a show. This is not just going to be me. This is something that's going on in the industry that a lot of people are thinking about."

So I was fascinated about the kind of things that Rachel was talking about. I should introduce you, Rachel. You're also speaking at a lot of conferences.

Rachel
Yes, I was just listening to your list and thinking, "You sound as busy as I am in the next couple of months." [Jen laughs] I was referring to conferences as the dull rumble of approaching conferences yesterday, as I woke up and found three different lots of organization in my inbox that I had to deal with.
Jen
Yeah, some of those emails were from me. [Both laugh] Like, "Hey, we're going to be at this conference together!" Because you're traveling and speaking about layout. You're especially talking to people about the grid layout spec.
Rachel
Yes, that's right. I've been doing quite a bit of stuff with the new grid layout spec. Talking about it and trying to get other people excited about it.
Jen
Yes. I feel like it's you, me and one or two other people. We're the layout brigade right now. [Both laugh] We're all on this mission. It seems like things are going to change pretty radically.
Rachel
I think it's been something that hasn't changed for a long time. Layout hasn't changed, in the way that other parts of CSS have. Until we started to use Flexbox a bit. Now there's an impetus and all sorts of new specs. It's really fun and exciting.
Jen

I was talking to some folks from the CSS Working Group and heard them… Oh, it was fantasai... I think she did a presentation that I was watching in a video. She was saying the CSS Working Group was focused on making CSS 2 work and getting browsers to fix their bugs and get true interoperability so the CSS behaves the same way in every browser. There was so much focus on that. When that was done and time to move on, finally, to CSS3, then lots of things were about polish and rounded corners. The pretty, "look, you can make a drop shadow." It was easier to do. There was a lot of demand for that.

Time has gone along and it feels like they can finally get to layout. I'm like, "Wooow. The CSS Working Group. It's a finite handful of people who can only focus on so many things at once."

Rachel

Also, I think the thing with layout has been really that it's very hard. I think it goes back to the conversation we're going to be having today. It's very hard, isn't it? To fall back to no layout. It's not like rounded corners or gradients or something where you can say, "It's fine if older browsers don't get the rounded corners. If older browsers don't get the gradient." That's ok. We can deal with that. You can't say, "If you're in anything below IE 11, you're not getting a layout." That's not going to happen. [Both laugh]

That's really, really tough. I think that's partly why there's been less of a push from developers themselves. Into improving layout and saying, "Why haven't we got better layout?"

Jen

But we're not going to talk about layout today. Even though it's hard for you and I to get together and talk about anything else. [Rachel laughs]

In the last 6-8 weeks, I've gotten closer and closer to the metal, as far as browsers. I've been spending more time with working group folks, browser makers and developer evangelists at the browser companies. Also, with conferences coming up. People are planning for spring. We're preparing to get on the plane for fall but we're also in negotiation and planning stages for spring conference season.

I wake up, I open Twitter, there's another call for entries, blah blah blah. It feels like there's a slice of our industry, a slice of people who make websites, who hang out together in certain places, who have a certain idea of what everyone else who makes websites looks like. How they act, how they think and what they're thinking about. It feels like that's overly narrow.

You could live in a world where you only go to a certain kind of conference or you only talk to a certain kind of person. Or you only think about developers. Or now people are using the word "engineer." A bunch of engineers hanging out, talking to a bunch of engineers. Going to conferences for engineers, by a bunch of engineers, with a bunch of engineers.

There's a way in which is feels like in that world there's this big debate about native apps versus the web. The web is dying. Who care about the web? Native webs are going to crush. No, we should make a web app. Should we use React? Should we use Angular? Should we use this JavaScript framework, that JavaScript framework? Of course we hate HTML and CSS. Of course we're going to ditch the last 25 years of web development. Of course we're going to wipe it clean, we're going to load an empty DOM and run this amazing JavaScript framework because that's finally going to finally be a proper programming language. Now all we need to do is debate which one of these JavaScript frameworks is the one we're going to use. Accessibility, what's that? We don't have time for that.

When we were on this call the other day, you and I were both saying, "Yes. And there's a whole entire world of other people out there. There are other conversations going on. There are other needs and ideas. That's a piece of the industry but that's not the whole industry."

Rachel

For people who don't know, what I do as a day job when I'm not wandering around speaking about Grid and things, I have a content management system product called Perch. We sell that to web designers. People typically buy a copy and implement it for a site they're building for a client.

In my day job, in supporting those people and talking to those people and meeting them at conferences, you realize there's this whole world of people who are doing fantastic work. They're doing great sites for essentially small time clients. They're building websites for people locally. The businesses local to them. They're building sites for entrepreneurs. They're creating blogs for someone down the road who's starting a marketing business. They're building these fairly small websites with modest budgets. And they're doing a great job. They're doing something that's very needed for those business. But they don't have the time and resources that someone who works for Facebook has. Or even a fairly big company, where they've got a bit of a web team. It's a completely different world. The decisions that people are making in that world are very different. Yet so often the people who are standing on stage are people who come from a world that's very far removed from you average web developer's world.

I hear it quite a lot. People say, "There's too much to learn. I can't keep up with this stuff. I'm falling behind. I've not even looked at Flexbox yet because I don't understand where to start with it and I don't know if I can use it for my clients. I haven't got time because I've got to support all of these clients." That's a very different world. I can see why when people like us stand on stage and say, "You should be looking at Flexbox. You should be looking at Grid. Why aren't you doing this?" With my other hat on, I'm like, "I know why they're not doing it." [Both laugh] Because they're too busy making a living, and doing good stuff.

We're quite privileged, those of us who have been doing this long enough so we've gotten to a position where, even if we aren't working for a great big company, we can carve out a bit of time to do these experiments and learn new things. Because we've made that part of our jobs. But not everyone can do that. Not everyone has that privilege, really.

Jen
It also seems like web technology was not that complicated 15 years ago. It was possible for a person to come from a design background, be more focused on design, and yet know pretty much everything there was to know about the development side. You wrote HTML and CSS and used FTP to put the files on the server. [Rachel laughs]
Rachel
That's it. A lot of sites were very, very simple. I learned most of what I needed to know in a couple of afternoons. So I just started building websites for people. When people say, "How did you get started?" I'm like, "How I got started is completely irrelevant today." It's such a different landscape. I don't know where you start.
Jen

The complexity began when we started using CMS'. From my perspective, I knew how to make websites, my friends knew how to make websites, we were all doing it this certain way. Waaaay far away there were companies like amazon.com. I didn't know what they were doing. They were doing completely custom code. Maybe in PHP or Perl. Who knows. They were writing their own application from scratch. They were inventing an eCommerce CMS superstore that no one else had. Which is part of why they took off.

There were other companies like that. They'd have multimillion dollar budgets. They'd get themselves a big pile of engineers. And they would find their way through a certain kind of complexity and invent their own tools. They're inventing their own tools and their own way of doing things because nobody else had done it yet. It felt like there was this big gap between those kinds of projects — which was almost like, there's people at NASA putting rockets on the moon [Rachel laughs] and there's people at big corporations writing programs like Microsoft Office. I don't know them either. That's not what I do. Me and all of my friends, we make websites for the nonprofit down the street, that restaurant around the corner. Then when Blogger and WordPress came along — and there were probably other tools at the same time that other people were more focused on — suddenly there was, "We can afford a content management system! Woo hoo!" Things slowly became more complicated. But it wasn't that much harder. You could learn some of that stuff.

Rachel

I think there's this issue in that now everyone uses the web. When I started, if you built a website for someone, you'd have to also educate the client about what the web was. They kind of realized they needed a website but they weren't really sure what a website was and why they might want one. But they'd been told it was a good idea. You'd have to explain to them, if you want to make a change, send them to me, I'll put them on the website. You'd have to teach them.

Now, clients are using Facebook. They're using these incredibly complex applications. They're saying to the designer, "I want this and this. I want people to be able to post content to my website. I want people to be able to do all of these different things." Actually negotiating your way through that and having the confidence to say, "Hang on a minute. What's your budget? Can we afford to do all of this stuff? Can we bring in the specialist skills to do all of this stuff?" In speaking to a lot of designers who are doing that, there's not the confidence to say, "Hang on. This isn't what I do. I'm a designer. I design websites. We can do that other stuff. But maybe you need to bring in some other skills for that."

Jen
I think it did shift from, "Let me teach you why you need a website," to, "Let me teach you how hard it is to make websites and why you can't afford what you're imagining." [Rachel laughs]
Rachel

Yeah. I think that's getting worse. We see that as a CMS vendor. People expect their CMS to fill in the blanks for them. To fill in the stuff they can't do.

When I stared doing backend development, if I wanted to do something, it would be a case of, I knew how to build it. I knew how to write the code. I knew how to connect the database and get that information out. If I found some other tool that would do it, I was essentially shortcutting that. I was saying, "Someone else has written a script that does a blog, so I'll use that rather than writing a blog." I think now people are using tools to build the site. They couldn't create a blog. They couldn't create a contact form. They have to use the CMS to do that. If we don't have a feature, they can't offer that to their clients. We've got an API, but they wouldn't be able to use the API to develop that.

Again, that's another chunk of work. Learning PHP. That's another thing. [Laughs]

Jen
In this conversation, I want to get to some kind of... not answers. If we have answers, let's get to them. I also want to try to describe in depth what it is that we think we're seeing. I think a lot of people are aware of this pain point. There is this conversation going on around, how are we going to better teach a new generation? How do we help people who are in the beginner/intermediate stage, or deep in the intermediate stage? Where they feel like, "Ok, I taught myself the basics. Now I want to know what to do next. I'm kind of lost."
Rachel
It's really hard. As you say, way back, you learned HTML. But CSS wasn't around when I started. Now you learn HTML and a bit of CSS. But the CSS we were doing in those first few years was pretty trivial. You could learn it very quickly. You could build a website that looked pretty much like everybody else's website. It looks like a professional website. Because...
Jen
... Because professional websites looked so crappy! [Both laugh]
Rachel
That's it! They were so simple. There were little blocks and tables, done in Dreamweaver. [Laughs]
Jen
Computer screens were so low-fi at that point. Your graphics didn't need to look sharp and clean and great. Your screen wasn't going to let anything look sharp and clean and great. Your screen was crappy.
Rachel

We had these terrible, tiny screens. It's funny when you find a really old website and it's been built like 640x480 and it's this little tiny box in the corner of the screen. [Laughs]

You could learn everything to put together what looked like a professional website — because it was the same as everybody else's — in a few days. Now if you say to someone — and I believe it's correct that we should be saying to people — you need to learn HTML and CSS. That's the foundation.

However, to get from learning HTML and CSS to having something on the screen which looks like a good website. That's a huge leap now. A "good website" is massively more complicated than a "good website" when I started.

I think that's one problem. In terms of real beginners, it's a bit like learning the violin. You spend years and years learning the violin before you stop making a terrible noise. [Laughs] You don't just pick one up. We're kind of getting to that point where you've got to learn an awful lot before your output matches what's in your head.

Jen
I think there's a question that emerges very quickly, for a person that I might be talking to, having coffee with, someone who's looking for advice. What is it that you want to do? Who are you? What country do you live in? What kind of person are you? Are you looking for a career? Are you looking for a way to do good work while helping the nonprofits that you care about? There are very different reasons why someone might want to learn web technology. Learn how to make a website. One person wants to make as much money as possible in the web industry. Another person wants to have a side business because they're an artist and they figure, "If I make some websites for my artist friends, I can supplement my income." I would give those two people very different advice about what to learn.

Rachel
I think so. A lot of people are consumers now. They're building stuff with tools. They're using Squarespace. Yes, you can build a website with Squarespace using a template. You can customize that a bit. That's quite a different thing to what we were doing when we wanted to put websites online. We had to write the whole thing. There wasn't any template. I think the nearest thing was, some people used to put out packages of buttons and borders and things you could download and put on your website if you weren't good at graphics. [Laughs]
Jen
It was like Bootstrap! [Both laugh]
Rachel

They were borders and little frames that you'd put around. So you could make your website look like a picture frame or something.

You had to build everything yourself. Now people can get a very long way. And that might be fine. If they're not wanting to be a web developer. My daughter knows a bit of HTML and things. She's 18. But she wants to put a site up for photography. I said, "Squarespace, that's probably a good place for you to do that." Because I know very quickly she could have something up that looked great. That serves what we wants.

Not everyone is wanting to become a web professional. We have to think about who we're talking about.

Jen

Right. In the original vision of the web from Tim Berners-Lee, everyone could surf the web, read websites, go to websites, and everyone could make websites. The software, the browser, would not only be a place to consume the web, but it would be a place to create the web. That got dropped pretty quickly. That idea was lost, cast off to the side. But that was the original idea. This was not a read-only medium. This would be a read-write medium.

We do see that in some ways. Everyone that uses Facebook can post content to Facebook. That's how Facebook works. Everyone can post content to this other website too. Everybody can post content to Twitter in this particular way. Or Google Plus. We call it "social media." In a way, that is a kind of implementation of the web that is a little bit closer to the original idea of the web. Except it's different because in Facebook you add the kind of content that Facebook wants you to add using the tools that Facebook made, not the tools that the web browser provides. If you add content to another website that's different. You could go to thewebahead.net and add content. (Right now, the only content that I offer regular people to add is comments.) There's not a universal way in which everybody can add content to the web.

I'm rambling about this because there is a way in which a literacy that I would hope that everyone knows some HTML, everyone feels comfortable posting stuff online, everyone wants to do something like use Squarespace to make their own website. That's not just for web professionals.

Rachel

There is a difference between people who want to get into the industry, at some level. And people who want to create a website but don't want to be a web developer. They just want to get their stuff online. I hope there are still entry points into the industry via the person who wants to get their stuff online.

The only reason I'm here is because I was pregnant, I was quite young, I wanted to get my baby photos online because I met other people online in a parent place, a chat for parents and mainly mums. People who were at home. I was talking to these people. I wanted to get my baby photos online. The only way to do that was to build a website. In these groups there were all these mums talking about babies and how to feed them and whatever was needed. But also talking about HTML. [Both laugh] Because we all wanted to put our stuff online. That's how I got into it. That was my entry point. I didn't sit down and think, "I want to be a web designer." I just wanted to get those photographs online so I could share them with my new friends in America and all over the place.

Via that, I became quite quickly the person that knew how to do websites. People saw the stuff I'd done. "Could you make me a website like that?" "Yeah, I could do that." [Laughs] Over time, I started seeing myself as someone who had this special skill. I could use it and make money out of it.

It's a shame if we lose that entry point. From the person that makes a site with a Squarespace and people say, "That's really great. How did you do that?" How do they come full circle and start being someone who can understand the technologies that are behind that? I don't know how that happens anymore. It feels to me there's an awful lot of people who are now experienced professionals doing great stuff who are standing on conference stages who would never have gotten into the web had it not been that we kind of fell into it because we wanted to do something else that involved a website.

Jen
Younger folks may not understand there are many of us who were adults before computers became common. They were around, but it was like, "My father is an architect and the engineers in his office use computers." The architects don't even use computers but the engineers do.
Rachel
My dad's a programmer. So we did have the Amstrads when I was little. I used to go the computer lab at his university. In fact, interestingly, I thought women operated computers. The computer operators in the computing lab were all women. I liked that. I was very little and they had these enormous computers. I'd peek around the corner at them and say hello. [Laughs] For a long time, I assumed computing was more or less something that women did.
Jen
It was! All of the original programmers who invented programming were women.
Rachel
It's kind of interesting. There's that perception as a child. Maybe that had something in the fact that I wasn't concerned about going into a completely different industry. Because I'd seen people doing that. I learned to type at typewriters at school. We had a computer at school, it was in the art room. You could do some terrible drawing on it. Everyone was like, that's rubbish. [Laughs]
Jen

They were around. Certain professionals, certain adults had them at work. The school would have one or would have two or a lab of seven. You could go in for a week or two weeks and you'd go back to your normal classroom. It wasn't until we were adults. Many of us young adults. My freshman year of college, everyone was using typewriters. My sophomore year of college, everyone was going into the library and using the Macs. Because they had just bought 20 Macintosh computers.

In that time, because that transition was happening, any of us who were at all ahead of the curve, because we had a computer at home when we were teenagers or we had a parent who was involved or we just were naturally very interested in it and liked it and learned it and knew it well. Had a talent for learning this stuff quickly. We would very quickly become the computer expert among all of our friends, right? All of my friends would come to me when they had problems with their Mac because I had a Mac and I had owned my Mac longer than they had used the 20 Mac in the library. That made me the expert. [Laughs] Because I had six months more experience than they did.

We grew up in this era of, you didn't need to have a lot of skills to be the expert. If you knew how to use a mouse, you were wow. You'd have a flock of people around you begging you for help.

Rachel

It is very different. It's difficult to map our experience onto experiences that people have now. I think it is very different. Our experience gives us a lot of confidence. When I hear people say, "I'm so worried about all of this stuff. How am I going to catch up with all of this? How am I going to learn all of this?" I say, "I don't know all of this stuff either. But I'm not worried about it." Having grown up with it all, I have the confidence to know that if I need to know about something, I'll be able to go and find out about it.

I have a fairly broad knowledge. I speak and write about everything from operations — I talk about things like configuration management to servers right through to front-end and business. So I have a very broad knowledge. There are certain things that I know an awful lot about because I'm just very interested in. But there's a huge pile of stuff that I have no idea about. I know it exists. I kind of know what I would use it for. When I see something, I think, "That's a use for that technology, I'd best learn it." I'll go and have a look at it now because I have a problem that I think it might solve.

There's epic amounts of stuff that I've not touched. People will say to me, "What do you think about this?" "I don't really have an opinion. I'll let you know once I have a chance to look at it." I think coming from where I've come from, I've got the confidence to say that. If you're in that place where you're feeling terrified that the world is racing past you. If I client says, "Why aren't you using this?" or "I've heard that you need to use that." What do you say? You don't come from a place of being very confident about it. Because you're not sure yourself if you're doing the right thing.

Jen
Right. Or you're going into a job interview and someone asks you, "Do you know such and such?" Are you going to say, "Actually, I don't." And feel like that's not because I'm stupid or ignorant. That's just because. Or do you go in feeling like, "Gosh, I really should know that and I don't. How am I going to spin the answer to this question. I feel really bad about that." Some of the things it feels like we should know right now have been around for less than three years.
Rachel
Yes. If there's anything to take from this discussion, it's that you cannot know everything.
Jen
Right. Especially not now.
Rachel
And it doesn't matter. [Laughs] It's important to keep an open mind. When you see things to skim read an article about it and say, "That looks interesting. Maybe something will come up and I'll come back to it." But none of us know everything about everything. That's why you see these experts who are very specific. People talking about performance. That's the thing. That's what they talk about. There's just too much. We can't know everything. I figure, I've got some good friends. I can speak to someone about performance and say, "Hey, why is this happening? What's going on here? What stupid thing have I done here?"
Jen

Or I've tucked into the back of my mind the name of a book that I don't have time to read and if, at some point, I need to know performance, I'll go buy that book. I'll read up on it and catch up. Or that book's only going to last for so long, so I'll follow that person on Twitter and find out what the next book is, and three years later there will be a different book and another set of techniques.

Sometimes I feel like that's the answer. Not to know any of this stuff. Not to even necessary keep up with all of it. But to keep up with an ever running, ever up-to-date list of where to go when you need to know that thing.

Rachel
Which people are good to follow so you can keep an eye out. You might see someone mention something and go, "That's relevant to me. We do that. Let me see what that's person saying about that technology." That way you can chase down the things that apply.
Jen
Especially the newest things that apply. If I really want to know about what's going on with Grids, I'll find out what you just said about it. [Laughs]
Rachel
There's people like that about all sorts of things.
Jen
Like Scott Jehl. He's on my Rolodex speed dial thing in my head. If I need to know something around performance... I don't even know what I would describe him as. We have this complicated website and we're not sure it's being built properly. Let's see what's going on over at Filament Group. What have they said lately?
Rachel
That's it. Somebody else is doing that hard work. Someone else is figuring that very specific thing. You don't need to be an expert in everything.
Jen

Well, you can't. There are a bunch of performance experts, for example. I could name a bunch of them. If you went to any one of them and said, "Can you tell me how to write stuff about CSS?" I'm sure there's a very good chance they wouldn't know. Because they're so focused on whatever very specific thing around servers and caching and deployment and compression. Where in their brain are they going to keep up with graphic design or content strategy techniques? They're not. If you need to know something about content strategy techniques and best work around how to structure your content, go find that person about that thing.

It's why The Web Ahead has a different guest every week. I want to try to find the person. These are some of the people that I know. People that are listening and they're like, "I want that list." The guests who have been on this show are some of the best on these topics. Keep up with them, track them down, see what they're doing, see if they've got a new conference video that's online. Search a topic, narrow it to videos and look at conference presentations to get a solid hour on the latest ideas and techniques.

It's like looking something up in the library. Looking things up in the dictionary. It's not having the entire library, the entire encyclopedia memorized in your head.

Rachel

The number of things I don't know about and screw up frequently because I don't know anything about them. Exactly the same as everybody else. There are things that I'm just useless at. [Laughs] I've got a tiny bit of knowledge and use it very badly and have to figure out what it is I've done.

I don't write JavaScript. I know a very little bit of JavaScript. Enough to cause a mess, really. [Jen laughs] I start teaching myself but I never need to use it. It's not something I do. People will be like, "You talk about front end stuff but you don't use JavaScript." I'm like, "No, no I don't." [Laughs] That's just not something that I have to do professionally. It's not something that I spend a lot of time thinking about. If we need some JavaScript, I work with Drew and he writes JavaScript. Or maybe we'd hire someone who's a really great at writing JavaScript. I'd rather have someone in who's really great at that task than it be another thing I need to learn. Because I prefer backend code, always have. I enjoy writing PHP, I enjoy writing Perl. It's just never been a big thing in my career.

And that's ok. I think people need to know that it is ok to not know about all these things. Specialize on your thing.

Jen
I think the skill that's really needed, besides knowing how to look things up, is knowing how to teach yourself things. To know how to ask for help. To know how to take criticism. Somebody comes along and says, "Your code is crap." To be like, "Ok, how should it be better? Can you show me?" Instead of being like, "What? It's not crap!" To be able to keep learning and reaching out. Not feeling insecure or defensive.
Rachel
I think it's that confidence thing. Knowing that you know what you know. You know those things that you know about, you know well. Being able to put your hands up and say, "I don't know much about this particular area."
Jen
When I was teaching at a university, it was interesting. One class, three hours long, once a week, is so little. As a professor trying to teach things like, how to shoot 16mm film, how to cut video, how to put things online, how to build a website... we have one 15 week class. I'm going to show you everything about how to build a website. So you can build this website and put your videos on it.

I would teach some students what I had time to teach them, and they would go off and flourish. They'd go learn whatever else they needed to learn to finish the idea that they had.

Other students would feel almost like a victim. "I didn't learn what I needed to learn." These weren't my students. But I remember feeling that feeling among both undergrad and grad students. "Someone was supposed to give this knowledge to me. They haven't given me the knowledge that I needed. Now I feel helpless because I don't know what I need to know."

I understand that. That is how I used to think school is supposed to work, too. I'm supposed to show up and you're supposed to teach me. But there are so few good web programs in schools. So many schools have great computer science programs but they pretend like the web is some crappy stepchild that doesn't count. Or it's a great graphic design program but they act like everything does into InDesign and nothing exists besides InDesign. There's a gap where nobody's covering the web because everybody's focused on something else.

There are some good programs for the web. But there are very few. I think you end up with people who try to major in web design, web development in school, who come out not knowing what they need to know. The truth is, you have to know how to teach yourself. You have to know how to learn. You have to know, not just how to look things up, but how to keep growing and keep changing. Especially since you could go to the best program in the world and get ten years of amazing schooling from the best teachers in the world and come out and three years later everything you know is irrelevant and you need to know something else.

Rachel
I know what you learn about this feeling. I see people feeling victimized by the web and by the pace of change. How am I supposed to do all of this stuff? I think you just have to accept that's how it is. Because it is how it is. [Laughs]
Jen
And it's because it's a brand new medium. Fifty years in, I don't think it will be like this. But right now it is. It's this exciting time. When film was invented, in the beginning of the 20th century, it was probably like this for everyone that was doing work in film. "How come this camera no longer works? How come I have to get a whole new set of film stock?" I think that's part of what it means to be on the first generation of a new medium.
Rachel

There's something that I see and I think it ends up being this downward spiral. People feel they haven't got enough time to learn all of this new stuff. They're picturing the clients and tend to be pitching low because, again, they haven't got this confidence to go in for higher. They're having to work very hard to make ends meet. They're having to build an awful lot of websites because they're doing them at a low budget. Of course, that comes around full circle. Because they're doing all this work to push these things out the door, they don't have time to learn. Every project becomes this panic of, "I've got to get this done really quickly because I need to do another one next week. All that matters is just getting the thing built. Making enough money to survive.

We talk to people who use our software and talking to people in the industry, I can see that happening. I would love to have advice for those people. How to you get to the point where you can charge a bit more? So you've got time to say, "10% of my time is now for learning." Then you can improve your skills. Hopefully that's going to lift you up the ladder. If you're always targeting the very small budgets, those clients are often a nightmare. [Laughs] If you don't charge very much, you often get treated like you're not worth very much. It seems quite typical. Consultants who go in and charge ridiculous fees are treated very well because the client is like, "They have to be shown their worth." If you're doing $300, $500 websites, unless you've got a really good system around that, doing it on templates, it's going to be very hard to make ends meet. And it's going to be very hard to have any time for learning.

Jen

Let me jump in here with a sponsor and talk about Casper.

Let's try to articulate. I want to talk more about this idea that there's a slice of the industry that's focused on using web technology to build basically productivity applications. Let's make a word processor, let's make a spreadsheet, let's make a time tracker, let's make a flight tracking program, let's make financial transaction interface graphs. They're so focused on making these applications, on the web, that they are reaching for tools like React or Angular or these big JavaScript frameworks because it does simplify things. It does make it possible to write complicated application type websites.

Rachel
I think typically they're building them for each other. [Jen laughs] They're building them for people who've got good technology at their disposal. They've got good browsers, good computers, fast web connections. There's a bunch of people who are building things that are used by people that are very like them.
Jen

Right. Even being in New York versus San Francisco, I feel that's part of what gives me a different sense of the world. Even though I'm in the United States, in a very wealthy, 1%-focused, middle-class and white world — the tensions between San Francisco and New York City are palpable. [Laughs] They're so focused on VC-backed startups. While we have a much bigger industry going on: a publication industry, a content-creating industry here in New York City.

But there's a whole bigger world. A whole other world of other kinds of people. Other countries. Like you said, people who have slow connections, who have crappy devices. Who have all kinds of different amounts of money. I guess sometimes that's where my frustration comes in. Everyone's not working for a VC-backed startup whose main goal is to make somebody who's very wealthy even more wealthy. So why is the entire web supposed to serve that master when actually the web itself was invented for completely different reasons and a lot of people are very excited about the web for very different reasons.

Rachel

With those companies, the companies that have got the funding, a lot of what they'e doing is just trying to get word out about what they're doing. Their developers and people who are working on stuff have actually got a bit of time. They've got a way to talk about the stuff they're doing and technologies they're using. It's valuable to those companies, for those people to be talking about the technologies they're using. If you're selling products to other people who are like you and they're people who like technology, then there's a huge reason to be talking about the technologies you're using and saying how important they are. [Laughs]

I think that can give a false sense of what everybody is doing. You hear, everybody is using a framework these days. Everybody is using such and such to host their sites. Everybody is doing this and this. No they're not. [Both laugh] Lots of noisy people are doing that. That's not the case. It's like people say, "Why on earth did you build a CMS on PHP? Blah, PHP." Because actually, that's the hosting that people have got available. The person that's building a website for a client, who wants inexpensive hosting, what they're going to have on that hosting is PHP. That's the case. We built a tool that is used by people. This is the average person that is building a website. We wouldn't have the success of WordPress if it wasn't for the fact that everybody is using PHP and everyone has access to hosting for PHP.

Not trendy, but there's a lot of people who need it. [Laughs] You hear this right across the stack. Everyone is doing a certain thing. Everyone is using cloud hosting. No they're not. [Laughs] That kind of winds you up a little bit because it skews what people talk and write about. It narrows this field of things that people are willing to talk and write about because they feel they can only talk and write about the trendy stuff.

Jen

The judgement in this is interesting. I was just being judgmental. I was talking about VC-backed startups like they're the worst thing in the world. So I can hear the judgment in my own voice. I stop ranting, I'm listening to you, I'm reflecting on my own judgment.

There are a lot of people who look down their nose at PHP and talk about it like it's really bad. We could start debating the pros and cons of PHP but I'm more interested in understanding what it is about us all. We want to know which one is the best technology so we can put our flag in that ground and then we can look down our noses at everybody else and act like, "OF course you should be doing it the way that I'm doing it. Everybody else is an idiot."

Rachel

I keep coming back to it. I think it's this confidence thing. I'm not worried if something I am using is not the latest and greatest thing. As long as the job it's doing is working well for me or my client. As long as it's working well. It's not that I'm totally turned away from any potential downsides, but I'm fulfilling the business goals for that client. There are no huge negative reasons why I shouldn't be using this thing. I've not hit a problem that I think, "This needs solving. Is there anything else that could solve this?"

Otherwise, you can spend your whole time darting from thing to thing. There's this new CMS, I'd best learn that. There's this new framework, I'd best learn that. You're never really going to get a decent level of knowledge in one thing by doing that.

Jen
There were a few years were that was a good idea. There was nothing and then there were six things. When we had two and the third one came out, it was like we all went, "Hey, we should all check out the third one." But now there's 300 of them. That's not sustainable or healthy or realistic at all.
Rachel

If you're working for clients, you really are better to find something that suits the way you work, whatever it is. Generally, you use that. Keep you eye out for what else is happening. What you don't want to do is tie yourself to something that's not being used at all and you've become isolated. Unless you can start to see downsides, I think one way to stop this panic of, "I've got to learn all of this stuff," is to say, "I'm quite confident that what I'm doing with this language, this CMS, this framework, is good. I'm doing good stuff with this. It's ok. That other stuff is coming along. I've not yet hit a situation where I need it."

You do have to be careful not to end up refusing to learn anything new in that. But you do stop yourself from leaping on every bound by doing that. If something sticks around for long enough... say, preprocessors. I was very much like, "I'm not learning these preprocessors. I can write CSS. I can write it fast." Then more and more stuff was being written about them, so I was reading a bit more and thinking, "Yes, I can see there's some use there." Eventually, I started to look at Sass and using some of it and thinking, "I can see real use here. This can be helpful in my workflow." But I didn't jump on it the minute it showed up. Because I thought, "It might go away. Let's see what happens with this and see whether it becomes useful and see whether I can identify problems in my workflow that it might solve." Only then did I start to use it.

Jen
For a little while, there were a couple of options. There was Sass, Less and I think another one. I remember waiting a little while to see which one would shake out. Then feeling like I can tell which out shook out, Sass. I feel much more confident about putting clients on Sass or advocating for Sass because it is going to stick around and it is going to be the one that everybody's using.
Rachel
I think that's really important. That confidence to put a client on something. Because what you don't want to do is be experimental with every different client. If you're doing this in an agency situation, you're keeping those clients long-term. What you don't want is every client to have a completely different build. Because that's just a nightmare to go back and update. You've got to remember the technology. It might be technology no one's using anymore. At least if you base everything on the same stack, that year's clients or two year's clients are on the same stuff. It's much easier to go back and do updates. That saves you time.
Jen

You just hit on something. We all have very different relationships with the projects that we're working on. There are people who are doing what you just described, which is, they have a client and they're with that client for a long time. There are a lot of people who are freelancers or consultants. Maybe it's a small budget project in a short time. Maybe it's a huge budget project with a very short time. Maybe it's a longer amount of time — you're with a client for a year or something with a huge budget. Then you walk away. Then you're done. I feel like I've been in that position a lot in that last couple of years.

I think a lot, as I move through the project, about what I'm going to be leaving behind. I think a lot about the legacy they're going to have. If I build this site for you on Drupal, you're going to have to have someone to maintain that Drupal instance. That's not going to be me, because I don't enjoy that. I can hook you up with someone else and recommend somebody and they'll do it. Or I can teach you the skills if you're a person that can learn those skills and you can do it. What I cannot do it just put you on this system that needs regular updates and those updates which take a certain level of technical savvy and then never talk to you about it and walk away and leave you with security flaws. We're going to have that conversation at the very beginning because I need to suss out whether or not you can handle the responsibility of babysitting a Drupal website for the next five years. If you can't, then I'm going to make a different choice for you. I'm going to put you on Squarespace or wordpress.com. I'm going to put you on something where you don't have to update your own software.

Rachel

It is that thing of making sure people aren't being given something which might just go away very quickly. If you use the latest JavaScript framework to build someone's site, and it doesn't take off, then there are no developers who know how to handle that framework. If the client wants any changes made, you've gone away or moved on, you're not interested in that framework anymore because you've moved on to the next thing. Who looks after that? That's kind of irresponsible. To be handing that over. Fine with your own stuff. Go use what you want, it's fine. That's great and that's where you do your learning.

You do see this happen. For awhile I did a lot of project rescue type work. Where I'd end up with somebody else's stuff and try to fix it.

Jen
Me too.
Rachel
That's where you'd see this happening. People would use technologies that was the latest, greatest thing. They tried it out on some poor client. Then they were left with this thing. We would look at it going, "I can't touch that."
Jen
Or they didn't really know how to use that tool because it was new for them. They tried their best but they really didn't use it properly.
Rachel
The point when they'd coded themselves into a corner and abandoned the project and that's when you get it. [Laughs]
Jen

Coding content into theme templates. I've seen some crazy stuff.

There are people who have lots of client work and there are people who are at a company and maybe they're working on multiple project inside that company. But there is no client relationship that they're walking away from. They're an employee of a place. For some people, they're an employee working on a project with a large team over many many years, if they keep that job. It's different to choose to use Sass with a client than to choose to use Sass with a team of developers who need an efficient way to work together for the next five years. When the architectural decisions are being made, they're being made, in some ways, frequently, to help with team efficiency and organization.

Part of what gets frustrating when you see folks advocating for certain things at conferences, I don't know that they acknowledge that difference. Sure, you have 50 people in a mosh pit working on $25 million worth of websites. And you're giving advice to folks who have $5,000 budgets and are building 2, 3, 10, 20 websites a year.

Rachel
They're working alone a lot of time.
Jen
They're working alone. It's just them. Then they're walking away from those projects. Those projects have to live on without them. Those are completely different situations where I feel like saying, "Such and such technology is the best," isn't enough of the conversation. It's the silly part of the conversation. "We should always use the blue crayon." What are you coloring? [Laughs]
Rachel

That's reasonable advice for anyone who's feeling overwhelmed by all of this. Look at who's speaking. Are they like me? Are they delivering projects like my projects? How much does this advice apply? There is learning from big projects that can filter down to small projects, definitely.

A good way to shortcut knowledge is to look at things around usability. Big companies are doing a lot of work in terms of A/B testing this stuff. As smaller guys, we can learn from that.

Jen
Just glom onto their research.
Rachel
Yeah! [Both laughs]
Jen
You don't have the money or the time, you just use their research.
Rachel

What is Amazon doing? They're testing that stuff well. [Laughs] We can latch onto that.

In other ways, we need to say, "This advice is great if you're a team of 50. It's probably worth learning this tool or method." If it's just you building a website, you probably know every line of CSS. [Laughs] You don't need a huge methodology to do that.

Jen
I should also say, lots of time projects in big companies are small projects. Usually, big companies also have a whole bunch of small microsites. Sometimes there's applicable lessons from a big corporation.
Rachel
A good way to filter it is, "Who's speaking and what's their background?"
Jen
This is another thing that I get very curious about. What about human nature has made us act like this? [Laughs] We slip into this nerd mode, where we start debating tools in the abstract. We're not talking from a place of remembering these tools exist to solve problems. A better way to choose a tool is to talk about the problem, understand the problem, figure out what kind of problem are you trying to solve and what kind of solution do you need. Then you say, "I need a solution for such-and-such problem. Which tool is going to be the best solution given this specific situation that's going on." There's 50 tools, there's a whole bunch of options. Over here, we chose this one. Over there, we chose that one. Over there, we chose this other one. You can't say, "That's the good one, that's the bad one." It depends. What's the context? What's the situation? What else is going on?
Rachel
People would like there to be an absolute truth. They'd like it if someone could say, "This is the one thing you should be using. Everyone use this." That would seem easy. But it does tend to depend.
Jen

Maybe that's coming from the frustration in security of things changing so quick. If you could just tell me I need to learn Sass and I don't have to bother to hear the word Less. I don't have to grok the history of preprocessors and CSS and debate the pros and cons. I don't have the space in my brain for any of that. Someone come along and tell me what to do. Tell me that I should buy Dan Cederholm's Sass book. Done. Give me a simple answer. I don't need to worry about React vs Angular, you can just tell me which one I'm supposed to use and and I will just learn that and only that and I don't have to learn anything else for the next five years.

I just don't think that's true. That doesn't ever pan out.

Rachel

No. Because the things you're doing are different. They live in very different situations and are used by different users. There's a lot to be said for the people who are doing great work for these smaller clients. They tend to be working very closely with those people. It's a shame we don't tend to hear more from people who are doing that kind of work, on the speaking circuit. It's the reality for huge amounts of what we know as the web. Individuals or tiny companies making sites for clients.

We don't tend to get those people. What are the challenges you're seeing and how are you solving them? The thing with those people is, they're working so closely with their clients. They're sitting in their client's offices and discussing their businesses. I think there's an awful lot that everybody else could learn from that side of things.

Jen

It's interesting and true. When I just started working full-time on the web and only doing work on the web, to make that living, once I'd dropped everything else, for the first five years, all I did was little sites like that.

After moving to New York and not being able to pay my bills with budgets of that size, I switched my focus. But there was a way in which trying to get a job, once I got to New York, and also in the years since then, as I've tried to explain my wacky career and put together a résumé, it's almost like I'm ashamed of those years where my clients were little clients. Because nobody's every heard of any of those clients. I don't know how to articulate, "I turned out a whole bunch of websites. I not only built their first website, I hooked them up with email. I taught them how to use email." Right? That's what we were doing for a long time.

It's not as impressive as being able to say, "I wrote the front-end for cern.ch. I wrote code for Google..." I can name drop these other clients that are much more impressive."

Rachel
Actually, it may well be that the difference that someone makes for that small business... someone puts together a fantastic presence for a local restaurant. That could be absolutely life-changing for the owners of that restaurant. The fact that people are searching and finding this great site. They can read all the menus and make bookings. It can really turn someone's business around, in a huge way.
Jen

Where the CSS that I wrote for three pages of the Chrome developer website, really didn't have that much of an impact on the Chrome developer website. [Laughs] I could namedrop that and it's exciting to namedrop that, but I was a tiny cog in a wheel. I got dropped into that cog because they needed somebody. They were behind schedule and there I was. I had almost nothing to do with that project other than the fact that I dropped in for a month or so and wrote a bunch of code.

You're right, being able to come in and say, "Let me help this nonprofit understand how they could be using the web to accomplish their mission. Let me build their next website." Could have way more impact than being just another body.

Rachel

It would be nice to celebrate that and for people to feel this is valuable stuff. This is what the web is for. It's what we all came from. It's something we don't see enough. But people that are attending conferences, that's exactly what they're doing. They're like, "We build small sites for this, that and the other." They're almost apologetic about it. We're not doing some grand thing. It's like, "Tell us what you're doing!"

I love seeing these sites. It's one of the nice things about our project. We see what people are doing with it, the sites they're creating. It's just brilliant. I love looking at the forums and seeing what people have been building, the problems they're solving. It's interesting and probably a bit more so than someone's big blog post about the work they've done for some huge property somewhere.

Jen

Sometimes I wonder about these big, famous companies. Somebody smart who works there writes a smart blog post about something interesting they've done. Sometimes there's a lot of... almost like, "It's a celebrity! The movie star came to the party!" There's that kind of energy and attention. Sometimes I wonder if it really is that energy comes from this one idea. Which is, "If I choose the right tool, meet the right person, stand in the right elevator and pitch to the right person, I can get rich. Filthy rich. I could tell my company, too, and I could be a billionaire."

We don't talk about that a lot. There is a piece of our industry that, because this technology is so powerful, because the medium of the web is so powerful and it's upending one industry after another. We're all getting paid very well because we're the people who know how to make this giant, global, economic revolution happen. Even as we get paid, these very robust salaries, many of us, there's still this desire to be one of the few who has that winning lottery ticket. Who cashes that ticket in and never has to work again.

Rachel
[Laughs] Yeah.
Jen
And we know people. We know people. We could sit here and list a bunch of our friends and there's a bunch of people who are struggling very much right now because they're trying to do projects they care about passionately and they don't have enough money to fund those projects. [Laughs] I'd probably put myself in that category right now. Then there's people who have healthy, middle class salaries as employees at companies. Then there's people who are doing very well. Then there's people who are doing extremely well. I don't mean to wish them ill or anything. But there is a way in which it's like, "Gosh, if I had just been that guy. I could have $50 million in my bank account right now." When that guy writes a blog post, everyone's like, "Ooo!" [Both laugh] "If I use your CSS preprocessor, if I use your JavaScript framework, if I use your design template starter kit, then maybe I, too, could be a billionaire.
Rachel

I think that happens in every industry. People think, "What's made this person a star?"

When I first used to do a lot of writing, people would assume I was making huge sums of money because I was a published writer. I'm like, "No, no, no." Now I do a lot of conference speaking. They think, "You must be making mass sums of money. I'm like, "No, no, no. This costs my company money, me being out there." [Laughs] There are a lot of benefits, but generally, it is not what many people think.

I think people are looking and have got a different idea than the reality anyway. Because if you're in the public eye for whatever reason, people assume things about you, I think. They might think we're further removed from what they're doing than we actually are.

I would like to see more of those people who are just doing interesting little projects, talking about what they're doing.

Jen

I think it's natural if you want to be successful to look around at the people who have been successful, and try to emulate them. I just think we should realize the copying their tool stack isn't necessarily part of the thing you need to emulate. Maybe you need to emulate the business choices they made. And use a different set of tools. Who knows.

I should jump in here with our other sponsor, Squarespace. Who we've talked about quite a bit. [Laughs]

The other thing I was thinking about when we were on this call together and trying to articulate the fact that there's all kinds of different people who make websites. You said something about, people are still using tables for layout. I was shaking my head down in the little video corner. [Laughs] When I was in China, five years ago, I learned so much, of course, by traveling to the other side of the globe. Not just being there visiting, but working with this team of Chinese front-end developers for three months by the time we got done. They were doing the craziest things that I would not have ever imagined were possible. [Rachel laughs]

They were using CSS3 and they knew a lot of the brand new stuff. But they were also using star hacks. They didn't know that you use conditional stylesheets in IE. They didn't know you could have a separate stylesheet or all of the bug fixes and different code for old versions of IE. They were using the techniques we used before conditional stylesheets were invented. It was so funny. And, yeah, tables for layout. It was like, "What year is it?" It was all the years at the same time. It was 2002, 1996 and 2010 all at the same time.

Rachel

I see this. I see this in support. My theory is that what's happening is, there's kind of a lack of core skills. There's a lack of core knowledge that people need to have. I think because they're feeling pressured to product websites that are very much like the other websites they're seeing, which are using all sorts of new stuff.

There's this patching together, maybe using an old copy of Dreamweaver, building stuff with that. I pick on Dreamweaver because I see bits of Dreamweaver code in the markup, so I know that's where some of it comes from. [Laughs] I used to do quite a lot with Dreamweaver back in the day.

Jen
Me too.
Rachel

So I can spot it. [Both laugh]

They're using old templates or Dreamweaver or some other tool. They're patching in bits of new stuff that they're learning. They're putting a gallery onto the site. They've got jQuery and the jQuery plugin they're using then uses CSS animations, perhaps. Then you've got this site which is built like something from 10 years ago, yet has got very new bits of CSS on it. They're using HTML5 form elements but they've got HTML4 transitional doctype. I see this all the time.

I think it is this cobbling together of stuff without understanding the core underlying technologies that you need to know. Core things that are important on the modern web. What should your doctype be? We probably should be using HTML5 now. People don't know how to form paths. They don't understand why their image disappears. They've built their site and move it out of a subfolder, for instance. They don't understand what's happened. It's like, "You've changed all the paths." "What?!" Because they've been using some tool which has managed the paths locally. Then when they've messed around with it live, they've not realized that they've changed all the paths of their CSS and images. They don't have that core bit of knowledge: this is how you form a path, this is how you link something in to make it root relative. Things that are quite formal to us old folk. [Laughs]

Jen
As you're naming these things, I'm having these flashbacks. "Oh yeah, I remember the four months I struggled with that, where I couldn't figure out what was going on." I have vague memories of how I learned it. Being stuck. It's not easy. Some of us have done it long enough and have hit most of those pain points.
Rachel
Because we grew up with it, we learned one thing at a time a lot more than people can now. I think that's why you get this cobbling together of knowledge and bits of other people's things.
Jen
It also makes sense. Books do not explode when they go out of date. [Both laugh] If you go to the library and check out a book of how to make websites, they're going to tell you with a lot of passion and clarity exactly how to make a website like it's 2003...
Rachel
Yes! Exactly. If that's what you've learned from. Maybe you did some web design stuff in college, but you've had a break. There's a big gap. It all kind of looks the same. You look at some markup and you think, "That's familiar. I remember that." But things have moved on so massively.
Jen
Also, with the nature of the web, you could make a website today using 100% of the code from 2003 and it would run. It would run just fine. It doesn't break. That's the really cool thing about the web.
Rachel

So often we have people saying, "What's happened?" What they'll say is, Perch, our product, has removed all of the spacing between their paragraphs. I open up the site, look in the browser inspector, and they've got a reset stylesheet which is removing all the spacing between their paragraphs. [Both laugh] They've put it in there. We don't put it any code. We didn't put the CSS in. They've included something and don't know what it is. They don't know what it does.

That is happening a lot. People are taking bits and pieces from around the web. They're using things as a starting point. Those things, individually, are very good. People are putting them out there, on GitHub or whatever, assuming that everyone who would use it has the same level of knowledge as they do. Of course, they don't.

Jen

I feel like developers are notorious for that. When you spend a lot of time in open source worlds and people are creating these things and excited about them and made them in 3AM as a side project. Frequently, they don't have time. They don't have any energy left to do any sort of documentation. Even if they do a little bit of documentation, a little bit of, "This is what my tool is. This is what it does." They might be a brilliant coder. They might not be the greatest writer. It may not be explained very well.

Or maybe they are a great writer and did explain it very well. But frequently, it feels like the folks who have a ton of empathy and spend all their time putting themselves in other people's shoes and imagining what it's like to be that other person, are the designers. Especially the user experience designers. The job of being a developer is much more thinking about what the computers need, what the servers are going to want, what the devices are going to need. The idea of being able to imagine what it's like to be a very different human, that empathy kind of wears off. You aren't practicing that skills as much.

Rachel

It's very hard. I have to write a lot of documentation for Perch. It's incredibly difficult to write good documentation that's going to help someone who's an experienced developer right through to someone who can barely write HTML. Creating that documentation is an impossible task. I spend a lot of my time trying to do it. [Laughs]

For someone who's putting out open source projects, I feel for them. It is hard. It is really, really hard.

Jen
Frequently, they do. They're really excited. [So they end up acting like] "Look at me and my cool thing. If you don't understand it, that's your problem, because you're not smart." It can end up feeling like that when you're reading other people's documentation.
Rachel
Yes. I think even documentation where you've tried very hard not to write it like that, can come across like that. To someone who is feeling overwhelmed. I think it's good for all of us to fling ourselves into things that we're not very good at, now and again, to remember what it feels like to be that beginner. [Both laugh]
Jen
Nothing like Flexbox to help you feel that way. [Laughs]
Rachel

It is really good to throw yourself into some bit of the web that isn't what you normally do. Just see how you feel. [Both laugh]

You look at the documentation. You know in there, somewhere, is the thing that will fix your problem. But you've got no idea how to extract that information. I think a lot of people feel like that all the time. We, who are good at this stuff, forget that. You have to put yourself in that situation or remember what it's like.

Jen

Sometimes I've given advice to younger folks — I want to say "young folks" but they're not actually that young. They're just younger than me. [Both laugh]

I've talked to some people that were graduating and feeling like, "Now's the day I'm supposed to stop feeling that way. Now's the day I'm supposed to no longer feel like I'm an idiot." [Both laugh] "I'm graduating, I'm supposed to know what it is that I'm doing now. I remember giving advice at one point: That feeling that you really don't know what you're doing? You are not going to get to a place where you don't feel that way anymore. It's that you're going to get to a place where it doesn't bother you that you feel that way all the time. [Laughs] That it's now a badge of honor. Of course I feel that way, that's because I'm a web developer.

[Both laugh]

Rachel
It's the same I think in life. My daughter's turned 18 and I still wonder what on earth I'm doing as a parent. [Both laugh] I think you have to accept that, particularly with the web. Because it changes so quickly. You have to accept that there's going to be stuff you don't know. If someone calls you on it, accept it with good grace. Which could be hard. Especially when people are assuming you're an expert at everything. Sometimes people want to call you out a bit and say, "You don't know about this."
Jen
Right. But that's a different thing. That's because they want to one-up you or whatever.
Rachel
Yeah. I think generally, it's better to do it with good grace. "That's not something I've looked into. It's not something I know about." You can do that with confidence. Or say, "Is that something I should be looking at? Why should I be looking at that? What do you think is in that for my problem?" That turns it around and lets you learn something and lets that people have their soapbox about their thing that they care about.
Jen

I continuously wonder about what it is that we could... these people piecing together these different pieces from different eras, building code from all sorts of different places. There's nothing wrong with what they're doing. They're doing what we all did. It's just that when I did, there was only five or seven years. There were only two eras of, "This is the right way to do it to choose from," or one era, or the other one. Now there're seven eras.

I don't know what the answer is. I feel like this question comes up without anybody having any answer around, how do we fill in that gap of education? How do we provide people with a clearer path? How do we help new folks who are exactly the kinds of folks who would have done this kind of work had they been born 10, 15, 20 years earlier? Instead, they're coming along now and getting turned off or overwhelmed or feeling like, "That's not for me."

Rachel

I think it would be good to put more effort into it than we put into creating more new shiny things. What are the important things you should know? How do we help people become that confident person who can say, "Yes, there are things I don't know, but I understand the core of what I'm doing very well." These other things just sit on top of that. Whatever the latest thing is just sits on top of that.

Once you're in that place, it's not so scary anymore. You're able to learn new stuff because you're not scared of it anymore. Or scared of failing.

Jen
I've been thinking about doing a workshop around layouts. I do this one hour talk and I'm cramming a million things into an hour. I know not everybody in the room has the first clue about how to do float layouts. I have written this talk so that's ok. But I also know some people do know those things. There's a way in which I have to go so fast that it's like, I'm going to give everybody something, but we're all on a speed jet and we're bouncing on the waves.

But now as I think about a workshop, I'm thinking about how to do a deep dive. Let's really take some time to go into Flexbox. Let's really take some time to look at Grid Layout spec. Let's really look at the code for Shapes. Let's have you try an exercise and you're actually going to use Shapes right now. I would love to give that workshop, and also, have it be ok if you don't know CSS at all. Come two hours early and I will teach you how CSS works. [Laughs] We'll make sure you have a coding environment set up. Or maybe that's too extreme. Maybe the prerequisite will be that you have at at least know a little CSS. But I do think that most developers don't know how to write layout CSS. Most people wouldn't know to write a simple grid of objects on a page using floats.

Rachel
[01:33:49] Because people have become very reliant on frameworks. I have a CSS workshop I do which is the modern layout stuff. I've backfilled that with, "Here's how we currently do layout stuff." Because I've realized that people don't have the basis to actually understand the modern stuff. I can't say, "This is why Grid is going to be better than floats", if you don't know how to do floats. [Both laugh]
Jen
When we say most people don't know that, we don't just mean most humans. We mean most front-end developers. Most professional front-end developers that I know could not code a layout using floats by hand.
Rachel
Yeah. I think that's the problem. I think that's maybe something for people who are struggling with this stuff to take away. A lot of the professionals — people who you might think are all that — don't know a lot of this stuff. They're very reliant on the tools they're using.
Jen

Part of what happened with layouts and floats is because IE rendered the box model differently, it was very frustrating and buggy. You'd write this code and thought it worked and it didn't work and you didn't know why. There wasn't a lot of education, explaining to people about the different box models and how to handle that. It was like, "Well, you don't know what you're doing!" [Laughs]

That's when 960.gs came along. It was like, "I don't have time to dig into this. I don't want to get 50 tickets back from QA when they open this in Internet Explorer for the first time and the layout explodes. You know what's easier? It's easier to use this framework. Let's use the 960 grid system. Then we tripped and fell into a hole and we've been using the 960 grid system for eight years without looking up. Now it seems like everyone's like, "Let's not use that, let's use Bootstrap." These new ones require even less skill on the part of the people making the website. "You don't even need to design your website, it's already 'designed for you'. Just use this framework."

Which, to me, feels like the wrong way. That's going in the wrong direction. When a tool takes over something that humans should be doing. I would rather see us learn floats, learn all these new layout techniques and use them to make some really creative, new shapes on the page and new layouts.

I guess all of that is just to say, it feels like now more than the ever is a time to not make assumptions about what people know and to go back and fill in some of those basics. Not just basics. Just make sure people have all the foundational skills and not focus exclusively on the new stuff.

Rachel
[01:36:48] I'd love to see more conferences giving time to that stuff, as well as asking people to come and do all the new shiny. I do a talk about selectors. Which always down really, really well, with people saying, "Wow, I never knew!" Basically, the level 3 selectors. You think, "Everyone must know about how to use nth child." People are like, "Magic!" [Both laugh] They've never heard of something so baffling. You realize that there's lots of people who are building for the web who haven't encountered this stuff yet. It's really important that conference organizers do put on that stuff. You think, "Who wants to talk about selectors? Everyone knows about selectors?" It turns out, they don't. That might be incredibly valuable to someone going to a conference. To get a real good understanding of selectors.
Jen
I've stood in front of a room to give a workshop and I'm like, "We'll just look at this," and go Inspect Element. And people are like, "Wait! Wait! What did you just do???" I'm like, "Uh, I used Firebug." They're like, "What is that? Fire what?" I'm like, "Firebug. You don't have Firebug installed? Everybody, stop what you're doing and install Firebug."
Rachel
Exactly. We get that in support. We assume other people understand things like the fact that what they're seeing in that inspector is the DOM. It's not what they would see if they viewed source. It's not what is being rendered to the browser in the first place. There's not that understanding. These core understandings seem a bit boring, if you're trying to build an all-singing, all-dancing website. But knowing them gives you that ability to switch between the new stuff, because you know the core skills are there.
Jen

I also wonder, in some of these companies who hire folks, if they are making an effort to provide teaching and training. In some ways, if we think about industries that existed before the web, that's how it worked. If you went and worked for a book publishing company, in the shop where they printed the books, you go and work in the print house, you didn't know how to run a printing press. [Laughs] You were 25. When would you have ever learned how to run a printing press? You would watch the guy who had 40 years experience running the printing press. You would organize the stacks of paper and help him. After six months, they'd let you do this one thing. After another three months, they'd let you do this other thing. You'd learn to trim paper before they'd let you touch the ink. [Rachel laughs] You'd learn the process over years.

It feels like that's what we need. I would love for schools to be better. That may or may not ever happen. Being able to have more of an apprenticeship model, where the focus is not on "get these tickets done" but on, let's have a code review. Let's have someone who looks at the architecture of the system. The senior person making those decisions about which tools to make. Not the junior folks. Not have it be an endless debate, where you make a different decision every six months. Someone who has wisdom and experience making these decisions. Then make sure everybody knows how to write a layout with CSS floats. Make sure everyone knows how to use fewer selectors and not create spaghetti code in their CSS. Make sure some people know how to write quality JavaScript that's going to perform well. We don't have to worry so much about which browser is going to render the JavaScript faster. Which framework is a fraction of a second faster than the other framework. The number one impact on whether or not your JavaScript is going to run fast is if it's written well or not. [Laughs]

Rachel

Back to these everyday designers, how can we make that apprenticeship model for people who work alone? How can we create that for people who don't have a senior developer to look up to? How can we create resources that give that to people who are looking? They're good at what they do. It's easy to put this side of the industry aside and say, "They're just doing small things, it doesn't matter so much." It does matter, because it's people's livelihoods and it's websites and it's the businesses they serve. All of that matters.

How do we make sure they can have that kind of apprenticeship as they become better developers? They can build their businesses up. They can get better clients and have more time to learn and give back to the industry. It's only when people have spare time outside of making ends meet that they're able to give back and teach other people and write things.

Jen
Thanks for coming on the show and talking about all of this.
Rachel
I'm not sure we came up with any conclusions but we talked about it a bit. [Laughs]
Jen

I do think these are the kinds of real world things that people struggle with. Choices to make at work, choices to make in their own personal careers, choices to make in running their own businesses.

Hopefully, people who are planning conferences are able to think about this as well.

Rachel
Yeah. I hope it's a discussion that can carry on and people do want to chip in with their own experiences rather than just think, "People aren't talking about me or to me. It's a different side of things that's being discussed." It'd be nice to near from more people from all over the web.
Jen
I think, as we get into these super narrow, super nerdy discussions, we have to keep saying out loud to each other, "not everybody is like you". This is a global, international medium. It's called the World Wide Web for a reason. [Laughs] It's not all about Silicon Valley.
Rachel
Yeah, yeah.
Jen
What should people know about you? They can follow you on Twitter.
Rachel
Yup. I'm @rachelandrew on Twitter and all my stuff is at rachelandrew.co.uk. I write about the web and tech and random stuff. My product is Perch, grabaperch.com. I've recently launched a new newsletter which I'm going to do weekly, which is csslayout.news. I'm going to do a bit of a roundup on interesting new stuff and good resources for learning how to do layout. I'm going to try to balance the new shiny with things that I think are really good ways to learn the new stuff and older stuff as well.
Jen
Nice. Of course, people can go to thewebahead.net and see your bio and find all the links that you just mentioned. Go to thewebahead.net/104 for the show notes for this show, where we'll put all sorts of links, whatever we think is appropriate. See the calendar! I've got a bunch of people booked. It's August, but for some reason it feels like fall is eminent.
Rachel
It's all those conference emails. [Both laugh]
Jen

It's all the airline tickets I've bought in the last couple of weeks. The Web Ahead has already been infected with that kind of back-to-school energy, even though it's a little early. There will be another show next week and another one after that. Yay us!

I meant to do this at the beginning of the show but I'll do it for the diehard fans who've listened all the way to the very end. It would be a huge help if you could go to iTunes and review the show. Rate the show, give us five stars, write a little review. I read every review and they actually mean quite a lot to me. They will help get the show back into the store. This is why taking a break is stupid. Any time I take a break, the show falls in the store rankings. It starts to go down because it hasn't been updated recently. Reviews will help to get it back up in the store. Which matters. It matters because it helps with the funding of the show. I want people to hear about the show. I want people to listen to the show. You can help us out by helping other people find the show by writing a review.

Until next time, go write some great code! [Laughs] Or design! Or make business decisions! Thanks for listening.

Show Notes