[applause]

Thanks, guys. I really like that slide. It gets worse from here, but you know, whatever. That's my internet name — it’s quite small — and that's where you can send abuse to me.

Sometime last year, the middle of last year, I quit my job at a local startup which I'm not going to mention. That's [photo of drab, beige cubicles] not quite what it looked like, but you know, kind of looking back, it kind of feels like it. So I quit my job, because jobs suck, and I became a freelancer. This is an artist's impression of me right now. [grizzly dude on a motorcycle doing a wheelie in a lightning storm] [laughter] It’s kind of like that.

I actually bought a motorbike; didn’t match up to the picture; there's not lightning or anything. [BEGIN "UNICORN" RANT] But anyway, so as is really common, when I meet humans in real life, they say to me things like, "What do you do?" because that's a pleasantry. And I'll say something like, "I started as a designer, but now I do a mix of design and front end and back end and product strategy, and I tweet quite a lot."

If they don't work in tech, they'll smile politely and then they'll, you know, kind of just go and speak to someone else more interesting. And if they do work in tech, they'll say something like, "Oh, so you're a unicorn, then." And I'll be like, "Really, the fucking unicorn? Like, ugh, really?" It’s getting to be a common term. And I feel like people hate this word enough, but I just want to spend a minute dwelling on why it really gets me worked up. I feel really bad standing on a stage in front of hundreds of people talking about why I don't like this dude. [picture of a unicorn vomiting a rainbow]

"Unicorn", to me, this word is exclusionary. It’s like this kind of snide attempt to mock people with multidisciplinary skills, and makes them seem kind of unattainable, makes them seem ridiculous, makes it seem like anyone who can, "Oh my God, design and do Ruby," is like some crazy charlatan. Oh man, fuck unicorns.

I've got a quote here. There's a couple of quotes. I hate doing that thing when the guy on stage reads off the screen, but I need to do that.

"If you're looking for a designer who can come up with your identity, design your site, create UIs, create user experience," blah blah blah, "then code their work in HTML, CSS and maybe JavaScript, you're hunting unicorns." And this is by a guy who I've got a huge amount of respect for, a good friend of mine, called Sacha Greif. Which is kind of word because he's like the best designer I know, and also an incredible programmer.

Whatever. Anyway, more people, more people don't like this thing, more people like create this hostile culture. Chris Dixon — he's some VC dude: "Designgineer: A mythical person startups are looking for who can do," what is it? "UI and UX, and also excellent front end and back end coding." Or this dude — it’s a bit of a longer quote:

"I was speaking to an entrepreneur the other day when he mentioned he was looking for a creative director with UX skills — 'someone whose aesthetic I really like.' I responded, "Good luck. Having recently completed a yearlong search for such a person, I'd resigned myself to believe that this person was in fact a unicorn: This person may exist, someone may have seen one once, but in most cases they're simply fantastical stories of designers long employed elsewhere."

Some guy who can do creative directing and UX: crazy mix of skills there, whoa. Can it, Jeff [Gothelf], getting crazy. [/sarcasm]

Notice how they're different: All these guys — and there's hundreds of more people who made opinions on the internet about how unicorns are this or unicorns are that — turns out they're not actually a skillset; it’s just a bunch of people who are a little bit bitter being like, "Oh, you can't do that. Someone else can't do that." Jeff's definition is "visual design and UX"; Sacha's is "design, UX, HTML, CSS," and Chris, he adds "back-end skills" to that.

It just kind of feels like people don't really know what they believe in. People are like, "Oh, I can't do those skills, so there's a difference, so I'm going to write some swears on the internet about how people should not learn to do that." I don't like it when people tell me what not to do.

When you're freelance, unemployed, whatever I am, when you're looking for work, you still have to kind of pitch yourself in some way. So I've basically been sitting at home for six months, like thinking about what to call myself, 'cause that's kind of important. You look at kind of the day-to-day job titles that you throw around.

So in the most simplistic terms, I do "design and code." This is for me personally. Or you can split it up another level, like, "I do design and front end and back end," or you're like, "I do UX and IA and visual design," or you go a bit crazy — like this is when you're taking to a recruiter and you're doing like, "You know, I do all of these things." It gets funny at the bottom.

[slide] User experience & Information Architecture & Visual Design & Interaction Design & Markup & Stylesheets & Markup & Stylesheets & Swooshy bits of gross, scroll-jacking JavaScript that you should never do & API Creation & Business Object Modeling & Sysadmin & Crying yourself to sleep because a client ignored your invoice.

