The Changelog: Software Development, Open Source - Front-end Developer Interview Questions (Interview)

Episode Date: February 21, 2015

Darcy Clarke joined the show to talk about his repo on the HTML5 Boilerplate org on GitHub "Front-end Developer Interview Questions". We discussed why the repo has been so successful, the challenges o...f translating a text document into multiple languages, managing contributions, the art of interviewing, how the expectations of front-end developers have evolved over time, and how to stay relevant in our fast moving industry.

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome back everyone. This is the change log and I'm your host Adams to Kovac. This is episode 143 and on today's show, Jared and I talk to Darcy Clark. He is the creator and maintainer of Front End Developer Interview Questions, the second most popular repository in the H5BP organization there on GitHub. That's the HTML5 Bulletplate organization, and it's second to only the HTML5 Bulletplate itself with 14,145 stars. Great show line-up for you today. Talking to Darcy Clark. We've got some awesome sponsors for this show.
Starting point is 00:00:47 CodeShip, TopTile, and CodeSchool. We'll tell you a bit more about TopTile and CodeSchool later in the show. But our friends at CodeShip, they're all about continuous delivery made simple. That's what they do every day. They help you set up continuous integration for your app in just a few steps, and they make sure that you deploy tested code when all your tests pass. CodeShip is based on usability, so everything is designed to be as easy to use as possible. And in fact, CodeShip recently listed the feedback from their user base and redesigned
Starting point is 00:01:21 the entire application to include new usability improvements and made it even easier to use. They've got great support for lots of languages and test frameworks. They integrate with GitHub and Bitbucket. You can deploy to cloud services like Heroku and AWS. And you can get started today by trying out their free plan, which includes 100 builds a month and five private projects. When it's time to upgrade, you can use our offer code, TheChangeLawPodcast, to get 20% off any plane you choose for three months.
Starting point is 00:01:49 Again, that code is TheChangeLogPodcast to get 20% off any plane you choose for three months. Head to Codeship.com slash TheChangeLog to get started. And now, on to the show. Everybody, we're back. got darcy clark here darcy hails from the good old city of toronto in the province ontario now darcy i happen to have lived in toronto at one point i didn't tell you that yet so i used to be a torontonian at one point no way that's crazy is that what they're called? Torontonians?
Starting point is 00:02:30 If you're from that area and you call it Toronto, you're wrong. It's Toronto. Toronto. Right? Very distinctive lack of a T there. Yeah. I used to live in Markham. I had an apartment in Markham for a bit there, and I worked in Mississauga.
Starting point is 00:02:46 Wow. Yeah, I actually lived in Markham, too. That's crazy. Yeah yeah that's back in the day though. So as you can see everybody we got myself here, Jared's here, Darcy's here and we're going to talk about a couple projects Darcy's got going on but Darcy before we kick off let's let's introduce yourself. So who are you? So I'm Darcy Clark, front-end developer based in Toronto. And I've been doing development, design, some UX and consulting and speaking, a whole bunch of things for a number of years now. And yeah, I love open source projects and contributing to the community and sort of giving back in that way. And so, yeah, I've just essentially been doing this for a long time and I'm now here talking to you guys about some projects. So, yeah, that's a little bit about me. Yeah.
Starting point is 00:03:37 So we caught up with Darcy because on our fabulous radar and actually in weekly, we're going to ship weekly tomorrow, but this is recorded in the future, and you'll hear it in the past. So it's kind of weird to tell you when it'll come out. But long story short, we found on the HTML5 boilerplates organization on GitHub a repo called Frontend Developer Interview Questions. So we thought that was super awesome. It's a list of helpful questions for frontend people that are interviewing potential candidates and maybe even testing yourself. Or, you know, if you're a front-ender out there and you're thinking like, well, I can probably answer some of these questions or I can't at least gives you some way points of what you do and may not know. So we thought this would be a
Starting point is 00:04:16 great time to either have this conversation ourselves, me and Jared, or invite you on if you can come on and luck be the draw. We've got you on the show because here you are. Yeah, it's got a quick turnaround, that's for sure. Looks like we're not the only ones that think this is a pretty cool repo. This is highly popular. 14,000 stars, 2,100 forks, 119 contributors. This is a pretty popular project. How did you get involved in it?
Starting point is 00:04:43 So I actually kicked it off back in early 2012, I think. I was being asked by a lot of my friends to help prep them for interviews. Specifically, my friend Wes Boss was going to interview at Google and he was looking for some help as far as resources that would give him some insight into what they might be looking for. And I had gone through, I'd been around for a long time, even at that point. And I've been through my own, my share of interviews and technical interviews. So I was helping him and I think two or three other friends sort of prep for interviews. And so I got a list of questions that I sort of was giving to each one of them. And at the same time, my friend Paul Irish actually started another conversation with
Starting point is 00:05:33 some community folks like Alex Sexton, Adam Sontag, Mike Taylor, and they put together a document that wasn't made public. It was sort of just sort of like a scratch pad of interview questions that they also thought could be helpful. And I think they were using it sort of in the private. So I initially sort of reached out, saw that, cleaned it up a bit. And actually three years, as of Monday, three years ago, I posted a blog post with that document. And that's sort of how everything got kicked off. So wow. Three years. That's that's crazy. So when you first started it, I went back in time and saw your commit was the very first. So obviously, you're the starter of it. But what was it like back when you first started the repo itself? Like what kind of
Starting point is 00:06:20 questions were there? There's several now, but uh what were you skimming across at that time uh so there was a whole bunch of um it's kind of like a conglomerate like everybody just had put together their thoughts on what they kind of thought would be interesting and you can actually see the original version um if you go to my my blog darcyclark.me um and you search around you can actually find the original blog post. And that actually has the original form of that question. I called it a questionnaire at that point. And a lot of people took it literally like they were going to have to answer every single one of these questions in an interview, which was not the case. This was supposed to be just a resource.
Starting point is 00:07:03 But, yeah, there was a number of different things in there. Originally, we even had some answers answers there were a lot more jokes it was kind of more funny some of the contributions from some of the other guys had put in some some extra things like i think people were saying like bonus points for things um so it was a little bit more light hearted um but at the same time it was also a lot more rough around the edges, which wasn't necessarily a good thing. You said Wes Boss, this sort of keyed around the time whenever he posted a blog post about what he learned interviewing with Google. And this is sort of, was it something you were working with him on or paint that picture for us? He had just reached out to me. We're really good friends.
Starting point is 00:07:49 And so he had just reached out to me and asked me to sort of give him some resources or some tips and sort of try to do like almost like a fake interview with him. So he was just trying to prepare himself for that Google interview, which he later wrote a blog post about his experience going through that. And there was a few other people that had asked me to try to give them, you know, advice or give them, you know, prep questions that I would ask. And then I had actually asked other interviewees that I had had come across in my in my time as a as more of like a manager at digital agencies that I had been at so that was sort of like where my my head was at and there really wasn't anything like this any resource that sort of you know basically combined everything that you kind of should know or you should be prepared for going into sort of a job interview for a front-end developer position.
Starting point is 00:08:45 So, yeah, that's sort of where it was at. And that was kind of my take on it too was like it's not so much only for the interviewee. It's also for the – sorry, the interviewer. It's also for the interviewee because it's sort of this hit list of what you may or may not be asked for one or preparatory to get to a point where you could be interviewed using something like this. And just sort of find out almost like waypoints, figure out what you do and don't know well enough to go into a front-end developer position or at what degree you're ready for a senior position, a junior position, a junior position, you know, or a green position, for example. Yeah, it's definitely it's sort of a catch all like it definitely covers the audience that it covers is probably like threefold. Somebody in a more technical or senior level position that's actually interviewing somebody. And again, like you say, somebody that's going to be interviewed, who's trying to prep or even somebody. And again, like you say, somebody that's going to be interviewed, who's trying to prep,
Starting point is 00:09:46 or even somebody I've, I know a lot of people that are going through boot camps that are using this also to try to train themselves to get ready just to get into the industry, try to see, sort of get a pulse of what's expected of them once they get out there. Now, not all of these questions are, as you say, they're sort of tiered. Although there isn't a tier system in the actual document, you're definitely not expected to know everything that's in that list, you know, if you're a junior developer. But I think it's really good, a good resource for people to go and see what they maybe should be researching or learning a little bit more.
Starting point is 00:10:30 And I think it just asks the right questions, essentially, to kind of make a half pun. But yeah. I'm reading through some of these and I'm a web developer myself, both front end and back end. And I've been around the block a few times and there's definitely ones in here where I'm like, man, I know what that is, but how to uh articulate that in a way that would be impressive you know like that's not going to immediately come to me so there's definitely some good questions in here i kind of have a thought about front-end developer in general like the term the role um the changing landscape that we find ourselves in because Because when this project started,
Starting point is 00:11:06 I think the idea of a front-end developer is probably maybe not dramatically different than where it's at today, but at least it's slid from one side to the other. Have the questions needed to change to keep up with the fluidity of the position? Yeah, 100%. We definitely made it a lot more objective.
Starting point is 00:11:28 We got rid of any kind of answers that were in there. There's definitely a focus more. We had, up until a few weeks ago, I think we still had questions that were specific to jQuery. And we didn't think, sort of as an organization and the people that are helping to maintain this project now, we don't think it's a good idea to essentially point out one library over another. Essentially, we would get into a position where we'd be fraught with just the abundance of different frameworks that we have to sort of support and say, oh, these are the questions for Angular and these are the questions for Ember and things like that.
Starting point is 00:12:09 So we try to get more library agnostic and framework agnostic. So it's definitely matured. The document's definitely matured and the questions have matured. And you can definitely see that it's more focused to concepts more or it's trying to be more focused on concepts. And I think the goal here is to try to always have a question be more open ended, so that it can be sort of left up to interpretation a little bit. And that, you know, the interviewee or the person on the other end can sort of get a chance to talk a little bit
Starting point is 00:12:46 and hopefully it starts a discussion if that's what they're using this document for, which is to actually interview someone. Hopefully it starts a discussion between the two people in that room or on a phone call or wherever they are. Yeah, I think it's wise to remove implementation details as much as you can, obviously, when you get to the JavaScript questions. We're going to use JavaScript. Whereas probably back when you started with it, it was probably pretty safe to assume, well, it's just going to be jQuery-oriented questions because that was such a dominant tool at the time. And the landscape is really diversified with the different frameworks and libraries that are available. But that original blog post has jQuery specific questions in it, whereas like the current state now has that removed, like you said, agnostic towards a particular camp.
Starting point is 00:13:35 Yeah, I didn't think they were that useful anyways. They really didn't add much value. Again, we're trying to, I think, hit on topics that are sort of more objectively true or that you can talk about at a higher level. So, you know, for instance, you could talk about Sizzle, which is jQuery's selector engine and its specific implementation and how it returns a collection. But that kind of concept of actually just selecting an element in JavaScript, it's ubiquitous. It's not specific to, you can talk about it in sort of the native implementations that you can use, let's say a native method like getElementById
Starting point is 00:14:21 or querySelector or querySelectorAll. So we tried to remove that. And I think that just shows a maturity and a growth over the years. And of the project too, especially as of recent, since the project actually moved a couple months ago, it moved from originally being still a personal repo of mine to being under the HL5 boilerplate organization. We made that change. Me and Paul did that two months ago, I think. And there's been a huge influx in
Starting point is 00:14:52 contributions and it's definitely matured. Even the last two months, it's exploded. Let's talk about that part there two months ago then. so what was it like merging a personal project into an organization and then if you can recall what were the the i guess the stats at that time like forks and watches and stuff like that the stars yeah uh i mean it hurts a little bit it definitely takes you down a peg um at the time uh over the last three years, I think we had got about 9,000, close to 10,000 stars. We had still had the 25, I think we're past 25 language translations, which is amazing. I think that's probably the best stat for this project is the community involvement that we got worldwide. And people adding resources in their own dialects was great.
Starting point is 00:15:46 So we had, I think, 25 language translations, about 10,000 stars over that three-year span of it being repo-associated just with my name. Although I've always tried to keep liner notes for the original contributors for the other sort of documents that were running around three years ago. But yeah, essentially, we went from that. And two months ago, we made the ownership or we changed ownership to the HL5 boilerplate organization. And we saw a huge influx in traffic, lots more visibility, we've got, I think, another 4000 stars since then. So we're now up to 14 or 15,000 stars and 2,000 forks or something crazy like that.
Starting point is 00:16:30 Tons, over 100 contributors, which is another great stat. So it's seen a lot of, I think it's the second most starred repo for the organization after obviously the H105 boilerplate projects so that's huge man i mean yeah 14,048 stars 2,126 forks 119 contributors that's definitely not a stat to shake a stick at and and to tee off what you mentioned about localization for languages. A post recently from of hidden, I guess, to the rest of
Starting point is 00:17:26 the world because they sort of operate in these sort of localization silos that don't really go beyond their language. And so having the localization that you've gotten already with multiple languages is pretty huge. Yeah, it was amazing to see. That was something I wasn't expecting. The first ever commit that somebody made, I think it might have been a French people to get involved in. And I think that a lot of people feel that they can actually make a commit very easily, or they can actually contribute to a project like this, and not have to worry about, you know, adding tests or things like that. So it was great to see that, you know, worldwide, we got some traffic and that people were, you know, I, that wasn't even a push from me. I didn't ask the community to make translations.
Starting point is 00:18:27 They just did. So that was really awesome to see. And over the years, we've grown. Unfortunately, many of the different translations are in different states. They don't always stay up to date. I was going to ask how you keep that in sync. Yeah, yeah.
Starting point is 00:18:45 That's one of the harder things. We really rely on people who obviously speak and write in those different languages to commit back to the project. And now a word from our sponsor. TopTile is the best place to work as a freelance software developer. If you're freelancing right now as a software developer and you're looking for a way to work with top clients on projects that are interesting, challenging, and using the technologies you want to use, TopTile might just be the place for you. Working as a freelance software developer with TopTile, your days of searching for high-quality, long-term work and getting paid what you're worth will be over. Let's face it, you're an awesome developer, and you deserve to be compensated like one.
Starting point is 00:19:30 Joining TopTal means that you'll have the opportunity to travel the world as an elite freelancer. On top of that, TopTal can help provide the software, hardware, and support you need to work effectively no matter where you are. Head to toptal.com slash developers. That's T-O-P-T-A-L.com slash developers to learn more and tell them the change I'll send you. You mentioned that it's just a markdown file. Any plans to take that and turn that into an actual site that's, you know, got some design behind it and, you know, put some form to this function?
Starting point is 00:20:03 Sure. We haven't really thought about that. I never thought about that at all. We posted a, there's a GitHub page website, basically. It's just a rendered HTML, CSS version of the markdown file. So it's not much more than that. But yeah, there hasn't been any talk about that. That's a good idea.
Starting point is 00:20:24 I might do that now that you than that. But yeah, there hasn't been any talk about that. That's a good idea. I might do that now that you suggest that. Well, you know, the readme is great. It's accessible and you got the anchored headings and things like that. And it's clearly you've got 14,000 plus stars on it. So that's not holding you back. I think that it becomes a destination once you put a URL to it and some design to it and sort of takes on its own life. I don't think it's required.
Starting point is 00:20:47 You've got sort of this sync issue with localizations, but then it also provides a potential issue for the site, whereas maybe your site can only support English, but that's not going to scale well. I mean you're going to want to support maybe a subdomain per language potentially or at least a slug on the URL or something like that. Yeah, for sure. It's definitely something I'll take into consideration. It's probably a good idea to do something like that, especially because we've made this transition and it's now part of the HMEL5 boilerplate. It definitely feels like it's got a lot of energy behind it right now. And obviously we're talking about it today. So, yeah, I think that'd probably be a good idea. It made me make it even that much more accessible to people. So yeah, I like it.
Starting point is 00:21:36 It seems like there's an interesting dynamic when you're, you know, we all struggle and try to manage open source projects. And there's a common conversation that we have with people is just managing community, the demands it puts on you as a maintainer. You said slightly different when it's basically pros. You manage the English ones and I guess you just hope those translations stay accurate. Or maybe you have a checksum system or something that you can do with the second set of eyes on the translations. But any interesting struggles that you would have, semantic arguments perhaps, managing a text document in an open source community as opposed to a software project? Definitely. We try to be objective, and I've definitely been sort of the overseer or the guardian of the document and the questions since its inception.
Starting point is 00:22:32 So it comes into question a lot of times whether or not I have to question myself, what are my intentions, if I agree or disagree with somebody so i always always have to be it's a it's essentially uh the worst kind of open source projects you can ever create um there's a ton of politics around essentially language it's like essentially this this document is like a high school english assignment with over 100 group members and they all have differing opinions and there's a ton of different subjects that you need to talk about and it's it's it's definitely the worst kind of open source project for that for that but uh but yeah i try to stay objective there's been a few times where um you know you obviously have to tippy toe and and try to work with the community and and
Starting point is 00:23:20 maybe uh the the best thing that i've been able to do is garner support around my opinion on what should or shouldn't be added or why, you know, I think that phrasing should change. It's really funny, you know, like I never did that well in English in high school. But now I'm essentially talking to people about their grammar and the phrasing and the tone of questions and sentences. And it's really funny, you know, the kind of problems that we have in a project like this. So, yeah, we've faced some interesting problems with this compared to a typical open source project. What about just crazy off-the-wall questions? Do you ever get somebody to submit something that you think, what are they talking about?
Starting point is 00:24:09 Or is it all pretty tame? I think the worst stuff is maybe topics or discussions we've already had in the past or times when I've had to guide people in the right direction or just let them know our stance on things. I don't say that we don't get too much stuff in left field and I would never want to like point anybody out. But yeah, over the years we've had some interesting people. When it first released, the document actually got a lot of traffic on Reddit. And there was a lot of people that were saying that they, we were better off with without something like this. And they were,
Starting point is 00:24:51 you know, sort of bashing the project or bashing this, you know, even this idea of having a list of interview questions. And so that's why I actually initially put this into a GitHub repo, because I was hoping that somebody like that would actually just make a pull request that deleted the entire document. And if we got enough traffic or if enough people gave it thumbs up, then I would have just scrapped everything and we wouldn't be where we are today.
Starting point is 00:25:18 But those people obviously didn't come and contribute. So yeah, I haven't faced anything uh super odd quite yet but uh anytime somebody tries to add an answer i know that it's all well meaning but that's probably the hardest time for me is to to tell somebody that you know this project isn't about giving everybody all the answers and uh it's more about making people think and, you know, asking themselves whether or not they know how they would answer a question like, you know, the one that's there in front of them. So you can't turn over the sheet and see the answers? No, I've had a number of HR people, recruiters email me asking me for the answers. answers yeah they asked me for the other document uh they're
Starting point is 00:26:06 like so where's the other markdown file um yeah that's just the worst that one's for sale yeah business model uh i could the funniest thing about the document is that i've actually it's been around for three years so i've obviously had uh at least one or two interviews between when it came out and and as of today and i've actually had people over the phone be looking at the document asking me questions from it um so that's pretty that's awesome circle they've come back to you then it's really funny to hear the realization on the other end of the phone. It's like, wait a second, you're the guy that, oh, okay. Oh. I see.
Starting point is 00:26:48 Yeah. This is your project. Does that automatically get you hired then since you essentially helped write the document? No, I struggle to, you know, as anybody who does, you know, I struggle to come up and communicate, you know, my answers, you know i struggle to come up and communicate um you know the the my my answers you know so i think that the best thing that i hope these questions do is obviously start a discussion and and the smart people will will get the jobs uh but yeah i i don't automatically uh get a buy or a pass so what you need to say when when you get somebody asking asking one of your own questions you have to just say no, you're asking it all wrong.
Starting point is 00:27:26 You're supposed to ask it like this. Then you get the job. Yeah, yeah. And a key thing there is they're not my questions, too. That was one of the big things, too. I talked to Paul a couple times, and we had actually meant to make this HMO5 boilerplate project, I think, over a year ago.
Starting point is 00:27:46 But there's a lot of contributions here. So definitely there's stuff in here I would have never even thought to ask, but it's good to have whatever that contribution was. That's the beauty of open source is that, you know, ago, you wrote a blog post sort of based on you and your friendship with – his name is Wes, right? Yeah, Wes Boss. Yeah, Wes Boss. So you're trying to prepare him for – just prepare in general, and you decided to share that. That's what I love about open source, and one of the things I think stirs up so much emotion between Jared and I and what we do here at The Change Law because this one little act here you did three years ago has probably paid it forward for so many developers. And it's probably even impossible for you to see the ramifications of one act of open source propel in such a way, 14,000 stars later.
Starting point is 00:28:43 I can't recall how many forks because I moved away from that tab, but so much. Let's talk about, I guess, the last three years then, since that's sort of what you said a bit ago and what I just said there. When we go down to Tableau content, you've got general questions, HTML questions, CSS questions, JavaScript questions, and networking and coding, and then some fun questions to kind of round that off. But I know that HTML itself hasn't changed.
Starting point is 00:29:13 I guess it kind of has changed dramatically. We've gone from XHTML to HTML5, and then we've got SAS, and we've got LESS. We've got various – we've got CoffeeScript, we've got different frameworks for JavaScript. How has maybe the document as well as the idea of a front-ender changed over this last three years for you and I guess the community powering this project? I think definitely the community, keyword I've probably said a couple of times already, is matured. Yeah, the community definitely matured and the frameworks did. And they're all we're talking about sort of higher level programming paradigms or theories and how we can implement that in JavaScript. We're getting native support for a lot of things that we think are helpful in other programming languages now
Starting point is 00:30:05 with like ES6 coming out. So I think that we've seen sort of definitely a lot of change. Pre-processors weren't even a thing in 2012, right? So it's really funny to see where we came. Maybe LESS was around. Well, LESS was around. If you were using LESS, you were like- Hey, SAS was there too. SAS is like seven years old. No way. Don't mess with Stack and the SAS. SAS goes back, man. SAS was invented by Henton Catlin about seven years ago now.
Starting point is 00:30:35 Probably seven and a half years ago. It was not mainstream. Right. I wasn't using it, so it wasn't mainstream. It wasn't – yeah, no. It became more in light, I would probably say, 2009 is probably when it got more and more prolific. But yeah, SaaS has been around for – that's what people don't get either is that SaaS and probably for so long. That's why it's so trustworthy because the people that have been behind it have been with CSS morphing and changing over these years
Starting point is 00:31:11 and morphing and changing with everything the interface has been doing and have been making Sass evolve into SCSS. And then now you've got LibSass. You've got all these different things that have come along with it. And no knock against Les, but Sass has been there for a very very long time almost seven more than seven years yeah now that you guys say that i definitely remember when hamill and sass first came out and it was yeah i do remember it was a long time ago and uh i guess i my brain is being fried by all the framework sort of where and all the new preprocessors. I think it's safe to say that in 2012, unless my timing is totally off,
Starting point is 00:31:53 I think in 2012 we could say that front-enders were still debating whether or not preprocessors were a good idea or not. That's true. Whereas today it's pretty much an established thing that you're going to want. It's more of a no-brainer. I'm sure you still have your fringe people who think it's stupid, but they're fringe. Yeah, and I would say single-page applications weren't as big. We might have been using hashbangs back then still, or you were writing your own framework to do routing and things like that. And now, obviously, we've got a ton, a huge variety of libraries and tools now.
Starting point is 00:32:29 But again, those kinds of things I try not to, and we try not to talk about in this project. We talk about the concepts they bring up, right? Like routing and the history API or something like that. We talk about data binding and things like that that are more global and can be applied across any framework or any framework probably would need for building single page applications. But that's definitely something that's changed in the last three years is seeing that. And we don't have a lot of questions about testing, which I would
Starting point is 00:33:04 love to see more of. And I think that's definitely something that the community has embraced in the last three years is testing your code and writing modular code. I think we can do a better job at applying sort of TDD questions in this document. So that's maybe something that somebody can make a pull request for. Do you think it's safe to say that the breadth of knowledge that's expected of front-enders has increased over time? Oh, yeah, for sure. Was that too easy?
Starting point is 00:33:35 Too easy for a question? I had to struggle with that one because I knew it was the answer. Is it ever going to contract? Will it ever contract? Will it ever get easier? I think that there's definitely been specialization. I think there's a lot of people that might be doing backend JavaScript work now
Starting point is 00:33:54 because Node and I.O. have got to a point where people trust them for production. So I think that there's a lot of... There might be people branching out and getting more specific in their roles in what we would have considered front-end development realm or lives. I think that you see designers, the term designer in our industry has sort of changed too. So that designers are now expected to code. So they might knowml and css and they may be able to design right in the browser right build experiences around the browser so um i don't know if if the
Starting point is 00:34:33 the the term front-end developer i don't know if there were ever going to be asked less of i think there's always going to be more that we're expected to know um and it's very hard because you straddle the line of you want to make a performant website. So how, you know, you need to understand, you know, protocols, you need to understand the backend APIs you're hitting. Maybe you work with that backend developer to develop those APIs you work with and, and things like that. So you really have to understand the full gamut of what it is to build a website and how that website gets cached on people's laptops and on their phones and how it gets distributed worldwide on the
Starting point is 00:35:12 internet. So it's very interesting what's expected of us. And I don't think that there's any less or will be asked any less in the future. It's just a growing batch of things we should know. That's definitely one area where I haven't paid a ton of attention as a front-ender is the networking side of it, the performance side of it. And that's where I think you begin to blur and cross the lines of, and not to put it in to use words or language like just as if it's not good enough,
Starting point is 00:35:43 but when you're just someone who writes HTML or CSS or SAS or Haml, to cross the lines to being more developer speak when you're talking network and talking protocols and multi-domains and just performance stuff. But that's a different topic. So Jared and I wanted to close the call to turn a couple of questions on you. Would you mind if we pulled a couple of our favorites out and ask you a couple questions? Sure.
Starting point is 00:36:12 You're on the hot seat. You're on the hot seat. You can't say no. Jared, take the first one. I got one too. You want me to go first? I'm going to start off easy because Adam's the mean one. I'm going to start in the categories. I'm'm gonna start in the, you got categories. I'm gonna start in the fun questions. So here you go.
Starting point is 00:36:27 Um, what's a cool project that you've recently worked on? Um, so I recently worked together with a digital agency. Um, I can't, I don't know how much I can say about it, but we launched a project for the Grammys for, uh, a very well-known car company. And we essentially did facial recognition using the CLM tracker. CLM, if you guys have heard of that, it helps you detect someone's face either through webcam or video or even from any sort of image data. And from there, we actually generated a custom unique song based on your face. So your face, you basically take almost like a selfie or you can use your webcam
Starting point is 00:37:16 and it generates a unique song for you. And that was probably a pretty cool project that I just finished up. That does sound cool. Is the CLM tracker, is that an API or a library? So CLM, I think, is an algorithm. It's an algorithm, okay. Yeah, if you look it up, I think there's some MIT papers around it.
Starting point is 00:37:36 And I forget the developer who worked on the JavaScript implementation, but it's been around for a little while. And yeah, it's essentially like a JavaScript library that you can use and just apply it to, you know, any kind of like input that you would get from either, you know, like get user media, get like somebody's webcam and can find the data points of a user's face. So you can find like their nose, their eyes, and it will like sort of track where that is. So that was pretty cool. was probably cool project we recently linked up in weekly chair that did this i think it was actually on the on the blog yeah that was a jquery plugin that does face detection so possibly using this technique but specific for jquery that project caught my eye because he was
Starting point is 00:38:22 using anchorman as his... He was detecting the Anchorman faces. I was like, oh, I've got to link that up. But yeah, Adam found the JavaScript1 CLM tracker, so we'll link that up in the show notes. Interesting. Sounds like a fun project. Yeah, it was a lot of fun to work on.
Starting point is 00:38:40 Worked with a lot of really smart people that did a lot of the WebGL stuff, the animations, and also worked with another lot of really smart people that did a lot of the WebGL stuff, the animations, and also worked with another great company to get all the sounds done. We sort of did all the wiring and the framework behind actually presenting all that. But yeah, it was a good project. Cool.
Starting point is 00:39:01 And now a word from our sponsor. It is time to put the programming books away. Put them away. Cool. HTML, CSS, and many more. CodeSchool knows that learning to code can be a daunting task. They combine experienced instructors with proven learning techniques to make learning to code educational as well as memorable, giving you the confidence you need to continue past the hurdles. They're always launching new courses on new technologies and offering deep dives on tried and true languages. So if you don't see them you need, suggest a course and they'll build it if there's enough demand. CodeSchool also knows that languages are a moving target. They're always updating content to give you the latest and greatest learning resources.
Starting point is 00:39:58 You can even try before you buy. Roughly one out of every five courses on CodeSchool is free. This includes introductory classes for Git, Ruby, and jQuery, which allow free members to play full courses with coding challenges included. You can also pay as you go. One monthly fee gives you full access to every CodeSchool course. And if you ever need a breather, take a break. You can suspend your account at any time. Don't worry, your account history, points, and badges will all be there when you're ready to pick things up again. Get started on sharpening your skills today at Codeschool.com. Once again, that's Codeschool.com. Well, this one here, Jared said I'm mean.
Starting point is 00:40:41 I don't know if I'm being mean here when I ask this one. I think this is a good one for anybody who likes – who officially likes CSS. And if you put your hand up, you're somewhat crazy and adventurous. I met a guy once. Not everybody loves CSS, so it sort of gets this bad rap. But it's a labor of love when you write CSS, whether you're writing Sass, Less, or whatever. But just understanding the cascades the question i want to ask is around the c in css and what it stands for which is cascading and the question is officially this is the question the c in css stands for cascading
Starting point is 00:41:18 how is priority determined in assigning styles and give a few examples if you want to and then the follow-up question to that is, how can you use this system to your advantage? So talk about the cascade. Okay. Let me try to find that question. Is it actually in this document? Are you guys just pulling out of this document?
Starting point is 00:41:36 You guys are crazy. I am not pulling your leg. It's in your doc. We're going through your rejected pull requests. It's near the bottom of the readme. Or near the bottom of the CSS in README. I told you he's mean, man. That's tough. Well, I like this one because it shows off the cascade for CSS, which is cool.
Starting point is 00:41:54 Well, cascading essentially, yeah, child elements inherit the styles of their parents. So that's sort of the cascading uh styles there but um i the to be honest i try not to answer these questions uh not not to be on the hot seat but because uh i was actually asked by another person recently to to do a talk and to basically go in there and answer a bunch of these questions. Um, I'm okay with the fun ones cause they are, as they say, fun, but, uh, my, my biggest concern is obviously somebody will take my answer as de facto the truth, or they'll reuse that. And if they don't, you know, they don't get a job for any reason because they used, you know, whatever we gave them. So I try not to, but I
Starting point is 00:42:41 would answer that casketing, uh, styles question with, you know, talk about inheritance of children and their parents and the relationship there. And then also talk about, you can use this by creating, you know, little modular pieces of CSS that can be reused using classes. And, you know, you could do something, talk about, let's say, font families that can be applied. Or, you know, if you had little buttons that had, you know, a wrapper div that applies some style to the button, you can reuse that. Or you can set sort of a global class on the body that helps to show or hide, let's say, content on mobile
Starting point is 00:43:26 or desktop. And I would go into probably examples of how I would implement or showcase cascading in CSS. But yeah, I try not to answer these. Well, this is, yeah, I like what I was really asking, why I wanted to ask that question was I was really hoping you'd say the word specificity because two co-hosts ago, Wynn Evelyn started this podcast with me. And it was funny because anytime we had a style sheet-related topic on the show, and Wynn, if you're listening to this or anybody knows Wynn, bring it up to him because I loved it because he can never say specificity. And he would always say, Adam, can you say that for me? I forget how it kind of evolved, but he can never say specificity.
Starting point is 00:44:14 I think I can. My English is okay. Specificity. Almost perfect. Almost perfect. Specificity. All right. Let's hop back to the fun questions. There go quick grill save him please the grill and uh we gotta turn some of these questions on on adam here in a second uh this one's great because actually it's kind of hard what's your
Starting point is 00:44:40 favorite feature of internet explorer um my favorite feature that's still there would be the way that they rendered the box model or the original way that they i guess this this this question's a little bit up for interpretation because it doesn't say a specific version of internet explorer um right i would say actually there's a couple i have a bunch of features i really like uh the developer tools have gotten a lot better, which was huge because the F12 developer tools for so long were lacking. But I would say that they got the box model right. Internet Explorer originally got the box model right. And if you set a width of something, you want it to be that width. I remember having to play with margins and have all these calculations in your head.
Starting point is 00:45:30 Wasn't there a double margin bug as part of the box model? Yeah, that was... Like IE6. Probably. And now we have a box sizing border box to get that functionality back. I think so. Box sizing. box sizing yeah anyway that's a great one the one i thought of if you're going historically i have no idea what my current favorite feature is um it would be xml hdpo request right so they were i believe that was
Starting point is 00:45:59 they were the first ones i added that one yeah i mean that revolutionized the web aj so you got the second best answer yeah just kidding uh and you said i was the mean one yeah you're the mean one hard yeah well you know bad cop bad cop i guess uh what do you got what do you got time for adam one more we got uh three minutes uh you can ask one more ask a fun one ask whatever you want you know what questions are really fun you know what questions are really fun is our closing questions maybe we should just go into those hang on let's let's pause there for a second uh darcy which one is your favorite question in this whole document oh my goodness there's so many i used to i used to have a couple
Starting point is 00:46:43 favorites that we got rid of because they were just too ridiculous. I actually really like the coding questions, like the coding examples. I think that anytime that you can get a developer to actually either do some whiteboarding or talk through maybe the APIs that they know or how they would write a function,
Starting point is 00:47:02 I think that's a lot of fun. So I would say one of my favorite questions is probably either the, I would say the split reverse join. So in the coding questions, there's like, I'm a lasagna hog. And it was actually misspelled at one point, but they wanted to make it, I think somebody wanted to make it like race car so it was like the same thing forwards and backwards but i really like this uh because i i would actually probably follow this up with like how would you reverse a string not actually show
Starting point is 00:47:37 them how to do it but uh you know how would you reverse a reverse a string and see if they would know that there's a method, a native method to reverse a string or see if they were concerned about, you know, the order in which the characters came in. Things like that, I think, are really valuable. Yeah, show some psyche, some nature behind their thoughts. Yeah, yeah, for sure. Cool. Awesome. Well, now let's close with a few questions that we like to ask. The first one is, who is your programming hero? to talk to in person really got giddy. And we had lunch at the Google offices years ago when we first met in person.
Starting point is 00:48:29 And he was definitely a big inspiration for the work that I do in open source and how I feel about contributing to the community. He's a good role model, and I think he definitely works tirelessly, or at least he used to work tirelessly. I'm not sure if he's taken a little bit of a break, but he's always contributing to the open source community.
Starting point is 00:48:49 And I think, yeah, he's definitely my development hero, I guess. Yeah, good call. I saw Paul give a talk at, I think it was like jQueryCon back in probably 2012, 2011. He's a very entertaining and smart speaker. Kind of an inspiring guy. Makes you want to do cool stuff on the web, for sure. For sure, yeah. I had Paul on the show, actually, back in the day, too, on episode 67. Nice.
Starting point is 00:49:14 Talk about, obviously, HTML5, Bulletplate, Modernizer, and a bit more. Awesome. Next question. So a call to arms to the open source community, whether it has to do with front-end developer interview questions or another project you're doing, if you're speaking directly to the open source community, which you are, what would you say to them? a motto that I've had for a number of years. Anytime I do a talk, I sometimes show less code than people expect me to, because I'm trying to show off, you know, examples of work or something really cool that's going to inspire somebody. I think that's the best way to educate someone, because if you're giving a talk or you've been writing a blog post, you only have so much time, so much of that person's time to try to teach them something
Starting point is 00:50:05 or try to get them excited about a topic. So if you can inspire them or get them excited in some way, they're going to go off and they're going to go do that research and learn more. So if you can be sort of the spark, I think, for someone else, whether it's in, you know, in your community or even broader, if you can really show somebody something awesome or try to explain something in a way that is entertaining, like Paul does and, and a lot of other people do, I think you're doing a great service to the, to the community. And I think that that's something I try to do. And I hope that other people try to do is inspire, inspire our peers. So good answer. Love that. Inspire. Um, next one.
Starting point is 00:50:52 So if you weren't doing what you're doing, um, which is, you know, being a front end developer and the way you make your living and what you're doing with your life, what would you be doing instead? That is a hard question. I'd probably be, uh, I'm not sure if it's an easy way hard question i'd probably be uh i'm not sure if it's an easy way out i'd probably be like a designer is that is that fair is that okay to say if that's what you want to be doing your answer is your answer okay well i'd be a designer or i'd be a marketer uh i thought i might want to be an accountant or a math teacher at some point but uh there's no way i was going to look at ledgers all
Starting point is 00:51:25 day so yeah i think i would probably be a designer i actually went to a performing arts high school and majored in graphic design so i i really like design so um yeah i would probably be a designer awesome all right last question i don't think we pulled this one out for a while okay um and that is what's something that's on your open source radar, a project that has you excited or has inspired you that you could share with everybody that you're interested in? It's something that I've seen recently or something that... Yeah, something you've seen or that's on your radar.
Starting point is 00:51:56 Maybe you use it and you like it or maybe you can't wait for a chance to give it a try. Just anything. Another way to answer that question too is, if you had a free weekend where you didn't have to do anything work related or whatever, what would you hack on? I might also answer that. Well, definitely I have
Starting point is 00:52:11 a few free weekends. I think that the stuff that the Flipboard guys posted the other day with React Canvas, I'd love to dig in there and check that out. A lot of that React Native sounded really interesting. I'd love to see in there and check that out. Yeah, a lot of that React native sounded really interesting. I'd love to see what they're doing internally in those projects and sort of dig into their code.
Starting point is 00:52:33 I think they're pretty cool. So yeah, those are two that are on my radar. Doing more React is definitely in my future for sure. I love the idea of the virtual DOM. So I think that's, it's a sexy, sexy thing and a sexy topic right now. So. We, uh, we don't have them lined up yet, but that's definitely on our hit list of shows to have in the near future.
Starting point is 00:52:54 So I'm going to reach back out to our Facebook contacts and get some people from the React team on, on the show to talk about React. So. Yeah, it's, it's a great project. So. And only because there's React do I somehow subliminally think it's React, but it's not. It's React with a T at the end. So my enunciation on the final T there is important when I mention that project. So yeah, that's exciting too. We've, we, we almost can't help, but link it up in our weekly email, which is called change law weekly, because there's so much, it's got so much buzz around one of the more most recent shows, which was 141, we talked about how I've come on to be the first full-time employee of this year company called the ChangeLog and how that matters to the community, what that means for this show, what that means for the ChangeLog going forward. And I thought I'd mention a few members because we have a membership.
Starting point is 00:54:01 It's $20 a year. It's the easiest way you can support us directly it's it's like our patreon or like our get up which isn't around anymore i think it's now i forget what it's called now the the new name gratify gratify gratify uh it's like our version of that so if you want to directly support the changelog being around being here this is the way you can do it go to the changelog.com membership i'm going to rattle off uh probably i think around 20 names i think um but every show we're gonna start closing with the most recent this week's new members so uh hopefully this doesn't get boring uh in this case it's a lot because i think we just have an influx but you got douglas gray sean dunn pablo
Starting point is 00:54:41 navarez bill israel garrett diamond dave david I can't say your last name, which is Wischensen. I'm going to try and say that. I have a bad last name too, so don't hate me. Matthew Brixton, Jonathan Banta, Austin Ginder or Jinder. I'm not sure which one that might be. Ben Gillen, good friend of mine actually here locally. Actually a good buddy of mine here close by. You got Matthew McCormick, somebody who just put one name in, which is Ebersbach.
Starting point is 00:55:14 Mike Parham, a friend and past guest on the show. So Mike, thanks for your support. Kyle Mahan, Camilo Payan, and Mr. P. Gomez. So thank you all for directly supporting this show supporting the changelog your support means the world to me and Jared and everybody else who's a part of this and I'm sure Darcy too right Darcy oh yeah definitely of course right I'm gonna go damn right now yeah it's it's uh we've got some awesome benefits for our members we have a members only slack room so if you use Slack, which you probably do,
Starting point is 00:55:48 we have an open Slack room where we're pretty much sharing all the behind-the-scenes of the change law, what we're doing, what's on our radar. It's sort of like as we do what we do, it unfolds, and you kind of play a part of it as you'd like to. Or you can just hang out and be idle and just sort of lurk if you'd like to. We don't care. Whatever you want like to. Or you can just hang out and be idle and just sort of lurk if you'd like to. We don't care. Whatever you want to do. We've got some awesome sponsors for this show too. CodeChip, TopTal, and
Starting point is 00:56:10 CodeSchool are our sponsors for this show. So big shout out to them. And Darcy, it was awesome having you on the show, man. Thank you so much for last minute coming on the show, talking through these questions, and then not minding the good cop, bad cop Jared and I play with asking some questions, man.
Starting point is 00:56:25 Pretty cool. Yeah, no problem. Thanks for having me, guys. So for the listeners out there, if they wanted to follow you or follow you on GitHub, how can they follow you? Easiest way to get a hold of me or to check what I'm doing
Starting point is 00:56:37 or check out what I'm doing is probably hit up my GitHub page, github.com slash Darcy Clark, or follow me on Twitter, twitter.com slash Darcy, which is my first name. Oh, Darcy, nice. Yeah, it's pretty legit. Nobody else had that. That's so cool.
Starting point is 00:56:55 Or did you have to go beat somebody up for it? Yeah, to pull some strings. Ah, some strings, nice. Well, Darcy, it was definitely fun having you on the show. We'd love to have you back anytime you're coming back we didn't get to
Starting point is 00:57:07 mention your DSS project so maybe we can feature that in this week's weekly and then have you back on a
Starting point is 00:57:14 near show in the future to talk about that but sorry to throw that telly in there but let's
Starting point is 00:57:19 say goodbye everybody cheers see ya Cheers. See ya. you

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.