1 00:00:00,000 --> 00:00:03,980 Applying for a job in technology means proving your technical proficiency. 2 00:00:03,980 --> 00:00:06,640 There are many ways you can be asked to do this, 3 00:00:06,640 --> 00:00:09,630 and we'll go over some of the common methods, depending on the role. 4 00:00:09,630 --> 00:00:13,910 First, let's go over how you can be interviewed for a designer role. 5 00:00:13,910 --> 00:00:17,270 A design job has very visual outcomes, 6 00:00:17,270 --> 00:00:20,320 so expect the questions and tests to be weighted similarly. 7 00:00:20,320 --> 00:00:24,790 If you are applying for a design job, you will have to showcase your work. 8 00:00:24,790 --> 00:00:29,060 The most common way you will be asked to do this is by presenting your portfolio. 9 00:00:29,060 --> 00:00:32,560 Things that employers could be looking for are visual weight, 10 00:00:32,560 --> 00:00:37,050 does it look good; information hierarchy, are the most important things 11 00:00:37,050 --> 00:00:40,810 on the page immediately visible; information organization, 12 00:00:40,810 --> 00:00:43,830 are related ideas near one another; 13 00:00:43,830 --> 00:00:48,120 intuitiveness, is it clear what you're supposed to do next; 14 00:00:48,120 --> 00:00:50,640 and clarity of copy. 15 00:00:50,640 --> 00:00:54,930 Once you show your portfolio, you can be asked to explain your design process. 16 00:00:54,930 --> 00:00:59,190 If you don't know what this means, pick your three best pieces of work 17 00:00:59,190 --> 00:01:01,500 and ask these questions about them. 18 00:01:01,500 --> 00:01:03,870 What problems were you given? 19 00:01:03,870 --> 00:01:06,370 How did you approach solving each problem? 20 00:01:06,370 --> 00:01:09,360 How did you iterate from idea to final product? 21 00:01:09,360 --> 00:01:14,450 How many concepts did you work on, and how did you decide on a final concept? 22 00:01:14,450 --> 00:01:18,370 The goal here is to show that you have a rational, thoughtful process 23 00:01:18,370 --> 00:01:22,220 that balances the requirements of the client with the end goals of the user. 24 00:01:22,220 --> 00:01:25,270 Aside from presenting visual examples of your work, 25 00:01:25,270 --> 00:01:29,310 you can be asked a variety of questions about your approach to being a designer. 26 00:01:29,310 --> 00:01:32,620 You will be asked questions that show your initiative to learn. 27 00:01:32,620 --> 00:01:36,360 Design, like everything in the tech industry, is constantly changing. 28 00:01:36,360 --> 00:01:40,740 And you will have to keep with the trends, best practices, and new technologies. 29 00:01:40,740 --> 00:01:42,810 Are you willing to learn this? 30 00:01:42,810 --> 00:01:46,450 And how proactive are you at identifying these trends and changes? 31 00:01:46,450 --> 00:01:50,120 Testing these initiatives can come in the form of questions like 32 00:01:50,120 --> 00:01:54,920 What do you read? What is an example of good user experience and why? 33 00:01:54,920 --> 00:01:57,860 How do you stay up to date on trends in the industry? 34 00:01:57,860 --> 00:02:02,260 Finally, you could be asked to run through a quick project at the interview. 35 00:02:02,260 --> 00:02:05,850 You could possibly be given a UI component to redesign 36 00:02:05,850 --> 00:02:09,590 or a description of a problem and be asked to walk through a solution. 37 00:02:09,590 --> 00:02:13,420 Carry these exercises out at home, so that you are best prepared. 38 00:02:15,660 --> 00:02:19,870 Developer interviews are a bit hard to generalize, because jobs can vary by 39 00:02:19,870 --> 00:02:22,430 language and other areas of expertise. 40 00:02:22,430 --> 00:02:26,720 Let's go over different types of interview structures you can expect to run into, 41 00:02:26,720 --> 00:02:28,840 and then we'll talk about different questions. 42 00:02:28,840 --> 00:02:32,940 In addition to the general interview questions, you will run into situations 43 00:02:32,940 --> 00:02:35,960 where you have to demonstrate your ability to code. 44 00:02:35,960 --> 00:02:38,500 There are a couple different ways you can be asked to do this. 45 00:02:38,500 --> 00:02:43,230 Whiteboard tests are a practice that many people have heard of 46 00:02:43,230 --> 00:02:46,830 but not a lot of people, at least developers I know, have been through. 47 00:02:46,830 --> 00:02:51,170 There is a general antagonistic trend towards whiteboard testing. 48 00:02:51,170 --> 00:02:56,030 A lot of people see it as highly unrealistic and an ineffective way to test a candidate. 49 00:02:56,030 --> 00:02:59,770 Nevertheless, it does happen, so you should be prepared. 50 00:02:59,770 --> 00:03:04,090 With whiteboard tests, employers are testing a few different things. 51 00:03:04,090 --> 00:03:08,240 A whiteboard is a finite space, so writing out some code 52 00:03:08,240 --> 00:03:12,390 quickly and then backtracking to add another variable or loop will get messy. 53 00:03:12,390 --> 00:03:16,360 They're testing your ability to think through a problem and how to solve it 54 00:03:16,360 --> 00:03:18,810 given the finite space that you have. 55 00:03:18,810 --> 00:03:23,010 Secondly, they're checking that you know your language without having an IDE 56 00:03:23,010 --> 00:03:25,120 all to complete your stuff for you. 57 00:03:25,120 --> 00:03:29,310 If you forget a colon, comma, or semicolon, it's not the end of the world. 58 00:03:29,310 --> 00:03:32,610 But they're looking to see if you can remember language-specific stuff. 59 00:03:32,610 --> 00:03:35,990 Finally, they want to see how you work. 60 00:03:35,990 --> 00:03:39,110 Do you ask questions and clarify any assumptions? 61 00:03:39,110 --> 00:03:41,820 Do you read over your code and check things? 62 00:03:41,820 --> 00:03:44,070 Is coding a collaborative process to you? 63 00:03:44,070 --> 00:03:47,360 Do you ask questions and explain your reasoning to the employer? 64 00:03:47,360 --> 00:03:49,630 Or do you like to be left alone? 65 00:03:49,630 --> 00:03:54,850 If you Google whiteboard coding, you will see a lot of people arguing against it. 66 00:03:54,850 --> 00:03:57,770 Regardless of where you stand on the issue, 67 00:03:57,770 --> 00:04:00,840 if there's a chance you might have to do a whiteboard test, 68 00:04:00,840 --> 00:04:03,220 it is best to practice beforehand. 69 00:04:03,220 --> 00:04:08,840 The second type of interview you can run into is a pair programming interview, 70 00:04:08,840 --> 00:04:10,930 where you code with someone from the company. 71 00:04:10,930 --> 00:04:14,950 Like whiteboard tests, pair programming has its own set of criteria 72 00:04:14,950 --> 00:04:17,070 to test in an interview. 73 00:04:17,070 --> 00:04:20,390 It is good at exposing an interviewee's programming style. 74 00:04:20,390 --> 00:04:23,750 Coding with someone allows you to see if they're open to criticism 75 00:04:23,750 --> 00:04:27,750 or are thoughtful and have the ability to express their ideas clearly. 76 00:04:27,750 --> 00:04:32,110 It can also show you if they're aggressive or competitive and hard to work with. 77 00:04:32,110 --> 00:04:36,190 Second, you get a very early glimpse of their creative skills. 78 00:04:36,190 --> 00:04:40,790 A key part of a developer's job is to read an insufficient set of requirements 79 00:04:40,790 --> 00:04:43,900 and come up with creative solutions to fulfill needs. 80 00:04:43,900 --> 00:04:49,540 Finally, you see through their thought process as they work through complex problems 81 00:04:49,540 --> 00:04:52,380 and get an idea of how they complement your team. 82 00:04:52,380 --> 00:04:57,000 Pair programming doesn't test at all job levels, so it's not ubiquitous. 83 00:04:57,000 --> 00:05:01,670 But for mid to higher level positions, you can expect to run into this kind of test. 84 00:05:01,670 --> 00:05:04,790 Then there's also written tests on paper. 85 00:05:04,790 --> 00:05:08,530 You could be handed code samples to review and identify errors. 86 00:05:08,530 --> 00:05:12,210 This kind of test is looking to evaluate the same set of criteria 87 00:05:12,210 --> 00:05:14,400 as a whiteboard test. 88 00:05:14,400 --> 00:05:18,410 As to the type of questions you could be asked, there's lots of different topics. 89 00:05:18,410 --> 00:05:23,110 You could be asked simple factual questions about a specific programming language 90 00:05:23,110 --> 00:05:26,400 or questions regarding data structures or algorithms. 91 00:05:26,400 --> 00:05:29,520 It just all depends on the positions you are applying for. 92 00:05:29,520 --> 00:05:34,520 A great way to figure out questions you might be asked at a specific interview 93 00:05:34,520 --> 00:05:38,250 is to check out websites like glassdoor.com or LinkedIn. 94 00:05:38,250 --> 00:05:42,790 Glassdoor is a great website to get all sorts of information about a job, 95 00:05:42,790 --> 00:05:47,460 from reviews, salary information, and most importantly interview questions 96 00:05:47,460 --> 00:05:50,680 that people have been asked when they interviewed with that certain company. 97 00:05:50,680 --> 00:05:55,360 I've included a document in the downloads with a list of potential interview questions 98 00:05:55,360 --> 00:05:58,100 by topic, ranging from easy to hard. 99 00:05:58,100 --> 00:06:01,570 The list probably only covers a tiny part of all the different questions 100 00:06:01,570 --> 00:06:06,040 out there, but, hopefully, it's enough to give you an idea of what to prepare for. 101 00:06:06,040 --> 00:06:08,610 Now that's all I have to add to the topic. 102 00:06:08,610 --> 00:06:11,410 But to round it off, let's look at what some of our teachers 103 00:06:11,410 --> 00:06:14,360 have to say about being interviewed for jobs they've done in the past. 104 00:06:14,360 --> 00:06:18,900 >>So it's interesting. There's such demand for mobile development right now. 105 00:06:18,900 --> 00:06:23,800 The moment I updated my online profiles to say I was doing mobile development, 106 00:06:23,800 --> 00:06:26,940 I started to get requests and job offers. 107 00:06:26,940 --> 00:06:30,160 I wasn't even looking for a new job, and people started to contact me, 108 00:06:30,160 --> 00:06:33,840 through LinkedIn and other ways, to say, hey, I see you've got these skills. 109 00:06:33,840 --> 00:06:36,000 Let me tell you about my company. 110 00:06:36,000 --> 00:06:40,540 And I went on a couple interviews just to see what things were like. 111 00:06:40,540 --> 00:06:44,210 And it's kind of an intense process. 112 00:06:44,210 --> 00:06:50,400 It's one of those things where, in my experience and I think this is relatively general, 113 00:06:50,400 --> 00:06:52,640 people want to know what you can do. 114 00:06:52,640 --> 00:06:56,140 They don't care as much about your degree or— >>Right. 115 00:06:56,140 --> 00:06:59,470 >>or what certifications you have. They want to see your code. 116 00:06:59,470 --> 00:07:01,740 And they want to see you code. 117 00:07:01,740 --> 00:07:07,370 So we mentioned having things available online for people to look at. 118 00:07:07,370 --> 00:07:11,360 But one of the experiences I had was, with some small companies, 119 00:07:11,360 --> 00:07:14,230 they wanted to—one company gave me an assignment to do. 120 00:07:14,230 --> 00:07:18,140 And I had to write some code, send it back to them so that they could review it, 121 00:07:18,140 --> 00:07:20,340 and do it within a certain period of time, 122 00:07:20,340 --> 00:07:23,800 so they knew I could turn things around and meet a deadline. 123 00:07:23,800 --> 00:07:26,790 And then another—a friend of mine had an experience where 124 00:07:26,790 --> 00:07:29,600 he went, interviewed for the company. They really liked him. 125 00:07:29,600 --> 00:07:32,430 They invited him back to do some pair programming, 126 00:07:32,430 --> 00:07:36,250 because they wanted to pick apart his brain, give him something to solve, 127 00:07:36,250 --> 00:07:39,180 and watch how he worked through it, and they ended up— 128 00:07:39,180 --> 00:07:41,190 there was an iPhone application they were working on, 129 00:07:41,190 --> 00:07:44,670 and they found some weird bug, and he was working through stack overflow 130 00:07:44,670 --> 00:07:47,790 and navigating the documentation, and he really just impressed them 131 00:07:47,790 --> 00:07:51,140 with how he could solve the problem and how he wrote the code. 132 00:07:51,140 --> 00:07:56,066 >>So pair programming is essentially you're there, and there's someone else watching you code. 133 00:07:56,660 --> 00:07:58,990 >>Yeah, he was working with a developer at the company for a couple of hours, 134 00:07:58,990 --> 00:08:04,290 on a small project, just to see how he worked with a team 135 00:08:04,290 --> 00:08:08,100 and how he thought about the problem. >>That could sometimes be nerve-wracking, too. 136 00:08:08,100 --> 00:08:11,280 >>Oh, sure. >>Someone watching over your shoulder and watching you code. 137 00:08:11,280 --> 00:08:16,010 >>Yeah, I didn't have that experience, but I imagine it was very nerve-wracking. 138 00:08:16,010 --> 00:08:18,440 It was nerve-wracking enough just to put together the code and send it 139 00:08:18,440 --> 00:08:23,530 away from somebody to evaluate, but it was also a good experience 140 00:08:23,530 --> 00:08:27,850 in that I could make it pretty much how I wanted it. 141 00:08:27,850 --> 00:08:32,450 I was putting my best out there, and it was up to them. 142 00:08:32,450 --> 00:08:36,590 As opposed to a more traditional interview, where you feel like 143 00:08:36,590 --> 00:08:40,210 you've got to answer the questions the right way, and you can leave the wrong impression. 144 00:08:40,210 --> 00:08:44,500 When you're just sending a product for them, like this is what I can do— 145 00:08:44,500 --> 00:08:47,220 it was a better experience for me. 146 00:08:47,220 --> 00:08:51,000 >>Yeah, I think, more and more, when it comes to actually coding in dev positions, 147 00:08:51,000 --> 00:08:54,730 the employers are asking you to send over code, 148 00:08:54,730 --> 00:08:59,350 or they ask you to solve a little puzzle, or they ask you to build a little feature 149 00:08:59,350 --> 00:09:01,720 that they could use in their app. 150 00:09:01,720 --> 00:09:05,680 So that they can review your code, they can see that you deliver on time, 151 00:09:05,680 --> 00:09:08,720 and they can see the depth of your knowledge, too. 152 00:09:08,720 --> 00:09:13,370 I mean, having the breadth is good, but a lot of employers do look for depth, 153 00:09:13,370 --> 00:09:15,560 especially when it comes to mobile dev. 154 00:09:15,560 --> 00:09:18,720 Do you know the language, do you know the ins and outs of the language? 155 00:09:18,720 --> 00:09:23,140 I think one of the craziest questions I got, which was totally unrelated 156 00:09:23,140 --> 00:09:28,640 to the development aspect, but it was more—can you think on your feet kind of thing— 157 00:09:28,640 --> 00:09:33,200 was, given two phones with both the airplane mode on, 158 00:09:33,200 --> 00:09:37,880 there's text on one phone, how would you transfer that text to the other phone? 159 00:09:37,880 --> 00:09:40,740 So it was just like it stumped me completely. 160 00:09:40,740 --> 00:09:43,630 I was like, well, there's no airplane mode, there's no Bluetooth, 161 00:09:43,630 --> 00:09:46,510 you can't have an accessory attached to the phone, like— 162 00:09:46,510 --> 00:09:48,960 how would you do it? 163 00:09:48,960 --> 00:09:51,100 I couldn't answer it, of course. (laughter) 164 00:09:51,100 --> 00:09:54,790 >>You know, we're given these detailed answers, and that's— 165 00:09:54,790 --> 00:09:58,470 this is for a more advanced senior-level developer position. 166 00:09:58,470 --> 00:10:01,570 I think a lot of companies, because it's a—there's a lot of demand, 167 00:10:01,570 --> 00:10:05,500 a lot of companies do realize that people are coming in as entry-level, 168 00:10:05,500 --> 00:10:08,920 needing to learn the technology, so that's a different experience, too, 169 00:10:08,920 --> 00:10:12,100 where I think, in that case, you just need to show that you have 170 00:10:12,100 --> 00:10:14,670 an appetite and an ability to learn. 171 00:10:14,670 --> 00:10:19,520 And that the culture and the fit with the team is important, too. 172 00:10:19,520 --> 00:10:22,880 They want to just make sure—whether you're working remotely or on site, 173 00:10:22,880 --> 00:10:25,160 just that you can communicate clearly 174 00:10:25,160 --> 00:10:28,840 and that you'll have the same, a similar work ethic 175 00:10:28,840 --> 00:10:30,840 as the rest of the people you're working with. 176 00:10:33,570 --> 00:10:38,840 >>Being interviewed for a development position varies from company to company. 177 00:10:38,840 --> 00:10:49,580 Sometimes there's maybe small entrance exams, sort of thing, so 178 00:10:49,580 --> 00:10:53,690 the most technically capable person in that company, 179 00:10:53,690 --> 00:10:56,860 which may be very technical or may be not that at all, 180 00:10:56,860 --> 00:11:01,010 may ask you how to start something in JSS 181 00:11:01,010 --> 00:11:07,740 or may ask you generic computer sciencey type things. 182 00:11:07,740 --> 00:11:14,700 And depending on your performance, I've often found 183 00:11:14,700 --> 00:11:20,500 even with a semi-okay performance, don't be too hard on yourself 184 00:11:20,500 --> 00:11:24,250 because you're often more technically competent than the other entrants. 185 00:11:24,250 --> 00:11:30,790 So always go in there with a positive attitude, and 186 00:11:30,790 --> 00:11:34,670 brush up on the particular skills that you know that they'll be looking for. 187 00:11:34,670 --> 00:11:40,550 >>It's been a very different interview process for every single job that I've had. 188 00:11:40,550 --> 00:11:45,210 For example, my professor hired me in college during my sophomore year, 189 00:11:45,210 --> 00:11:48,090 so that was the longest eleven-week interview I've ever had. 190 00:11:48,090 --> 00:11:52,350 So there was that one, but I've also interviewed for a more traditional 191 00:11:52,350 --> 00:11:56,200 advertising agency, where I had to come in with my computer 192 00:11:56,200 --> 00:12:00,790 and show them my favorite pieces and explain what problems I solved 193 00:12:00,790 --> 00:12:02,910 and really thoroughly go into them. 194 00:12:02,910 --> 00:12:07,660 And then another interview I had was just literally through Twitter. 195 00:12:07,660 --> 00:12:11,120 It was very casual. He mentioned that there was a job opening. 196 00:12:11,120 --> 00:12:16,530 I tweeted that at him, and he called me and set up a more official interview. 197 00:12:16,530 --> 00:12:19,790 But they've all kind of been very different experiences for me.