How far do you need to break these things up? How far do you need to kind of validate all the little tiny bits. "Oh yeah, I did PHP once six years ago." Never again. This is a representation of my skillset; extrapolate for yourself. It just seems like there are so many different bits that go together to make up the jobs we do right now.

[slide] I make a whole bunch of INTERNET.

It looks like it’s an increasing trend. I don't know. Job titles are increasingly divergent. Some people want front end engineers, some people want front end developers. Some people think that developers and engineers and programmers are different things. What the fuck?

But the jobs we're doing seem to be more convergent. Designers are doing sysadmin; developers are tweaking in typography — that's a good thing, by the way.

I am a big fan of these broad, general terms, apart from the one at the front — [slide] Unicorn, Generalist, Devigner, Designgineer — I mean generally. The problem is that the terms suck. Imagine like, I don't know, you're at your uncle's house for Christmas dinner, and he's like, "Oh, so what do you do now?" And you're like, "Oh, I'm a designgineer," or, "I'm a unicorn." I don't want to tell my mum that I'm a unicorn; it'd be kinda weird. She'd be like, "I knew he went off the rails when he was a teenager, but I thought he recovered."

Yeah, no. [slide: crosses out the other words and adds "Internet Maker"] You know, I make a bunch of internet; whatever. Maybe it’s just like my friends and the people that I've been lucky enough to work with, but it seems like all of my favorite designers — like my favorite programmers these days, all of my favorite programmers and my favorite designers, and the people in London, the people I look up to overseas, it seems like everyone's doing this kind of cool mix of different skills.

But we just have to be called unicorns, whatever. Yet some people have this weird vested interest in making it feel like that it’s weird, like it’s something we should be ashamed of, like you're a fraud for having, for claiming, feigning skills in two different areas. Let's look back at why this is. Actually, I say two different areas, but that's another problem in itself:

Back in the day — like let's get crazy, 10, 15, 20 years ago — web servers were written in C++ and Mac apps were written in Pascal, and you needed to have a degree in Photoshop to make a button or make like a dropdown menu or something like that. It was a huge leap to assume that people could have broad skillsets. Like, I reckon no one has Photoshop and can also compile Pascal; it’s probably not a thing.

But it seems pretty dogmatic to assume that's still the case. Even if it was once the case, it isn't really anymore. So there are just these kind of like ancient lines in the sand, kind of like [unintelligible], these kind of things that people are like, "Yeah, this is the line in the sand, and this line can never change." Super weird.

It seems weird to me that people are like, "Oh, you're a front end developer," just because you have Sublime Text open, whereas someone else is a designer just because they're doing exactly the same fucking thing in Sketch. That's weird.

But we've been bulldozing these job titles for a while, so it’s fine if we keep doing it. Going back historically, I've got a graphic design background, I guess, so let's take that as a story, because why not?: [unintelligible]

