 we'll catch them up still okay sound wise a little louder how's that better projecting cool so that's good and I did turn off flux excellent cool alright so first yes fluxes off second thanks so much for coming I really appreciate you're all taking the time to come and see me talk thank you to RailsConf for great to let me talk thanks so much to Kansas City for hosting all of us so yeah yeah some applause for Kansas City excellent cool so hello I figure this is a computer talk so we have to get to start with zero right so part zero thanks I tend to speak really quickly so if I start going way too fast I get I talk fast when I'm excited I get excited talking about Ruby and about hiring and about boot camps and about all this stuff so if I start to go way too fast just something just like wave your arms or maybe dial it back some kind of large gesture that I'm likely to see to sort of slow me down and help help you guys follow along I'm gonna talk for about 30 minutes maybe a tiny bit more we'll have about 10 minutes at the end for questions I'm gonna try not to just plow through this talk it's funny a little bit ago I did a talk on Ruby garbage collection and I felt good about the talk and I practiced it and I was gonna in a good spot and then right before I started Matt's came in and sat down front row center so I got to teach Matt's about Ruby garbage collection also like half the Ruby core team so I did this talk pretending that all of you would be Matt's or practiced it rather and it seems that none of you is so I hope I'm in a good spot and that I like I said that I would just kind of truck through this talk also I'd ask you just to like stretch one arm you can go ahead just raise one arm there's gonna be a little bit of interaction not a lot I know we hate that so I'm gonna ask you to other arm to just in case you decide to switch it up I'm just gonna ask you to raise your hands at some point in the presentation show and and that's gonna be the extent of the you know the audience participation so like I said hello my name is Eric Weinstein I work at Hulu as a senior engineering lead you can find me on github Twitter etc etc in this human hash that I made if you like Ruby and I imagine you do or you wouldn't be here there's a book I wrote a little bit ago called Ruby wizardry that teaches Ruby to eight nine ten eleven twelve year olds that's available from no starch so thank you also to no starch they've gone ahead and given us 30% off coupon promo code so if you anytime this week go to no starch calm if you do want to pick up a copy of Ruby wizardry physical or E just use realsconf 2016 and that will be 30% off so again thanks to no starch for that so like I said this talk is pretty quick but I think it's still beneficial for us to sort of know where we're going so this is a kind of quick overview of what we'll be talking about with the obligatory clickbait right so where are we going you know that one big mistake we keep making one weird old tip etc there'll be kind of a survey of the field we'll talk a little bit about different bootcamp programs and sort of what they offer and what one learns in a bootcamp really what we should be looking for when interviewing bootcamp graduates this fourth one is super important and I believe it's kind of like going to be the running theme of this talk and it's belief in improvement if you don't believe that you can get better at math or programming or interviewing or ex skill through deliberate practice and dedication you're not going to so I think that believing in improvement and then promulgating that as part of our culture that we believe in improvement is huge and finally we'll touch on kind of a holistic model for continued growth right we will talk about interviewing and then once we've got folks in the door how we help them continue to learn and to grow as part of this part of the organization so part one we've cleared part zero on the second part no part one hiring right I think the crucial thing is we sort of lost the thread a little bit ago in terms of interviewing where we have confused the products for the process and I'll talk a little bit more about what I mean by that but essentially what we're looking for right is when we want to hire someone we want to say hey abstractly whatever it is that you know how to do are you good at that thing right whatever it is we're hiring for whatever it is we need are you good at doing that thing and to some extent we've confused that with concretions with ideas of what we think people should know and not generally stepping back and figuring out whether our arguments are being met instead kind of like looking at this particular example and we'll talk more about it and it's kind of steeped in in interviewing tradition so we'll talk a bit about that as well so we're under the first arm exercise right I warned you about this how many of you have attended a bootcamp or something that could be described as a bootcamp or a retreat or something like that cool or work with someone keep your hands up if you've worked with someone or have hired someone or have had some kind of meaningful interaction with a bootcamp okay so a lot of you excellent that's good so this talk is kind of a lie it's it's not entirely about bootcamps it is in fact kind of a larger talk about hiring generally and in the sort of confusion in terms of hiring and growing generally and it's sort of through the lens of bootcamp programs a because they're very popular it's sort of a trending topic in the community now be it just provides its focus to talk about a particular non-traditional route as opposed to kind of the abstract non-traditional background entirely and well see I guess it's not even really a lie it's it's more of a fit it's about hiring and growing everyone not just not just graduates of bootcamp programs my good on pace does it sound like a good relaxing excellent cool like I said I'm gonna try to dial this back just a tiny bit so what is the traditional experience right I think it's computing science which is not a typo it turns out Dijkstra called it computing science and I sort of like that because when we call the tradition computer science it's sort of like we understand computers right and everybody knows that computers are actually tiny non-deterministic boxes of feelings that do what they want and no one actually really knows how they work it's a deep mystery of the universe so we we I think should call it computing science because really when someone majors in CS they they look at compiler design they look at computation they look at algorithms data structures there's some writing code sometimes that's the thing that you sometimes do but that's really what we're talking about when we talk about a traditional background four-year degree in computing science learning things like graphs and trees whiteboarding and then a language like Java or C++ right a language that you would be taught in school a language that is the sort of lingua franca if you're looking at preparatory stuff like cracking the coding interview things of that nature and so this is that clickbaity thing I talked about this one big mistake that we've made and like I said somewhere along the way we've sort of confused this abstraction you know are you good at this thing that you know how to do are you good at this thing that we need with this concretion of given that the thing you do is computing science are you good at it and we sort of punish people who aren't or we kind of snipe look for weaknesses in people who are not good at computing science or have not studied computing science fundamentals are important that's why they're fundamental but there's something that we should really pay attention to when we're interviewing which is are we looking for someone who is really good at computing science or are we looking for something else because if we're looking for something else and we're hiring someone with that skill set or interviewing for someone who and this is another theme in this room if you've been here earlier today is super good at red black trees right that is a different thing than most of what we do day to day programming Ruby programming rails and all we're going to do if we ask someone these kinds of questions who comes from bootcamp or a non-traditional background to just make them feel bad that they don't know how to write a black red black tree for memory so these are this is the survey of the field that I promised you it's just the ones that I'm most familiar with there's nearly a hundred in North America alone so I've just picked I've just picked these six these are ones that I know have Ruby and Rails in their curricula so we've got Pap Academy Dev Bootcamp the Flatiron school general assembly hack reactor and Turing school so we're going to talk a little bit about these programs generally and get a sense of what the curricula are what's taught and guide our interview process from there sort of an in me I attended hacker school three years ago which is now called the core center I don't know if it's really a bootcamp in the traditional sense in so far in so far as you know there's no curriculum you can be doing Python for three months you can be doing you know C++ for 20 years and be taking your open source vacation you have all these 30 odd people these hugely disparate backgrounds in a room programming together for three months it is a non-traditional route though so I thought I mentioned it because we're about non-tradition in this talk so what do we learn in bootcamps it's not computing science not generally we learn things like Ruby and Rails right the curricula do vary from camp to camp but we can talk I think in meaningful generalities so there's server side stuff like Ruby and Rails there's client work in JavaScript of course because you're cursed with JavaScript it sort of depends on what on what framework so some will teach Angular some will teach react but there's some JavaScript there's some client side component this is a full stack type of experience so that also means that we learn software development tools and best practices so deploying stuff on platforms as services like Heroku using version control stuff like Git making sure that we can deploy something end-to-end and sort of work as working programmers and these programs do teach to the test quote-unquote they have to right you can't properly train someone for interviewing and say hey you're you're really good at this particular technology stack you understand how to do all kinds of crazy git bisecting things and reserving resolving merge conflicts and you can work in a professional environment but you are gonna have some trouble doing graph traversals on a whiteboard and that's how you're going to be evaluated so there is some of that though I would argue really what the meat of these projects and bootcamps is is learning how to function as working software engineers so like I said resolving git conflicts merge conflicts working and deploying and tracking down weird bugs things of that nature a friend of mine kind of thinks of it as physicists versus carpenters this notion that like the physicist will tell you yeah what you've designed that that building won't fall down that seems reasonable but there's all kinds of hands-on stuff right all kinds of physical acts of pulling software that you don't learn as an undergraduate studying computing science and I think it really boils down to sort of knowing that and knowing how and I think we need both in order to have a meaningful education in programming and software engineering so these are some of the things given this this one big mistake that we make this confusion of are you good at this thing and are you good at computing science these are the things that I look for when I'm interviewing anyone but particularly bootcamp graduates or folks with non-traditional backgrounds so the ability to write a non-trivial program and by non-trivial I mean something that does something in the world where you have network access file IO API calls you know it's not just his buzz it's not just balancing a tree oftentimes I like to use problems that sort of are boiled down from or reduced from real problems that we have a hulu so I work on the ad platform team my team their job is to write the software that the sales planners and the ad traffickers use to determine what ads are how ad campaigns are rolled out whether you see the same ad four times in a row I'm trying not to do that if you have seen four Geico ads in a row I'm sorry please come see me after the show and we'll we'll fix it but you know having some kind of you know pair coding challenge where it's like hey we have one Geico ad and and other ads and how do we get a sequence of ads where we don't you know repeat ourselves however many times or we don't have two ads adjacent things like that the ability to adapt to new and changing requirements this is huge this is probably the hardest thing to handle in an interview when someone says great that's a good solution those tests pass that looks nice what about this there's a new edge case or there's a bug or the client loves it and three weeks later there's a new request that completely turns on its head all the stuff that you just did dealing with that changing nature dealing with kind of ambiguity rarely do we get full specifications complete requirements very rarely does someone come to us and tell them exactly tell us exactly what they want the ability to work well with others this is why I want to do pairing and sort of collaborative interviews rather than adversarial once I think we should be working with interviewees and not literally challenging them to do better than someone else has done on this problem or do better than you yourself have done you know passing along the pain because you had to do this when you were interviewing that was terrible and so everyone should feel terrible we should stop doing that so the ability to work well with others is huge to collaborate with someone over it remotely or in person and solve a problem I look for people who are passionate about learning people who deeply want to be better or to know more or to know why and it doesn't have to be computing science it can be people who are passionate about learning the guitar or learning philosophy or learning music but I need people I need people who are excited to learn and to become better because those are the people who are not going to be satisfied when 10 clients are fine and one says I have this weird bug sometimes but I guess it's fine because I don't see it a lot or it only happens on one machine or it only happens sometimes or someone has devised a bizarro work around for some tool that you built and rather than actually fix it you're like well they seem okay so I want someone who's really looking to improve and to learn and to grow and finally self-awareness and this is the crucial one this is the one that sort of underscores and informs and reinforces all the rest because people who are self-aware understand how they come across to other people they understand how to work as part of a team they understand how to manage the changing dynamic not just of the code but of the people they're working with when people change roles when people join when people leave being able to deal with all these things the root of this is self-awareness so I encourage you to try to when interviewing figure out what signs are associated with self-awareness and then look for those because I think without self-awareness we're really we're really in trouble so finally this last one on the slide Peter Norvig there's a link to this so when I I'll tweet the speaker next slide so you don't have to memorize a short URL Peter Norvig when and found actually a negative correlation not not a non correlation but a negative correlation between people who are good at whiteboard interviews traditional interviews and job performance and I don't think that means that people who are good at interviewing are necessarily bad at software engineering but what I think it means is that interviewing is a separate skill from the jobs that we do there are people who are very very good engineers who are not good at traditional interviews there are people who are very very good at traditional interviews who are not very good engineers so that brings us to our next hand raising exercise raise your hand if you now are or have ever kind of made the jump from individual contributor to manager if you're familiar with that management okay keep your hand in the air if you believe that the very best developers make the very best managers all the time right yeah so I thought my hand also went down so we understand intrinsically there is a difference in these skill sets right being an excellent developer does not make you an excellent manager it's a separate skill that can be learned and interviewing is the same deal interviewing is a separate skill from software engineering that can be learned so yes you can go out and get really good at interviews and get tons and tons of offers but I don't think that's the right answer I think the right answer is to fix interviewing and I think I think this kind of identification of the mistake we're making and actively taking steps to address it as part of that so now I'm obligated to tell you that Hulu is hiring so if you're interested in working at Hulu come find me I put a card up on the job board I'm always happy to talk about what we're doing at Hulu what my team is doing things like that my contact info will also be up on the final slide if you want to send me an email or tweet at me or come find me on github or something like that so now we've looked at what interviewing can be like or what problems with interviews that there are that we can address and we've looked a little bit how you know bootcamp graduates differ from those with more traditional backgrounds getting a sense of how we might modify our practices I sort of want to turn now to how we can help folks grow and learn on the job and I kind of also want to underscore again this is this is kind of a fib this is kind of like a misleading talk title because this is about everyone not just about bootcamp graduates although like I said it's a it's a good lens for investigating this if you take nothing else away from this talk I'd like you to take this away this is the most important thing in the entire talk the belief that you can improve that you can grow and moreover that your culture is one of growing and learning and getting better and it's super important so I'm just going to read it to you even though I hate when people read things to me the belief that you can improve your abilities results in better performance than if you believe you either have it or you don't so Carol Dweck and I hope I'm pronouncing her name correctly wrote a paper a bit ago is math a gift beliefs that put females at risk and then later a book she also wrote called mindset new psychology of success which investigates this kind of dichotomy right are we born with it are we talented are we innately good or is this something that we learn through practice and it turns out when you prime someone on a task with the belief that they can get better through practice they will actually do better than if you prime them with like a don't worry about it some people are here's a math test they will do worse than the people who you say listen no pressure this is a thing you can get better at through practice and dedication and it's a learned skill so like I said you take nothing else away from this talk please take this away that the belief that you can grow and making sure your culture is one of growing and getting better is is what underpins the whole the whole thing so it was a bit of a talk within a talk here is kind of talk exception type thing so more exercises how many of you this is your very first RailsConf oh it's awesome there's always new people every year I'm always a super excited so welcome this is really cool that you're here if you were at RailsConf two years ago Chuck Larvos did a talk called building kick-ass internal education programs for large and small budgets and so if you saw that that's awesome if you haven't seen it I encourage you to watch it the links to the slides and to the YouTube video are here on the slide but if you didn't see you don't have to wait I'm gonna kind of TLDR it for you because I think all of his ideas are awesome and are part of growing people who you've now welcomed into your organization so here's the plan real quick one you don't have to know everything which is good second start Monday this is something that you can do immediately this is not something you have to wait for this is not something hopefully that you need tons of approval to do two examples of things that we can do are lightning talks they're lightning talks here at RailsConf they're lightning talks at meetups you can bring them to your organization they can be about anything you can also do kind of more in-depth workshops lunch and learns kind of a weekly maybe half hour type thing and talk about XYZ we'll cover a couple topics that I found in my career have been valuable and finally the idea of the account of Bill a buddy this is this is good for a lot of things and we'll touch on all of them but essentially pairing new hires with people who are more experienced in the organization to help with onboarding and things like that so we'll go through these in a little bit more detail and hopefully my speaking speed is still good I'm getting really amped up this is like my fourth cup of coffee too so I haven't seen any any waving or flailing so that's good I'm not going too too fast so one like I said you you don't have to know everything the good news is you literally can't I know I just told you that I should be priming you on things that you can learn and get better at but unfortunately you cannot get better at knowing everything is impossible so don't worry about it so I can teaching someone how to do something is an excellent way to learn it yourself so if you teach someone something you're not only spreading knowledge right organization you're getting better at it you encourage someone else to teach things they get better at it and it's sort of a domino effective of goodness which is nice and this kind of little Zen bit at the end is just you know my reassuring you that you don't have to know where you're going you can start this on Monday and not have an end in mind that is totally fine as long as you keep working on it it will grow organically so please do start on Monday when you when you go to work it's Monday May 9th 2016 this coming Monday you should feel empowered to do this this is something that you shouldn't really need your bosses bosses bosses signature in order to go and go do so I encourage you to sort of take this into your own hands and then start this education program yourself and like I said you don't have to know everything you don't have to know where it's going you have to have a couple seats and you know like like I said we've a few slides ago we solved interviewing forever which is awesome so now that interviewing is solved hopefully the folks in your organization are interested in growing interested in learning they should be pushing already to do something like this like you should have something kind of like bubbling under the surface if you don't already have an internal education program so hopefully momentum will be easy to achieve like I said lightning talks are an excellent way to start this you can say on Monday hey we're doing lightning talks on Friday 4pm and prepare something right that's a good first step they can be technical they can be non technical they can be in house you can do the meetups you can practice your next RailsConf talk as a lightning talk the sky is a limit remember that teaching something is a great way to learn it lightning talks are like I said a part of RailsConf you should totally sign up to do one I don't know when and where signups are I do know that the lightning talks this year are Thursday from 537pm I think that it's in the RailsConf documentation in all the all the excellent stuff that we've gotten from the RailsConf organizers so I encourage you to sign up for one or at the very least go see one so you can get a sense of what lightning talks are like and what you might be able to bring to your organization again I apologize for throwing a bunch of links at you these will be much more valuable when the slides are online which will be later today these are just some just that I've picked up over the last couple of years to sort of come up with curricula right for in house programs so the ones that have been really valuable are Git and these tend to be more valuable for actually folks who do have computing science backgrounds who have not necessarily worked with lots of other developers on huge projects so learning Git right learning how to rebase and squash commits learning how to use Git bisect which is huge so there's a just a link here that kind of just goes through like 10 ish weeks of Git and a half hour training. Ecoscript 6 or 2015 or 2016 or JavaScript next or Harmony or whatever it is we call it there a lot of people who are super interested in this and just like you're working on an older code base you don't have the opportunity to switch it up again this is something that even folks with a traditional background might be interested in because you probably don't get a chance to do a lot of JavaScript in undergrad which is probably good and these last two I think are valuable for folks who have backgrounds that are non-traditional these are functional programming this is through the lens of JavaScript it can be functional programming in Ruby or Python or what have you and the last one is data structures and algorithms for web development so when you do have a tree problem when you do have a graph problem you can go through these exercises and you can use these hopefully as a basis for your own education programs and again these are just they've been edited revised they're constantly growing and changing and I think you know being open to that change is huge so if you say hey Friday's at lunch we're doing lunch and learns here's the topic or here's here's some topics like we should kind of vote on what we want to do we should go in this order we should talk about this thing again they're going to kind of evolve and grow organically so I encourage you just to get just kind of plant the seed plant the tree and and let it grow finally I count a bill of buddies this is obligatory South Park reference which is a Hulu show if you don't subscribe to Hulu you can subscribe to Hulu and you can watch South Park my boss did not tell me to do that so the idea is to pair new people with a mentor from the organization for say the first three months I think Chuck in his talk said onboarding time went down drastically by doing this it was something like it took six months to spend somebody up before they instituted the program and now it takes three so you can expect anecdotally I've had similar results you can expect a like a very noticeable reduction in onboarding time simply by having a mentor for someone to go to and say hey how do we deploy this thing what does this service do how do I make coffee like all these things that you want to know very early on in your time at a new company that say HR is not going to be able to help you with it's not benefits related it's not things like that it's kind of the day in day out of developing software or staying alive in the case of coffee and like I said this is the thing you can do immediately so I think this is the last last hand raise I'm going to inflict on you raise your hand if you feel prepared to do this on Monday May 9th 2016 even just like send out an email or a hip chat or a slack thing be like hey guys what do you think of this I feel like I don't see enough hands up we'll talk after if you feel unprepared we will get you prepared you'll be good and that's the end of the audience participation so you guys can relax now not going to call on you okay so you've gotten this far thank you this is the TL DPA a too long didn't pay attention this is sort of the whole talk in three bullet points so essentially it's this I would encourage you to write down what you're looking for when you're interviewing someone I mean actually like write it down say here are the skills that we're looking for here the personality trades here's what we want people to know how to do here's what we like here's what we need and compare that against what you're interviewing for and if you're not getting at those things with your interviews it shouldn't be surprising to you that you're not finding the right folks and hopefully this is kind of like oh man alright eye-opening type thing this is not meant to make anyone feel bad about interviewing like we said you know there's a reason there's like an interviewing is broken blog posts like every week and hopefully this is a nice way to fix it and like I said we'll help fix it but you know oftentimes what you're not you're not looking for someone who is a computing scientist sometimes you are sometimes you have very academic problems or problems that have a very traditional route and that's great you should if you need someone who can write a red-black tree and balance it from memory or avial trees or splay trees or other data structures that I only know the names of that's fine you should you should hire those people but oftentimes it's not what we need and we should be aware of that I think also that we need to look for strengths identify what makes someone shine what makes someone valuable rather than probing for weaknesses because we're always going to be disappointed if we prep for weaknesses right like we're going to be disappointed if we find one we're gonna be sort of mad if we don't like alright well whatever like I guess this person is way better than me that's fine but essentially we want to know what someone can bring to the table and not focus on where their weaknesses lie second like I said this is the whole theme of the talk I encourage you to take this away if nothing else believe in improvement believe that you can be better believe that improvement is part of what we do all the time and then work to make that part of the culture and finally sort of be the change you want to see in the company I'm reasonably sure I stole this from Gandhi in some capacity but you know it's not just the code base it's not just like the kind of the you know the Boy Scout rule of you know leave things better than you found them really you need to apply this to your culture to identify what it is that you need and want how to get better and to iterate on your culture the same way that you iterate on your code because fundamentally all tech problems are people problems right at some point in the chain of events some human was typing stuff into a keyboard so I encourage you to keep that in mind that every single problem that we have technically is also at its heart people people problem and that's nice because while machines are little deterministic or nondeterministic boxes of feelings that do what they want humans are also kind of like that but are easier to understand I think anyway so thanks again for coming to my talk I really appreciate it like I said if you have questions we'll take time for questions if for some reason we don't have time please do you feel free to come up to me and and look for me all throughout the rest of RailsConf I'll be here like I said all my contact info is up here on this slide so feel free to reach out if you do want to copy every wizardry or you have questions about it please let me know or feel free to take advantage of the discount code and thanks so much sure so the question is for bootcamp graduates they often have portfolios of work do we read their code you might have seen if you read hacker news which I try not to or at least not the comments there was a blog post recently that was like you know forget you I'm not going to spend two hours reading your code I'm not going to spend two hours reading your stuff I'm not going to look at your website I strongly disagree with that I do a lot of interviewing I'm super busy all the time I make time to look at portfolios I make time to read stuff on GitHub I'm not going to read everything I might just kind of go straight if you have a Rails application go straight for your controllers and see what's going on because there's a lot of doom there I I might go and take a look at a project you've done I might pop the console and kind of dig around in the JavaScript and say oh this person is using React that's really cool I might go and look and see how you're thinking about structuring JavaScript applications or how your Ruby application is built or if it's a language I've never seen before try to learn something new but yeah the short answer is I do if there's a portfolio or a GitHub profile or something like that I do try to read that because I think it's super valuable sure so the question is we get a ton of applications at least in terms of boot camps for every single position that is appropriate for someone who's graduated from a boot camp in terms of background and skills how do we do a first pass how do I cut that down to a reasonable manageable number so some things that I do and these are sort of ad hoc anecdotal I read resumes pretty carefully I know that this is going to be frowned upon by some folks but like I look to see if someone you know has updated their resume that's the most up to date I will take a look and say hey are these things spelled right are these technologies that we use are these things that we're interested in I'm kind of a weird stickler for that stuff but I firmly believe that you know in the age of spell check in the age of like being able to ping someone in your organization say hey like can you look at this or I guess not your organization because then they would know that you were interviewing but your friends and be like hey can you look at my resume can you look at my application for this job I firmly believe that people who are really spending a fair amount of time who are interested in an organization will go ahead and do that essentially signs that someone's kind of easy to do and it's really stressful when you're coming out of a program like a boot camp and you kind of want to maximize your chances for success it feels like it is kind of a heavy ask like well do you super want to work at Hulu or do you just want to sort of work somewhere right but again like I said the culture stuff the desire to learn the desire to grow desire to do meaningful work I think it's sort of tied into people picking and choosing the places that they want to interview and so I kind of look for signs that this person has looked at my organization in particular on purpose so oftentimes like things that don't come with a cover letter I'm kind of bummed like I like to recover letters I like people to explain why they want to work on a particular problem or a particular team so that tends to actually screen about half of people half of people have something about it and I apologize for being swayed by things like typos but has like you know it basically knows not to seem interested and I'm actually super interested if you guys have ways of doing this or things I can do better because like I said this is an iterative process so I'd love to get better at interviewing if you guys have tips please please do come find me. Sure so the question is is there anyone at Hulu or I suppose anywhere really who's not swayed by this who kind of thinks interviewing is not broken but it's fine the way it is and then what would be my advice to folks coming out of boot camps to win these people over? Yeah the answer is for any sufficiently large organization you're going to find this. I do know people everywhere who firmly believe that if you can't do a graft reversal problem on a whiteboard you don't deserve to work as a software engineer that there's no space for people who don't have that background that somehow they're missing something so fundamental that the only solution is to go learn that thing and come back and that is one option there are books like cracking the coding interview there are a number of websites that kind of teach you dynamic programming problems they teach you graft reversal treat reversal things like that so you can you know meaningfully tackle you know 80% of whiteboard interviews and do fine that is one option. I found in my career that it is impossible to reason people out of positions they didn't reason themselves into so if someone has reasoned themselves into the belief that you need to know these things I think logic does seem to work pretty well so I'll sit and you know we do debriefs we do little round tables after interviews someone will say well you know this person that we're interviewing them for a front-end job or interviewing them for like to work on a legacy rails application and they do have like 10 years of experience doing rail stuff but I asked them a dynamic programming question and they couldn't really do it and I'll say okay well what dynamic programming problems have we done recently right what is that what is the impetus for this idea that what you're interviewing for is valuable for the thing that we need that's sort of how I win them over I think as a bootcamp graduate the best you can do is is kind of say hey listen like this is a thing that I think is interesting here's the best solution I've got does it seem reasonable in an interview and I it's hard to not want to just like throw the marker give up like listen I can't do this it does seem reasonable to say can we work on this together that works maybe half the time sometimes the interviewer just thinks of that as like I ask for a pass and that's no good but I think most interviewers we say hey here's what I think seems reasonable you just give it the ugliest brute forciest it's naive a solution you can't say does this seem to work and then most interviewers will say yeah that does work or that doesn't work or did you think about this and then they're willing to sort of work with you on it short term unfortunately the best answer might be learn how to do these things well while people hopefully like us like me like you kind of go and try to promulgate this this new theory of or maybe not new this hopefully better theory of interviewing it will take time but I'm optimistic short so the question is can I expand a little bit on what I mean by self-awareness and down the line sort of what does that look like does that sound cool so when I say self-aware what I mean is the person is nice right this is someone you enjoy talking to this is someone who will not talk over you right some examples someone I will sometimes purposely say something that's sort of a generality it's not quite right it's close and I listen to see if that person will say well actually I guarantee you like 99.99% of sentences that start with well actually you just should stop listening to the rest of that sentence because it's not useful for your life I will spend some time saying okay well you know I try to avoid like the very transparent like told me about a time you had a disagreement with a co-worker right but say hey so that sounds really cool that doesn't sound like that seems like an unorthodox way to do that what did your team think of that or what did your boss think of that or hey it's really cool that you're using to kind of get by in like how did you do that and look for clues like did that person sort of stampede people did that person kind of put it out there and everyone kind of said no and they sort of did it anyway right like we've we've all seen people who kind of go off and sort of do their own thing getting a sense of does the person seem empathetic to the problems that you have your organization when you describe it or do they kind of say oh I know how to solve that or that's a dumb problem I don't really care about that problem right sort of do they seem aware of how they come across like do they seem aware of the interview is going well or poorly things like that in terms of how that sort of evolves over time I found that people who are more self-aware and organizations tend to do much much better and again because working at an organization you're working as part of a team you have to be aware of how you come across there have been some exceptions where I know people who are not super self-aware but they've managed to find like a manager who's like who is and they're like oh don't worry about so and so like here's when they said that thing here's what they meant or here's here's actually like I know that came across kind of harsh but here's actually and that can sometimes work if you've got someone who's super super talented but has trouble but I found most people will do their best to if it's kind of quietly brought to their attention by a peer or superior they'll they'll try really hard to to be better I hope that kind of answers your question right right so the question is is there something above and beyond sort of as you're growing people beyond these kind of like periodic touch points to ensure that your employees are growing that the organization is like so certainly having those those periodic touch points are valuable and I think necessary so you do want to have one-on-ones with your team members you do want to make sure that there are larger team meetings less frequently that's sort of are uses to directional condiments and I think that's probably part of it so above and beyond having these touch points I think it's important for meetings between like management and your team or however your organization has broken down are two way right so it's not just the organization you know that the business leads coming to you and saying hey here's give me a status update right and then sort of them knowing what what engineering is doing secretly when they're not watching it's I think more about having a two-way communication like when I do one-on-ones I make sure that I say you know is there anything you need for me am I blocking you is there anything that you want to talk about stuff like that but I'll also say hey here's some things that I know are happening soon and you might need them for context and why we're prioritizing particular projects you might need to sort of understand why we're being asked to do what we're doing and I think that's valuable right because no one really likes to work in a vacuum so making sure that communication is two-way I think is super valuable another thing is to like I said make sure that this this notion of growing and getting better is a truly cultural thing right culture is always always always set at the top of your organization so if at the very top there's no buy-in for an internship program or there's no buy-in for continuing development if there's no buy-in for programs like that it's going to be it's going to be hard and like I said this is something you should feel empowered to do on your own and I think you can you can grow it up to the top but if you meet active resistance right like we're not spending money on that we're not spending time on that you guys should be pushing features and not learning things that's that's a signal to to go somewhere else possibly so I guess above and beyond those touch points it's those two things seem appropriate to me making sure that communication is always two-way and making sure that you do everything you can to kind of pass upwards so like when I have one of ones with my boss I'll you know he'll tell me about what's going on but also say hey like my team is super interested in this can you can you push this along and so you can have a large effect for just your team doing just you and things will go well but I've found that the multiplier is having the folks at the very top also on board cool so we're we're at time I don't want to impinge on the next talk so thanks so much guys and please do find maybe you have a good