From the course: Mastering Web Developer Interview Code

What questions are asked in developer interviews? with John Riviello

From the course: Mastering Web Developer Interview Code

What questions are asked in developer interviews? with John Riviello

- Hey there, this is Ray Villalobos. And this week we're going to be doing things a little bit different. We're going to have a first of many conversations with developers, working in the field that can tell us what it's really like to get a job or do some hiring in the industry. So John Riviello is an engineer, author and speaker who started working in the internet way back in 1996. He was originally trained as a graphic designer and he's also a fellow Lynda.com author and LinkedIn learning author whom I've known for a few years, hey John. - Hey Ray, how's it going? - Pretty good man tell me a little bit about your background where you work, how many years you've been there and that sort of thing. - Sure. So right now I'm on Comcast I'm one of the lead friend developers there. Been there for 10 years it's my 10th year there, I've doing this for 20 years now as you mentioned in the intro there. So I started off just, back in mid-nineties when internet came about came about, I loved computers, I loved arts, really web design when the web was kind of perfect for many. So taught myself HTML eventually CSS and JavaScript and then back in 96, my first job was actually just a local family business needed a website. They were friends with our family they knew that I knew some stuff. So it was like, "Hey, you want to make a website?" And like, "Sure." Um that's how, I started even before I was in college so. - Yeah, I think that's kind of the first way that everybody gets started, right? - Exactly. It's kind of interesting that you came from a graphic design background. How did you make that transition from graphic design to developer? - Sure. So I remember back when I was like applying at colleges, I was like, do I want to do computers do I want to do design? And I really love design and decided that was the path I wanted to take. So I originally went, got my BFA in Graphic Design but I did do some computer stuff in college. So I did, you know, I'd used code create art which was a lot of fun. And then basically my first job out of college was at startup and I was the graphic design department, the web design department and the front end web element department all was me because that's how startups (mumbles). - Yeah, that was back in the day you had to do everything everybody was, I think everybody was like a webmaster. that's kind of like the generic title. - That's right, I was a webmaster that's the best title there is. So basically my career basically transitioned as doing pretty much half design, half development to just as every job I took and every promotion along the way just led to... right now where I'm based I do pretty much all development. There's very little design work that I do because we have full design teams at Comcast. But it's at least that that background kind of does help me have those conversations with designers. - Cool. So what kind of education prepared you for this job? - So the... my degree was in graphic design. So the advantage of that was that when I'm talking to designers, we can speak the same language. So basically when I'm working with a designer or a UX engineer on something, you know, we're, I can I understand what they, what they want to do and why they want to do it. And I can kind of help knowing what designers want to accomplish and me knowing the technical way to implement it. We can work together to say, "Okay I see what your vision is, now you want to do this grandiose thing but here's the thing that is maybe not as amazing, but just slightly less amazing but it's 10 times easier to implement." So that's been a real big advantage is being able to work easily with designers. But as far as the coding side, there was very little training in my formal education around coding. So basically, you know, I learned introduction to basically action script back when I was in college. I remember my professor said, you need to learn LINGO this is the future and known problems LINGO is but that was what Macromedia Directors scripts through line. - That's right. - Some amazing lingo projects that will never see the light of day again. - So I think it probably really an advantage that you kind of have a little bit of both being a developer and a designer because you can really talk to both people. I know the developers like always want to build a database around everything. You know they have in the same way like developers have all these plants and technical things they want to do. And designer is usually maybe try to do everything you know, to look the best and maybe a marriage of the two is kind of where you need to be. So in terms of like maybe a junior developer today, what do you think are some of the skills that they need to have in order to do the job modernly? Sure. So you definitely need a basic understanding of HTML CSS and JavaScript that's obviously the building blocks of the web. Basically what I mean by that as for something like HTML and CSS if someone were to give you a responsive design with a few break points, you should be able to go ahead and build that design. You know write your own markup right here in CSS and have that look good not only in Chrome, but in other browsers. So, you know, probably IE11 is still a big deal as well as Edge, Firefox, Safari and of course Android and iOS devices. So you should be able to take those designs to actual to production all the way through. And then of course, for JavaScript if you're a junior developer, I'd say you need the basics. And I would consider that being, can write a function, can you write loops, can you interact with the DOMs? So basically, create, build an app like a simple app. You need to basically probably input some data click a button, make an API calls of some sort of just go, you know, send that data somewhere and get back response and displayed on the page. If you can do the basics of that you're off to a good start. And then kind of the other thing that I don't think they taught, but I think as important to debugging skills. So can you use, you know, are familiar at least familiar with the web debugging tool of your choice for whatever browser you use? - Yeah. So do you feel like I know this, I get this question a lot that a designers should have sort of a little bit of development experience and vice versa, sort of a cross-pollination. - It certainly helps I feel like if you're looking to do web design it's important to understand, you know, CSS and HTML so you can see how those designs can carry through. I've seen some people take kind of this like UX Engineer path where they basically write all the code for the prototypes of them, maybe events some other team to go and build the full on production ready version. That's more... focuses, more performance kind of stuff but really useful to be able to express an idea with code and with design at the same time. So certainly it can't hurt I wouldn't stress about, you know, if you're focused more on design, you need to be the best developer. I don't think that's required but if you can understand the basics and get a page up and running that'll definitely help, yeah. - That's great. So I know that I recently went back to school for a second degree and I realized there's like so much that experience taught me that I didn't really get from, having a job and vice versa. There's some things that I learned by having a job for a long time that I didn't learn. So what are maybe some of the things that you learned that formal education didn't teach you? - So programming formal education, does that teach you that? They way that I approached that so I think I took like a course the Visual Basic in college it's just like a required course. So yeah, I basically had to learn most of that on my with basic through looking people did online through courses like what Lynda.com offers that kind of stuff, reading books. - Let me turn it around and maybe like, when you see people kind of interviewing for jobs that are just coming out of school they didn't have lots of experience. What do you think they're lacking from just the formal education that you kind of have to bring them up in? - Gotcha. So even if they were trained formerly in coding or some sort of programming I find that basically front-end isn't taught that much in school still from what I've seen. So basically an understanding of how to create a basic JavaScript app is not common course, but some places will offer that. And then to debugging, I mentioned that previously that's like a huge thing, basically. Like I remember when I first saw a debugger in Firebug back in the day, I was super intimidated by it because I'm like, "That's what backend people do." That's what, the Java people and C-sharp do. And then I kind of like avoided it which was a huge mistake. And cause basically a huge part of your job is not just, you know code doesn't work most of the time we first write it. So it's how do you debug it? So being able to master your debugging tools like the Chrome dev tools is I think would make it a huge advantage, especially if you're given like a coding challenge and you're using Chrome or Firefox or whatever it's built into bug that it's going to really set you apart. - So another question that comes up is you have some experience interviewing people. So do you give applicants any sort of coding challenges or quizzes or anything like that? Yeah, so I've interviewed hundreds of people easily by this point in my career getting back to that startup initially, and I found that a coding challenge or quiz of some sort is is essential because basically I can talk to someone on the phone or in person and some of them might know all the right buzzwords and sound like the notes talking about. But if I say, okay, "Hey, write me a function." And then they don't know what a for-loop is. Then that's kind of a clear thing that, "Hey, thanks for talking." (John laughs) Onto the next person. So yeah, I do... right now and I always have basically I stress different coding questions in mind when I do coding challenges the way I do it. I basically, I know, I understand that the person who interviewed is probably nervous. I just hand them my laptop and say, "Okay this is... I'm here, but you know, try and relax as possible." The internet is there google whatever you want to, you know I look up stuff I've been doing for 20 years. I look up stuff all the time that I probably should know but I don't don't feel embarrassed to need to Google something. I'm not going to duck, you know, lose points for that. So, you know, full internet access I'm here. You can ask me questions. And then basically a lot of the questions that I present are debugging tech questions. So I'll say here is, here's some code that I wrote take a look at it in the browser, this is what it's supposed to do but it's not doing that thing so go ahead and try to figure out what's going wrong in that case. And then go ahead and solve it which is where we're the debugging tools come in useful. And then also it helps me see how does that developer thinks even if they're a junior developer, how do they go about solving this problem? Even if they've never seen this before and that's especially for a junior position. That's really what I'm looking for is how, what's their thought process, how do they work their way around a problem? Because there's no way they're going to know everything the front-end world is so rapidly changing it's impossible to know it all it's really, How do you solve problems is more I'm looking for as opposed to how much knowledge do you have in your head because that's just going to be in and then out and then, you know, old news in a year. - Yeah, definitely. I mean, the reality is that we don't know everything. We have to look stuff up, stuff changes all the time. So I think that what you're saying that it's more important to see how somebody solves a problem because that's exactly what the job is. It's not everybody does great when, I don't know if you've ever had this but you do like this complex program and it works the first time that's extremely rare. You feel like you should go, you know? - (indistinct) for me. - Exactly. So yeah, definitely understanding like how that person reacts to actually just the problem. I mean, it's a big thing how do they react? Where do they go? What do they look for? And then can they solve the problem? That's a really good way of going about it. So maybe look at it from the other side, maybe pretend like you're the person that's going to be interviewing for the job what kind of things should you do to prepare? Like what kinds of things do you expect them to have? You know, what's beneficial to show somebody and that kind of stuff? - Gotcha. So if you're preparing for an interview I'd say really first think about what are the strengths that you have and how can you basically weave that way into the interview somehow. So think about if you have prior experience think about what was the interesting problem you had to solve and then how did you overcome that? And then basically how can you factor that story into the interview questions somehow. Our industry is like I mentioned always changing. So I'd like to have a couple examples of maybe something you've learned recently that you can talk about even if you know it doesn't need to be some amazing thing, just, Oh, "Hey I just learned this last week or last month." Something that you want to learn because again, I think it's important to stress that you're eager to work for the company that you're eager to learn. Because basically most senior engineers like myself, we're leading a team or we're really anxious to grow that team so we want to see enthusiastic people. It's who we want to hire a place like people that are interested in web development really loved the space. So I would also recommend would you come up some of those answers to go ahead and record yourself and then you actually take a look at yourself and say like, "Are you smiling?" Do you actually look enthusiastic when you're talking about this stuff? Because that comes across even with, if it's a phone interview or if it's in person. That enthusiasm can be a huge thing to separate two individuals that the technical skills are kind of similar. Then it's can go down to, "Okay, who do I want to work with?" Who's the person that sounds most excited about this opportunity that we, you know we've spent all this time to interview someone which is a huge amount of effort. We want them to get this right so who do we want to be spending our days with coding and making some amazing applications? - Yeah, that's a really good point and I think it's really important. A lot of times by the time you're interviewing somebody you're really looking for how do they fit within this organization to make sure they have the right attitude towards doing things. And that's part of the reason why you want to see how they react when they run into some code. I know that it's very frustrating sometimes so they throw their keyboard that's probably not a good thing. (John laughs) Cool. So that that's yeah, that's a really good point. - Thanks. Yeah. I'd highly recommend that for sure. - So that's all the questions I have, John. Thanks a lot for your time and your insight. I'm going to add a couple of links to your contact info. And as I normally say if you have a question that you've been asked or have asked somebody at a job interview and you want to share it with me, you can get a hold of me at LinkedIn or through almost any social media network @planetoftheweb. Thanks again, John. - Thanks Ray.

Contents