In the beginning, there were scribes and bookbinders. So some dude would like sit there and just write out a book for forever. And then Gutenberg came along and made this super-rad printing press, and then there were no scribes anymore. [There's like five]. So the printing press replaced scribes, and then over a whole bunch of centuries, the printing press got replaced with typesetting, and then linotype.

All these different things basically resulted in, I don't know, the mid-20th century you had typesetters, copiers, pasters, artworkers, airbrushers, whole bunch of other people, which then we replaced in 1984 with "designer."

This stuff keeps happening. It’s going to go further. There's some incredible stuff being done in design right now, not by some dude sitting there in Photoshop, but by people like Flipboard and The Grid, using machine learning to create incredibly smart AI design algorithms. This is where the really exciting stuff is. There's not going to be someone sitting there with Photoshop soon, which is cool. More jobs are going to get bulldozed — sweet.

[slide: clip from Terminator or Terminator 2 of the machines scorching the earth] That sounds really bad, doesn’t it? Over the next couple of years, AI is just going to make this stuff so exciting, that either you see this as like a massive existential threat or you see it as an inevitability, and you just take it as a motivation for just keeping learning, and just keep like refreshing your skill set.

And let's go back to some code, sweet. What about on the web? It used to be super difficult to build websites. Like back when everyone made websites in C++ and Perl and stuff, and everyone cried, and then the jobs were so difficult to do that, in the dot-com era, you had — how many people did Webvan have? They had like 7,000 million people like making like a CRUD website, right? 'Cause it was super difficult. It used to be super difficult to do these things.

Over the years, these things become easier. We turned IT departments into the cloud, and we basically replaced sysadmins with "git push heroku master" — that was cool. The past decade has been like really cool for people who like doing multidisciplinary things.

Ruby on Rails has made it super easy for anyone to dive into building the crazy MVP that they have in their website. It’s made it going from needing a room of people to write your website in [unintelligible] to having something you can pick up over the weekend. It might not be great, and some people might mind about object allocation, but generally things have become easier — it’s great.

Recently, I'm super, super into Meteor. When you see MeteorJS, you're like, "Why did I ever waste all my time doing stuff in Rails in a week when I could do it in like 20 minutes on the bus?" It’s just great. You just don't need to spend all this time anymore. I'm super lazy, I'm not complaining.

And like developer tools as well. I'm going to take Bootstrap as an example. Designers are always like, "Oh, like it’s so bad that Bootstrap is on the internet," and that's bullshit as well, because it’s just made it possible for anyone, no matter how little they give a shit about design, to instantly become like, you know, like pretty decent at design, and you can tweak from that, you can learn from that. It’s a really good baseline.

I'm super psyched about Bootstrap; people give it too much flak — it’s a great learning tool. HTML, CSS, right? 10, 15 years ago, no designers wrote HTML and CSS because it was really fucking difficult to get stuff to look good. Like all the browsers were like really really different, really difficult. To get web fonts or to use anything other than like Verdana and Georgia, you had to figure out how to use sIFR and cufón, which are basically the hardest things ever.

But you know, HTML and CSS, they're just really easy to use. Any non-technical person on the team can learn them. It’s great. It helps them, it frees up our time, and it makes it more likely that our businesses will succeed.

I think it’s totally possible for anyone to be a designer and anyone to be a developer. So it’s weird when people get into these crazy kind of tribe, gang mentality subcultural things. They form tribes in the office, and people lock each other in silos. They put the UX team in one building and the back end team in another building, and then the front end development office is like in a different continent, and that sucks a bunch.

You know, are you ever in a meeting — assuming most of you are developers — you're in a meeting, there's that UX guy sitting in the corner, and you're like, "Oh, let me try something on that wireframe," you pick up the Sharpie and you go over to the wireframe or the Post-it notes or whatever, and they're like, "No, only I do the wireframes around here?"

That sucks. Why? Why is that just their job? Just because they went to UX school. It’s total bullshit. [slide: Gollum]

We're at Hacker News meetup, but Hacker News on the internet, the comment threads, they're all people just constantly, constantly trying to be like, "Oh, I've got more experience in this thing than this person, so I'm a better person than this, and they shouldn’t talk about what they're talking about," and stuff. Same as the UX guy. Anyway.

People trying to validate their opinions over other people and their experiences. [slide: Ermagherd, dey turk err jerbsss (South Park)] And people do it because they're insecure. They do it because, oh, I don't know, the jobs are getting easier, and they're basically going to become redundant, so that would suck. It’s a human reaction, but it kind of makes you a bit of an asshole.

Anyway, a bunch of baggage from the past that we want to shed so we can become super cool generalists in the future.

I'm actually going to go back in the past now and see if there are any lessons I can shoehorn into analogies and make this a... talk. [laughter]

In 1919 in Germany, we've got the Bauhaus, which is a seminal art and design school, turn of century in Germany. They did a bunch of typography and architecture and sculpture. They were just basically pioneering in absolutely everything, and super cool. And I was reading a book about the main dude, Walter Gropius, and there's this quote that I really really like, and if you squint, it’s still really relevant 100 years later:

He says, "The Bauhaus strives to combine all the arts — sculpture, painting, applied and visual art — as inseparable components of a new architecture." And at first I was like, "Oh, well, I don't really do painting and I don't do applied art." I don't even know what applied art is.

And then I kept looking at it because there was something about it that stuck out, and I realized if you kind of cross bits out of it and you squint a little bit, and you replace it with whatever arbitrary buzzwords you feel like describing yourself as, it kind of still makes sense.

[slide] "We strive to combine all the arts — design, code and product thinking — as the inseparable components of a new architecture."

When I think about the relevancy of being able to code, to be a good designer right now, it still kind of fits together. So I really like this quote. [reads revised quote]

I think the way that we build products now, it’s impossible to be a designer without considering the technical rationale behind what you're doing, without considering the implications of all the different things.

So I like this. [slide: "Inseparable Components of a New Architecture"] A couple more analogies, because I've got them:

If we go to Holland in the early 1970s, we've got Ajax — not AJAX, not like JavaScript and that stuff, but the Dutch football team. The main lesson we can learn from these guys that I want you all to apply to your day-to-day work as programmers, is that you just look better with long hair. [laughter] It just always makes you look cool.

But also, in the early '70s they had this style of football, their tactics were called Total Football, and this was a theory that every player, apart from the goalie, should be able to exchange roles. So some dude would be running up the pitch, and then some other person would go to take his place. I've tried to show videos of it on projectors before, but it never works.

But essentially, you can kind of see it on this [slide of soccer diagrams]. It’s really cool, kind of fluid, kind of biological system, where one person would move, someone else would replace them, and you'd create this — it’s almost like being in motion as an organism. It’s really really cool.

I've also worked in product teams like this. The startup I last worked at, we were all generalists. Everyone did design through to Rails, and it’s really cool having that fluidity in the work.

The system went really nicely for Ajax, and they won a bunch of championships. It was used by the Dutch National Football Team, where they went all the way to the World Cup Final before being beaten by West Germany, which, as a British person I know exactly what that feels like.

And Germany had better hair and mustaches than Holland, so they deserved the trophy. [laughter] But aside from that inevitable beat by the Germans, I think it’s a cool idea that I'd like to take into my work.

Staying in Holland, staying in Amsterdam, my favorite graphic design studio, these guys, Experimental Jet Set, they have a print design studio, one of my favorites. They grew up in the Holland that was dominated by Total Football. It was as much a part of their culture as, I don't know, David Beckham is to us — ugh. That kind of thing.

That notion is very clear in how they run their studio. It’s three of them, and in this interview they were talking about it, they said, "Our idea is to stay away from fixed roles. Our intention is that the work is divided equally, and that each of us have the same set of abilities." This is really cool, it’s a cool ethos. This is where I got the Total Football analogy from.

It’s pretty cool that they think that, and they're a much smaller studio. They're just working in print design rather than web, rather than products. But this is pretty cool.

It is really interesting to see how we can take these ideas from people who apply them to a three-person print design studio, and how we can move that into people making super quick MVPs, digital products, startups, whatever.

We've got these takeaways: [slide: 1. Inseparable components, 2. equal skillsets, 3. mustache emoji, thumbs up] Consider every single thing a component, a part of every other thing. You can't take away digital literacy and expect designers to make good systems. You can't take away [audio cuts out] design principles and expect people to make good systems. They're all inseparable components, I think. And mustache emoji, cool.

In real life, I guess I've just got some caveats and stuff, especially when doing it to a more technical audience. I've done this talk once before, and it was all designers, and I'm like, "Yeah, you should definitely go and learn code," and I 100% believe that. But there are definitely caveats:

I think it doesn’t apply to every product in the entire world. Obviously, if you're doing some crazy low-level processing, then stick out of Photoshop, make sure the planes stay in the sky, or something like that. But generally, I think you get better from knowing the jobs that people do on your team. And it’s not about designers should learn to code or developers should learn to design, because that's kind of a played out argument, and it’s also kind of dogmatic.

Because if I was like, "I think that every designer right now in 2015 should know how to code HTML and CSS, and everyone should learn how to do MeteorJS," that's just kind of another form of dogma; that's as bad as it was before; it’s just my dogma. Which I prefer, but it’s just another meme for people to follow into the future.

We don't want to create new silos for some other guy to stand on stage in another two years and be like, "Oh, that Jon guy, he's a bit of an idiot." [slide: clip of a grain silo sliding into the ground] It’s not about that. It’s realizing why these current systems suck quite a lot. Love that GIF.

Anyway, a couple more points to wrap up with, because... more points. A bunch of people are like, "Oh, you can only learn so much stuff, and if you learn any more stuff, then," you know, like learning's zero sum. It’s clearly not. You can just learn more stuff.

Learning one thing doesn’t make you forget another thing. Years of mastering Lisp won't vanish because you learn about typography. You don't have to delete emacs to install Sketch. So that's cool.

Learning makes you a better collaborator. No matter what you do, learning about what other people do, people on your team, is only going to be a positive. You know, like when you're in a meeting with "businesspeople" and they don't really get tech, like that guy [slide] [laughter], it’s really frustrating, isn't it, when they're like, "Oh yeah, the techies over there," or like if you're in an ad agency and you're a designer, "Oh, the creatives over there."

Understand what I do. It really sucks when people don't understand what you do, and then try and... They're not very good to collaborate with. I don't want to be that person, either. So let's learn more about what designers and developers and marketers and stuff do.

Curiosity is a key, key part of the hacker ethos as well. I think that's what being a hacker's about — finding the things you don't know and then learning some things that no one else knows, and then applying that to what everyone else knows, and you come up with these crazy combinations. That is what hacking is.

I'm scared of losing that and turning into some grumpy old guy stuck in his ways, and afraid of the future, afraid of new things. That's enough, David Cameron. [slide]

The other thing is that I feel like knowing a whole bunch of stuff, a bunch of disparate disciplines, opens you up to methods of thinking and modes of consciousness that other people don't have. Even if you have a designer and a developer in the room, I think by internalizing a bunch of that, you have tighter feedback loops, and you're also more than the sum of their parts, if that makes sense.

There are a bunch of things you can do that you just never get if people didn’t understand what each other did.

I'm a self-taught developer. A bunch of the people I know who are developers are self-taught; we didn’t do computer science degrees. So this really scared me for a long time [slide: "Algorithms" book from Princeton], and I've been doing this Princeton algorithms course on the internet recently, because I want to be smart, and I've been kind of thinking about this course.

It’s really really — it turns out computer science is really much more difficult than building a site in Rails. Who knew? So I've been doing this online and I've just been thinking, "Oh, dude, I'm really spreading myself too thin. I just don't need to know what a big N thingybob is."

So I was having a bit of an existential crisis work, because I spent my entire week on Coursera. It’s pretty dense. And then I stumbled across this stuff. [slide: bost.ocks.org/mike/algorithms/] Everyone knows D3? The JavaScript data visualization thingybob. Mike Bostock, the guy who did that, he's a great example of someone with a really in-depth visual understanding of the world. What he does is he creates data visualization frameworks, but obviously he also understands about...

What is this? It’s like a quick bubble sort/merge/find a thing. I might really quickly try and show it. Yeah. This is really sweet, actually. [scrolling through the site] So he's come up with all these visualizations of different algorithms that, for someone who learns visually, you'd just never be able to get that from a really dry textbook.

This is a sorting algorithm. It’s so great, it’s really great. I'll do one more. These are some maze-finding doodads. I think that's the technical term. They do this, and again [animation of the algorithm finding its way through a complex maze], from sitting there in a textbook, you're like, "Okay, I don't understand that."

A couple people have done visualizations like this. If you take color, you can understand the spread of different trees — this is showing breadth first versus a different algorithm that I just don't know enough about to really make an informed statement. But you can go and read this — I'll put the link in the meetup group or something.

But it’s stuff like this — this is just completely crazy, and this is something that you'd basically never get unless you were a designer/developer with a really rich understanding of design, and also understanding algorithms and stuff. So that kind of validated my point before I just deleted my whole talk.

And I think that's super inspirational. I think there are definitely — an example of something that could just never spring about, because you say to a designer, "Can you just visualize a bubble/sort/merge thing?" And they'd be like, "No, because I don't know," and I still don't know what you mean. They'd be like, "I've got no idea what you're talking about."

So there are definitely things out there that can only come about because of this cross-disciplinary approach. I'm just really excited to see what happens in the future, as hopefully more designers can code, more designers get into doing crazy stuff with machine learning, all of that. I'm going to leave it there because I just want to see the rest of the talks, then get home and keep coding, I guess.

Thanks. [applause]

[inaudible question]

The question was where the failings are — whether it’s stereotypes of, "This is what designers should do, this is what developers should do," or whether it’s a learning thing. I think it’s a bit of both. There are definitely those attitudes, but I think we can see that those attitudes are going away. More designers aren't afraid of code; more developers are willing to give designers commit access and vice versa.

At the same time, yeah, learning tools just used to be — it used to be really hard to learn how to code, and it used to be really dense and inaccessible to learn how to design as well. You used to have to go and get a Bachelor's in graphic design to do that. The tools are getting better, the tools are getting easier. I think that's why so many designers can code now, because it’s just more accessible than it used to be.

[applause]