This is How Companies Think About Hiring, with Dominik Piątek
transcript
===
[00:00:00] Dominik: I was reviewing a challenge from a developer years ago. We had the same challenge obviously for everybody. It wasn't Fizzbuzz, it was something else, it was like a little bit more complex. And he did it, but he said something that really made him, you know, completely like, we're done here. He said, I can't imagine how this would be done differently.
[00:00:18] Scrimba!.
[00:00:21] Alex: That was Dominik Piatek, a self taught developer, hiring manager, and staff engineer at Clio. Funnily enough, our paths crossed at my previous company, where Dom actually interviewed me for a Culture Fit interview. Once I then got to the company, I was really impressed by his reputation. That's because everyone spoke so highly of Dom.
[00:00:40] And even more than that, I saw evidence of other developers going to him time and time again for help and advice. To me, that's a really great sign you're doing something right. What I didn't know about Dom at the time, and something we'll learn more about in this interview, is that he emigrated to London from Poland and worked various odd jobs before teaching himself to code and rising to the seniority of a staff engineer where he's been trusted to hire and mentor other developers.
[00:01:06] I think if this interview was about Dom's story alone, that would be a great episode, but we're also going to learn what he looks for in developer candidates, and his best advice to succeed as a self taught developer based on his years of experience. I'm your host, Alex Booker, and you're listening to the Scrimber Podcast, a weekly show where I interview recently hired developers, as well as career experts like Dom, to help you learn to code and land your dream role in tech.
[00:01:32] Dom, welcome to the show. I feel like the tables have turned a little bit because once upon a time, you were the one interviewing me, if you remember. I did. When I applied to work at Abley and went through the interview process, it was yourself and a lady named Beth doing the kind of culture interview parts.
[00:01:48] It was a really memorable experience because I remember halfway through the interview, you did something a little bit bold, I think. Not everybody would do this, but you paused me and you said, Alex, thank you for your answers. But can you please make sure to give examples with your answers because that's going to really help us in this process.
[00:02:04] Someone could look at that and be like, Oh, that's a bit confrontational. But I was like, no, I really appreciate the guidance because ultimately that's what helped me be successful in the process. So thank you for that.
[00:02:13] Dominik: Yeah, no worries. In an interview, you basically have like one shot. So if somebody like really starts diverging, it's your responsibility as an interviewer to kind of try to get them back on track, even if it's like maybe a little bit, as you say, confrontational.
[00:02:27] Alex: People get nervous, right? I don't think that's what happens to me. I think as we're getting examples, but I've been on the interviewing side and I've seen people be a little bit nervous and they just go on tangents and tangents and tangents and they're running down the clock. But that is not a successful interview.
[00:02:43] You want to be revealing something with your answers as well.
[00:02:45] Dominik: You could be nervous. Sometimes you just talk. You might be like too relaxed. You start talking about your family, your dog, and you know, like God knows what, right? But you have limited time. Being interviewed is a skill as well. And being very conscious about.
[00:02:59] What you say, how much you say, and just being on point. You really have to make that time count. Exactly. It sounds a little bit bad, right? Because you're supposed to sell yourself. And then it's like, Oh, selling, you know, like, Oh, that's a bit icky, especially if you're a developer. But it's incredibly important.
[00:03:15] And it's for you. You're trying to show. Who you are, what you know, what you can do, how you think, and usually you just have a very limited time for that, like an hour, maybe two with different people who have like their own agenda. So I think it's just very important to think about that when you answer your questions and not just like, yeah, my company, you know, like was doing this and then you go on talking about the company and not yourself.
[00:03:40] Or like, tell me an example for something and then you go on a tangent about like the whole situation because you're like suddenly in the zone, like reliving it, right?
[00:03:50] Alex: See, this is why I was so excited to have you on because you've come out the gates and you've already got some perspective and advice from your experience as an interviewer.
[00:03:59] I want to make sure that we go right to the beginning, though, to kick this interview off and then we'll circle back to some of your advice for juniors. How about you tell us a little bit about your journey into technology? I'm wondering if it was always obvious to you since you were a teenager, if you would become a developer and a professional developer or if it's something you kind of found yourself doing a bit later in life, maybe?
[00:04:19] Dominik: Yeah, I never really planned to be a developer. I was always technical. I always liked to build stuff. I did some programming at school, like I did some Turbo Pascal and I did some C, but I wasn't very good at it and nothing ever worked. Okay. I've did this on like microcontroller programming as well. And I was like the same.
[00:04:40] You're like, Hey, I'm going to put some assembly in it. And then I just like, it doesn't work now. What it's like, spend a week to like make a led flash, you know? So many years later when I was. I was in the UK, I became a partner at a company, like a small agency. And by that time I, I did like many different jobs and have a strange set of skills.
[00:05:01] Like I've done some like admin work, I've done some graphic design, you know, I was, I was techie. So a friend brought me in as a partner into this agency.
[00:05:09] Alex: Do you mind if I ask how old you were at the time?
[00:05:10] Dominik: 23, 24, something like that.
[00:05:14] Alex: Cool. And you just moved to the UK. Was that for work specifically to work in tech or was it was there other circumstances around you?
[00:05:21] Dominik: So I'm originally from Poland, Szczecin. I came to the UK when I was I think 20 and I mostly came because it was like a terrible time to look for a job or even study in Szczecin. I was like, If you look at the stats, like the unemployment rate was about 15%, you know, like, okay, it's 15 percent the London unemployment rate right now is like 3%.
[00:05:43] You can really feel it if the unemployment rate is at that level, like there's lots of people who don't have jobs, and it's very hard to get a job. And the employers are very, very picky if they, you know, want to keep you or not. Anyway, so it was terrible. Poland joined EU and I was like, right, I'm going there.
[00:06:00] I want to actually earn some money and have like a decent job. I dropped out of studies. I didn't really enjoy them. I did some telecommunications engineering or whatever. It wasn't programming. Really? It wasn't programming. I did more stuff with like hardware, all the Russian hardware, actually, like some of the remembering the cold war.
[00:06:19] It was interesting, but it was not my jam and the perspectives were like, just really poor at the time. I didn't plan to stay in the UK, but I was, I said like, Oh, I'm going to go, I'm going to earn some money and maybe come back in a few years, 20 years later, I'm still stuck here. So, you know..
[00:06:36] Alex: Stuck. I hope it's partly because you want to be here.
[00:06:39] Dominik: Definitely, definitely. It's a joke, but it's just like the hopefully like some of the have decent humor, you know, English humor, just like rubbing off on you. Yeah, yeah. I came to the UK. I had lots of different jobs, like I've tried to settle in and just earn some money.
[00:06:56] Alex: What kind of jobs did you work?
[00:06:57] Dominik: Mostly admin.. And in like warehousing, I was like something called a stock integrity controller. I basically made sure there's, um, the right amount of kegs of beer in the warehouse. I worked for like Carlsberg, I worked in a Porsche parts shop, which is great because like. Uh, sometimes had to get on like calls and, you know, had to understand what people were saying to me that allowed me to really improve my, my English and kind of start using some of the skills that I had for like better jobs when I joined the agency, I've put on many hats.
[00:07:34] I was doing like some sales. I wrote some pitches. I was doing like some SEO and we had a developer in the team and he was doing some website stuff for us because we were doing a lot of print stuff basically like for restaurants in London or like political parties or whatever like MPs and I saw him work and he was doing like WordPress, JavaScript and things like that.
[00:07:56] And I was like, it's really cool. This is not like C. And I didn't plan it, but I started reading about like how that works and asking him things. And, uh, So then I found myself just like doing like online courses and just like learning JavaScript. And then in some downtime, I was like, Hey, can I do some stuff?
[00:08:15] So I would sit and like, do some website stuff, like learn some jQuery, do some widgets and things like that. And I really got hooked. What did you like about it? Um, the feedback loop, the problem for me, like with C and everything like that, it's just like, Code compiled or like it didn't, and that's it. If it compiled, you know, like you've got your like matrix manipulation or like whatever it's worked.
[00:08:36] And then with JavaScript, just like here's this website, this almost tangible tank, right. That you give to customers has like, that can have like a noticeable impact and just like all this cool stuff. With the web going on, you know, like in changing the world. Right. Like remember, this is like early 2010s.
[00:08:54] Alex: JQuery days.
[00:08:56] Dominik: Yeah. And app store is like, I think two years old or something like that. So everybody's talking about like the next big app and, you know, like we spend many evenings just sitting like we should write this app or this app, you know, like the big red button or like. Whatever, like lots of strange ideas that were never worth anything, but I've been learning very fast and I was very into it.
[00:09:18] It was just, just fun. It was like many aspects of it that I enjoyed, like the UX, the design and the loop of like making something and giving it to people was like, Much faster, although like I was still bad at it. I've built some broken websites, you know, or like the designer was shouting at me because like, not everything was pixel perfect or the colors look different.
[00:09:38] And I didn't know why, you know, like it's the same color. I'm just copying it from the photos from Photoshop and it's still different. Why, you know, and then spending a day just like learning about like monitors and color space and it's like, oh. Then we like, oh, we can't do that. Like this color would just look different.
[00:09:55] Like that color is literally not available on the web. It's like, uh, that's bad because we promised them this color . So yeah, great times quite hard because agency life is hard, but I really gained a lot of skills. And I was so eager. I was so eager that after a year, you know, when we decided to close shop and had to, we actually had to earn money again, I managed to get a job and I was lucky because I had a, I found like a really good team and with them, I really, I think managed to like hone some of these skills, you know, And to focus down, I've learned like Ruby, I've learned Git, how to work in an agile environment about startups.
[00:10:38] That's kind of the path, yeah.
[00:10:40] Alex: It sounds like the agency was your education for coding in a lot of ways. Yeah. You described it as hard, but sometimes it's in those hard environments where you really grind and you're motivated to grind. That's when you come out the other end and you put your head up and you're like, All right, I can, you know, I can code now.
[00:10:56] I've got some options. And then you can kind of choose. Where to go from that?
[00:10:59] Dominik: Yeah, it didn't feel like that at the time, honestly. So like, I've spent like quite a bit of time back then on Hacker News and I was very, I was very buzzwordy because I was reading all this stuff. I think in my interview, I just overwhelmed people, like with how many words I knew, like frameworks, I knew that I probably didn't use, but I was just like, so into this, like this guy must know his shit.
[00:11:24] I probably didn't, but I've read this comment from like some engineer on Hacker News and he said, like, it's going to take five years. It's going to take five years of you coding to become comfortable with coding. You're not going to be senior. She's going to be an engineer, but you need like five years.
[00:11:41] Right. And he complained like, Why is that? And things like that. And it was just basically, you know, like, you need the experience, you need to do stuff, you need to work with other people and, and so on. And that really stuck with me. And after those five years, more or less, I was like, yeah, you know, like, I feel like a developer, like, before that, I was just like, I'm cheating.
[00:12:01] I'm a fraud.
[00:12:02] Alex: Imposter syndrome.
[00:12:03] Dominik: Exactly. Yeah. I did a course on lynda. com, which is I think now linked to learning. Uh, and I, I do JavaScript, you know, and take money for it. I'm a fraud.
[00:12:12] Alex: It's interesting. We said about the buzzwords. It reminds me of. You know, when sometimes on forums and people's personal websites, they would list like, I know all these languages and then maybe when I was a junior, I looked at that and I was like, wow, that's a program in God.
[00:12:26] But as I got more experienced, I was like, if you think, you know, this many languages, then you're probably like pretty basic at all of them. Like, it's probably not that impressive compared to focusing on one. Besides, the language is hardly the most important thing compared to all the other practical skills and, you know, logical thinking type of skills that apply to every programming language.
[00:12:47] It's like a builder listing the tools in their toolbox instead of, like, what they can do for you, whether that's build a bathroom or a fence.
[00:12:53] Dominik: I really like that comparison, yeah. Yeah, I have a screwdriver, um, you know, like I'm a builder. And it's almost like the meme. Right. Like, Oh yeah, you're a programmer named 20 languages.
[00:13:06] It's kind of hilarious. And, but I think you're very right. Everything needs to come together as a developer, right? Like you kind of start with worrying about like the languages and frameworks and things like that. And as you grow, you notice there's like a lot more other things that you actually need to know to be good at your job.
[00:13:23] Alex: Why do you think you latched on to those buzzwords and trending technologies so much at the time? Um, Twitter.
[00:13:31] Dominik: Twitter and Hacker News. I was just like way too much on it and this was the time where Twitter was very nice in terms of like the community. There was like lots of People who are like kind of a little bit of celebrities.
[00:13:46] Sarah Dresner is fantastic. And she's been around, I think like since, since that time and lots of other people who like got like more like quiet who are like at Google and, and things like that, but it was an exciting. Time, it was like the end of the browser wars, where like still like every browser had like a different engine, like the dawn of CSS3 and HTML5, things like nobody really talks about now.
[00:14:10] It really was, I think, looking back, like a pivotal moment into moving from this like page based web. And this application based web, and there was like, you know, rivaling factions, people saying like, no, the web shouldn't be like this. And then like, yes, we need this, you know, so it was exciting. It was that transition towards single page applications, right?
[00:14:34] Yeah, this was, this was like the, Like the prequel, it was going into that. Like people were saying like, Oh, there's like all this stuff we can do now. You know, this was like Angular one, Ember JS. This was like maybe two years, one year before react. So like spam was a thing, but actually it was like really rubbish.
[00:14:53] And the big frameworks were like slow and like crashing. And unless you had like an expert team, they were kind of like naff.
[00:15:01] Alex: There was a Backbone. js and Knockout. js as well, but they were a little bit before Angular 1 even. I guess I mentioned those by name not to dwell on it so much as to point out that isn't it funny how back then these technologies that were trending, people listening today who've been learning in the last few years have probably never even, even heard of at the time, didn't they seem so important to focus on?
[00:15:23] Dominik: Yeah, yeah,
[00:15:23] Alex: absolutely.
[00:15:24] Dominik: They were. And some of them made it, you know, impact like Backbone was like really important. Backbone was like, Small and kind of paved the way for like spas and knockout GS and all of those, we could go further back to like moot tools. That's before my time. That's really before my time too, you know, but yeah, so much good stuff, honestly.
[00:15:45] Right. And as the platform got better, we got like better frameworks and I think it's just continuous.
[00:15:50] Jan the Producer: Coming up, should you practice whiteboard interviews?
[00:15:55] Dominik: If I would be starting now, I think I would try to practice that.
[00:15:59] Jan the Producer: But first, let's take a look at your social media posts, YouTube comments, and your reviews of our show from various podcasting platforms.
[00:16:06] Here's a YouTube comment from our episode about how not to be afraid of Git with O'Reilly author Anna Skoropoulou. Great interview! As a new developer, I completely relate to many of the issues of learning Git you both mentioned. I hope she will add content onto Scrimva in the future. While in the meantime, please check out Anna's link that gives you one month of free access to O'Reilly Learning And read her book.
[00:16:29] You can find the link in the description of that episode. And here's a review from Apple Podcasts by someone from Japan. It says, Lots of useful and quality content. The Scramble Podcasts are a great resource to help budding developers to inform them about the industry and how people achieve their dreams in tech.
[00:16:47] It helped me a lot in navigating through my first job as a dev, learning about new tech, and was a great motivator in my learning journey by listening to a variety of successful podcasts. Says stories, hoping for Scriba to keep growing and introduce more courses. Thank you. I'm super happy. Our little show has helped and stay tuned.
[00:17:06] If you like our show, the best way to support us is to tell somebody about it. The second best way to support us is to post about it on social media. As long as LinkedIn or Twitter posts contain the words Riva and Podcast, we will. Find them and you might get a shout out and if you're feeling super supportive, you can also rate or review the show wherever you listen to podcasts.
[00:17:30] But for now, let's go back to the interview with Dominik.
[00:17:35] Alex: I want to tell you a quick story about a job interview I did once where they wanted me to do, I think it was basically fizz buzz, to be honest. It was that basic. And I totally messed it up. And the reason I messed it up was by being too clever. I was like, Oh, FizzBuzz, that's really easy.
[00:17:52] I want to show off that I'm a different candidate. That's how I was thinking. And so I used a functional programming style to implement FizzBuzz. And so I was using, yeah, something similar to Lodash to do this. And they looked at it and they said, Alex, why did you do it this way? That's so much more complicated than it needs to be.
[00:18:08] And I, that really kind of failed me on the interview. They thought I was being too clever. And yet I, at the time, was like, Isn't this what it's about? Doesn't this make me a better programmer? Looking back at it, I kind of realized that sometimes the simpler approach, the more widely understood approach, even if there's duplication, even if it's not particularly terse, as long as it's not too clever, that's sometimes the better code.
[00:18:30] And I wanted to share that story because when you described using buzzwords in interviews and things like that, I wondered if we were both kind of misguided in a similar sort of way.
[00:18:39] Dominik: Yeah. But, but the thing is, like, I got a job.
[00:18:42] Alex: Fair enough. You're probably a better programmer than me.
[00:18:46] Dominik: I don't believe I had like an even like a coding thing in that interview. Right. I think with what you've done, you would get into some other team that would see what you're trying to do and see that like, Hey, he's into functional programming. He's interested in doing something else than everybody else is doing.
[00:19:05] Let's talk about functional programming with him. In a different place that might have nailed, you know, got you the job actually in like a interview environment, you need to be top of your speed and refactor later, ideally, right? Or like you can talk about, like, how would you do it differently? But if you, for example, are comfortable with functional programming, it's a different matter.
[00:19:26] Now, you need to be able to say why you've done it this way. That is. Really important. And it's fine to say like, I think this is neat. This is clear for me, you know, like it's, it's totally valid, but if you're just doing it to seem smart, you're not going to have a great defense, right?
[00:19:39] Alex: What do you think companies want to see in a beginner developer, like an entry level candidate?
[00:19:45] Dominik: Most hiring managers will know you don't have the experience. You don't have the knowledge, right? So there's like really no point to like trying to prove otherwise. If you're just starting your career, you won't have seen many production systems. And this is really important because if you haven't seen production systems with like lots of users, if you haven't interacted with people, you're kind of unfamiliar with how working as a developer looks like.
[00:20:12] It is important to show like what you know, but it's important also not to overdo on that front because you physically don't have that experience. So it's, I think good to, you know, show some of other things. That you bring to the table, like culture fit, are you the right person for the team? And I know this is like, might be like a little bit unhelpful, right?
[00:20:34] Because how do you know? But the thing is like, you need to show them yourself so they can make that decision. If you don't show yourself, right? If you focus on like, just being, you're going to be too nervous. You're going to be too relaxed. You're not going to show you like, how would you behave in a team?
[00:20:47] They're going to have trouble, you know, making that decision. Then it's things like eagerness to learn. What have you been learning? And what have you done with that knowledge? Right? Because this is one thing to say like, Oh, I have been, you know, learning about JavaScript. Okay. What have you done with JavaScript?
[00:21:03] And tell them that story, right? Like, how did that go? Because that's at least part of the experience of being a developer, right? Building something from, from scratch and experiencing the problems along the way. This is how a developer learns. You build a web server and like, suddenly like. I don't know what HTTP is, you know, like, and you go off and you, you know, spend a week learning HTTP, and then you go back to your project.
[00:21:25] So this is the kind of stories I think are good to tell in an interview, right? And something like hiring managers look for. Something else that's really important is Showing that you're capable of reaching out to other people. So they like give you a helping hand and then you using that knowledge to help others again, fairly hard to show.
[00:21:47] This is where, like why, why most companies now have a system of like examples, give me an example, you know, and, and most companies will allow you to do an example that has nothing to do with development. It has to do with like. Working in teams, working with people, you know, what have you done?
[00:22:04] Alex: So obviously if you're a new developer and an employer wants to understand how you tick, understand things like your resiliency and your grit towards solving hard problems, that you might not have a story to do with a coding challenge, or you might.
[00:22:17] Um, if they ask you in a general way, as they probably should, if they're really good hiring managers, that'll give you a chance to reflect on other experiences in your life and bring that to the table. Because ultimately what you're doing is channeling your values, right? To do a resiliency. It's not about anything specific to do with coding.
[00:22:33] Dominik: But you say like resiliency, that's really important, especially if you go into a startup. Every startup is under some pressure, the money will end eventually. Startups give you the opportunity to learn a lot, but there will be pressure. So hiring managers will look for people who can deliver under this pressure.
[00:22:51] Does this person have the grit? Right. Again, nothing to do with really, Being a developer is just what kind of person are you and also fit because it's okay that like you might feel like this Is not
[00:23:03] Alex: for me. I think resiliency shows up in lots of micro interactions every day Like what if you get some pushback on your code review and someone says you should do it a different way But you don't agree with that way, you know, you have to be resilient and sort of the face of a conflicting opinion, potentially, what if you're trying to push a project through and someone's like, Oh, I'm not sure about that.
[00:23:23] And you just give up on it right away. Instead of bringing your evidence to make a case to go forward with that approach. That would be an example of someone who can't push through even the smallest obstacle compared to. In an organization and granted a junior might not be in the position to do this necessarily, but it would be a great trade to have.
[00:23:40] Nonetheless, it's about moving things forward in that way.
[00:23:43] Dominik: It is a great trait to have. Again, fairly hard to show in an interview. But I'll also say that I think as juniors, right? As we start to code, as we start to learn, we're still quite precious about our code. So what you say, you know, like not being emotional if your PR gets destroyed.
[00:24:00] Right. It is quite hard. Uh, I mean, you can naturally be like, yeah, okay, it's, it's fine. But it needs some like maturity, right? To do that. And I don't like many like mid level developers, which like only start learning that. They, they just have, it's just natural. It's just human. But as you grow as an engineer, it is very important.
[00:24:18] It's not about you. This is just code. You'll write a lot more code, but as your junior, like every piece of code is valuable. You wrote this like little side project, you know, it's like buggy and trash, but like, you love it. Like I finished it. I'm just like, yes. So I agree with you, but I think it's very, very hard at the start.
[00:24:36] Right. It's, it's something you need to learn along the way.
[00:24:39] Alex: I'm glad we can acknowledge that. I think that's good for people to hear. You mentioned before this idea of culture fit. And I have to admit, even in my experience hosting the podcast and interviewing at companies, I've never really quite decoded what culture fit is.
[00:24:52] Is it the case that the person interviewing you just likes you and that you get along? Or is there more to it than that?
[00:24:58] Dominik: It really depends
[00:25:00] on what the company's approach to biases is. Some companies, especially smaller ones, Pretty much. Yes. You're in an interview. If you make a good impression on the person and their biases, you know, and it can suck, it could work to your benefit to now companies, which are more aware of biases, they'll try to remove these biases from the interview.
[00:25:23] where you have like a set number of questions. You're not supposed to like talk with your interview partner and things like that. And you might get like a different experience. It's pros and cons to both. Although I think that the non biased approach is generally better, right? Because someone sat really down and is trying to make the interview just more equal for everyone.
[00:25:45] Like we're getting into the area now where it's like, you know, there's, there's some biases, which are like quite, quite bad. You know, somebody just, Being prejudiced against somebody or, you know, like, or seeing somebody like them. Right. So I think it's very important, but it's also like on this level that there's questions relating to the culture of the company.
[00:26:04] Right. And maybe like we can talk a little bit like what's the culture of the company. I have, I have a theory here that the culture of the company that the company tries to make, but really it's the like leaders, which said that the culture, so how the leaders behave, that's how the culture really is. And you should see that reflected in the interview process, right?
[00:26:24] So both as a candidate, you'll get to know, like, what do they value? So this is important for you. Like, do I want to join this company? But also for them, obviously, that's the culture fit.
[00:26:34] Alex: Codifying culture is a little bit interesting to me because people are so diverse and the situations are always changing.
[00:26:40] I don't think you can truly codify it like you can real code that a computer runs because people are a lot more volatile than processors, to say the least. But I think what people attempt to do, and it's a fair effort, is communicate what the company values. And if you adhere to those values, then that might mean you're a good culture fit, basically, if you can see yourself exhibiting those values.
[00:27:01] So, a tool to accomplish this, a communication tool that's very commonly used, is that a company will list maybe eight to ten values. Things like buyers for action or open for all. And they'll write a few paragraphs about these. Even the best do better. Start small, dream big is one I'm remembering from another company I used to work at.
[00:27:20] And they, they gave a little bit of like a guidance on how you should be thinking alongside everybody else to be successful individually, but also as a whole. The leaders think if everybody follows these values, then we're going to move in a direction that has velocity. And probably if you really strongly disagree with those values, then maybe you can exclude yourself as not being a good culture fit, which is valid.
[00:27:39] I want to make that point really clear that an interview is a two way street, and they can say if you're a culture fit, but you should also have an idea of your own values and what you're looking for from a company. It's definitely a two way thing there. Bringing this back to your theory, and it's an experience I've had as well, A lot of companies, they do write about their values, but even the leaders don't exactly follow them, or they pick and choose, or they interpret them very broadly and selectively.
[00:28:02] And at that point, you know, the culture is almost, you know, how can you really say for sure what it is until you're in the company and you're, you know, you've been around the people and the environment for a long time.
[00:28:13] Dominik: I think a lot of the time, values are aspirational. This is what the leaders would like things to be.
[00:28:19] Sometimes they don't even think about like what they do. It's like what they would like people to do. So the more of that thinking is there, the more it kind of like is divorced. And there's like a situation like you described, right? There's like a dissonance. A good company like iterates on those values and makes them.
[00:28:38] Less aspirational, you know, you'd never see bad values. They think about like the values that are there. And then there's like the dark siblings, right? They're always there. Like each company has this, like, you've been like five years there and you're going to have a list of things, you know, like that happened.
[00:28:56] They don't need to need to be like a contra, you know, the, the good things can still happen, but it's other, like. Bad things. And I think it's really connected to just how like the management behaves, how like the leadership team behaves, right? And you can align like if these things happen, because people hire people like themselves, right?
[00:29:15] Again, going back to like those biases,
[00:29:18] Alex: I think average or even bad hiring managers hire people exactly like themselves, because it's a heuristic, you know, like when you're hiring someone. You want high confidence for you've made the right choice. And you might look for someone who looks like you, but that's a very prejudiced and biased approach to hiring.
[00:29:34] Honestly, I don't think it's the right way.
[00:29:36] Dominik: It's not the right way, but for many people, it will take a moment to realize they're even doing that. There's a lot of unconscious biases, isn't there? In hiring, there's like a ton and you can't really do much about it. But on a more positive side, I think over the years, the interview processes that I've been part of and I've, I've run today, they've gotten much better.
[00:29:58] There's a lot more consciously trying to remove bias, trying to make candidates like less nervous, aligning the questions to Like the, the culture and what the company really cares about. So what we already mentioned, I think that has gotten a lot better over the years.
[00:30:14] Alex: There's more awareness, more openness, more communication around this type of topic in the last few years.
[00:30:19] Don't you think?
[00:30:20] Dominik: Yeah, absolutely. And I think it's like a great thing. And, uh, I've met some amazing interviewers and then had some great interviews, partly thanks to like. The interview is like having a lot more structure and thought put in from the company, you know, which hopefully like comes like directly from the leaders.
[00:30:38] Alex: Maybe neither is inherently good or bad. It's more about being a good fit or not the right fit. If you go to a company and the interview structure is very structured, perhaps, um, maybe they aren't sort of hiding the key to success. They're actually actively trying to make you successful in the interview by not going to give you the answers as such, but they'll tell you what they're looking, things like this.
[00:30:58] If you really vibe with that. then probably you're a good culture fit. I've had interviews at much smaller startups where they're like, all right, what questions do you have for me? You know, how do you want to do this? And you know, that's, that could be seen as really uncomfortable for someone. And then maybe you're not a good culture fit, but actually I quite like that self driven environment.
[00:31:16] You're autonomous in the interview. You've therefore absolutely have to be autonomous in the job. If they're not even going to interview you in a very structured way during the interview, They're probably not doing a job. Now, I am missing a little bit of nuance in this comparison. I think if someone literally asks you to interview them rather than, you know, that that could be a bad thing.
[00:31:32] Dominik: But then again, if you're like coming into an interview and you're surprised that they're asking you to ask them questions. I think in this year and age, you're just not prepared. There's so much material out there for you to learn about like how tech interviews are conducted, even with what we said, like how different they can be.
[00:31:51] You can prepare so well, there's things you can't prepare for, you know, like all the things with culture fit half an hour into interview, you might be like, Oh, these people, or you might say something that is just not good. You can't do anything about it, right? You move on, but there's like tons of things you can prepare for, you know, like you should have.
[00:32:08] questions for them prepared and ask them if you have the time, right. And make them valuable for yourself. And I'm saying this with like some conviction here, because I had a period in my career when I tried to get a different job and I was just too confident, I think. And I went into the interviews and I was humbled.
[00:32:27] I was deeply humbled. It took me a year and I didn't get a different job. Almost every interview I had was a disaster. I was thinking, yeah, I'm a developer, you know, like I'll just, you know, You need to get these jobs and different things happened and part of it was just me not being like properly prepared and thinking, yeah, I'll just, just get it these days.
[00:32:45] Same as, you know, just learning coding. There's just so much good stuff out there. And again, for interviewing great stuff out there, great advice. You can learn, you can smash it.
[00:32:54] Alex: I interviewed a man named Mike Chan. Uh, fantastic guest on the Scrimba Podcast. We've collaborated a bit on YouTube as well. He used to work at some really prolific fan companies and now he helps, uh, new developers break into tech.
[00:33:05] And he kind of acknowledged sort of a ugly truth almost, which is that your ability to interview correlate to like your job offer and the salary, arguably more so than your actual coding skills.
[00:33:16] Dominik: In some way. Yeah, but it will depend like for a junior developer, I've seen like a lot more differences between companies on like how they will decide, you know, someone should be there or not.
[00:33:28] The important thing is like in a good interview, you try to remove any like emotional stuff, anything that you, you might be like reading too much into the person. And you try to come back to like facts. If the salary conversation went sour, you know, or it's like this, like, It's unrealistic. That's going to be like a hook to say like, no, because it's much better than saying, you know, just.
[00:33:49] Uh, the conversation didn't flow.
[00:33:52] Alex: You should be able to say why not just like, Oh, I didn't know, it didn't feel right. Yeah. If you can't answer that as an interviewer, you probably didn't ask very good questions to be honest. Unfortunately,
[00:34:01] Dominik: yes. Again, coming back, like interviewing is a skill and, uh, the company you work for should be upskilling you in that too, because otherwise it's going to be, you know, the review stage then it's got like, Oh, it didn't feel right.
[00:34:14] It doesn't tell anything.
[00:34:15] Alex: It's really interesting to me because I think that tech in general is quite inclusive and open. And I think what you're describing in terms of this interview process, a lot of companies do operate this way in tech. Say you want to join a really competitive bank or accounting firm or law office, I can imagine the interviews being a lot more hostile and competitive and things like that, in that sense.
[00:34:37] I say this, but I also want to acknowledge that, you know, you've heard of whiteboard interviews and they're kind of a. Hotly debated topic in tech interviews, especially for front end developers I think even if you interview at google as a front end developer site They'll ask you to do whiteboard interviews, they'll want you to understand the internals of how a computer works and things like this, even though it's got probably nothing to do with your day to day job.
[00:35:00] I think that is part of their culture test.
[00:35:02] Dominik: You said that tech is open and inclusive, but we're both white guys. So people are going to perceive us differently from the start before we open our mouth, right? We can say like, Oh, it's inclusive and open because that's what it's been to us. I don't think there's many people.
[00:35:19] That's not true for as a developer, there's also like a part of the expectations from you as an engineer. And even the word engineer is slightly controversial. Some people would say like, we shouldn't call ourselves engineers because we don't do like all this, like certifications and guarantees and, and, and things like that.
[00:35:38] Right. And I think that translates a little bit to the process. I think some companies like they do want to troll people at the deep end. And they just want to make sure whatever they throw at you, you're going to exceed. And I think that's what's happening in big tech. This again has gotten better. Most companies then adjust their process to have like, what do we actually need for this role?
[00:35:58] And they should. I'm not completely against whiteboard interviews. If this is like part of my job or could be, because in those interviews, a lot of the time you're not supposed to get it a hundred percent right. And there isn't like a hundred percent right answers. It's like we talked about FizzBuzz, right?
[00:36:16] There's so many ways to do FizzBuzz. Right. And I actually have a story about this. Well, like I was reviewing a challenge from a developer years ago. We had the same challenge, obviously for everybody. It wasn't physical, it was something else. It was like a little bit more complex and he did it and he asked for feedback and we gave some feedback and it was like a little bit back and forth, you know, like I had, I had the time, but he said something that really like made him, you know, completely like we're done here.
[00:36:41] He said, I can't imagine how this would be done differently while I'm sitting there and I've seen this. Same challenge in like over 30 languages, all P functional procedural, whatever. Right. And it's like, mate, sorry, I'm not here to like to educate you about this, but you, you have some work to do. And this is the kind of thing, a technical interview surface in a lot of the ones that I've done, like there was allowance for a ton of things.
[00:37:10] And then you were looking for those things that are assigned that like at what level this person really is. Like a lot of the cultures that I reviewed, they still were wrong, right? Or like maybe didn't, didn't work and people still got through. And then that was the level that the company I worked for demanded because they wanted people who like think, who take feedback.
[00:37:30] Who show promise and things like that, the higher the role things need to be more tight. So I imagine for Google and I watched a friend years ago interview for Google and get the job in deep mind. He was going for like a tools engineer. And they grilled him endlessly, you know, like on the phone and things like that.
[00:37:50] They did some code in a Google Doc, which I was like, this is like hilarious, right? But the thing they wanted from him, he needed to understand things just in chat when they're talking, because that's going to be the level he's going to work at. in the team, because it's going to be very smart people and they're not going to write things down.
[00:38:06] They're not going to do POCs because they want to move fast. So they're going to talk like this and this, and it's like, yeah, yeah, yeah. And then you can just go and build that. Right. So if you can't do that in an interview, you know, that's, that's what they're looking for. And I think most hiring teams, that's what they try to aim for.
[00:38:21] It's just that sometimes it's misguided and people, for example, copy, uh, hiring process, right? And, and this is the, we got this to the, like this bad experience and what gets like a really bad rep, I think, you know, where it's like a small company hiring for our front end developer. And then it's like, can you, you know, solve me, Jigstrasz.
[00:38:42] Algorithm, you know, like on this on this whiteboard or this mural board or like whatever
[00:38:47] Alex: I think there are some coding jobs where you're kind of delegated to like implement this, you know Make this design come to life You don't really need to be thinking on a whiteboard level to be successful in that role necessarily But if you're like, innovating, and you're creating new novel solutions, probably then, yeah, maybe White Body makes a bit more sense in the way that you really have to demonstrate how you think through problems, and that you can communicate at this level to enable speed as opposed to being like, oh, sorry, could you write that down so I can digest it later?
[00:39:13] Dominik: You know what, I think this is just like one of the lost skills that we just don't Teach developers like soon enough. Right. And I haven't learned it like early enough either. Like I was very much like, I like to code, so I'm just going to code it. And I'm not going to think about it beforehand, you know, and over the years I kind of learned like, no, no, no, stay, step back, like get a piece of paper.
[00:39:33] So that's why maybe I have like a different perspective. So on the, like the whiteboard interview, and it's definitely a skill that is necessary for a, you know, like senior engineer. But it's a skill that you can have much earlier and it will help you so much. It will save you time. And it's not only like whiteboarding and thinking because also communicating.
[00:39:54] You need to communicate your idea. So what does a tech lead do? A tech lead, and I don't remember where I read this, but like tech lead is It's more a role than it is a position, right? It's more of a role because you're taking on the hat of like, just giving your technical vision to the team and you need to communicate it.
[00:40:14] You need to describe it. So to be a tech lead, you need those skills, but you can be still a senior engineer and not be able to do that, but you won't be a tech lead. And that's why in good teams, like techies, like often rotate around like senior engineers, because they know how to do that. But gaining that skill early is great.
[00:40:32] So I could see that being like an effective interview, even for like younger engineers. And if I would be starting now, I think I would try to practice that whiteboarding. Yeah, interesting designing code, like without code, designing systems, you know, pick up Alex's you system design interview and just like Even as a front end developer.
[00:40:52] Alex: I guess the contention of whiteboard interviews is that sometimes they're asking you to implement something that's very like disconnected from the role. And maybe the second part is like, you don't have auto completion. You might just not be the type of person who retains everything in your head. You might just want to quickly go to MDN.
[00:41:10] Dominik: There's so many things that can go wrong, right? We talked about the nervousness and like nervousness. totally like destroy an interview. And it's so bad because like, there's people who are just predisposed to like, just not doing well in an interview, but they still can be an excellent developer. Yeah.
[00:41:26] And this is why companies try to accommodate for that. Right. So a good wide body interview, you mentioned like, how to complete and things like that. You're not supposed to like, remember everything. I mean, you're not supposed to look up, you know, design like for whatever they asked you for. Right. But you should be able to look up things.
[00:41:44] You should be able to use like GitHub copilot. It's probably going to be in your job, right? Unless it's banned. Right. So people are thinking about this and I think, you know, there's ways of making a good whiteboard interview and I'm not so good one and it's down to the company to design that and then you, as a candidate, you should be able to like step back and maybe like.
[00:42:02] Have a look. Was this good or not? And that influence your decision. If you're like going to get to the offer stage, if it's a front end developer interview, and it's not for a senior position and you're getting a whiteboard interview, then, you know, there's a chance that these people, like, they don't know what they're doing.
[00:42:19] Alex: Last question before you wrap up here, but just since we're on the topic of whiteboarding interviews, I will also say that I don't expect any junior to do a whiteboard interview, but I think what we're exploring a little bit is like, This underlying idea of thinking in design and efficiency and thinking like a programmer.
[00:42:35] Like, I think that's kind of. The general advice here is not necessarily just about whiteboard interviews. You're a very very experienced front end engineer and often in these whiteboard interviews one thing that comes into it is things like the big O notation and I just wonder if like Is that like something you've ever had to really think about or do as a front end react developer?
[00:42:52] And if you got asked it in an interview Would you be like a bit resentful of that because it's got nothing to do with the job? Or do you maybe have a perspective as to why you would be like, oh, okay I see why you want to know this
[00:43:02] Dominik: I think I had a large chunk of my career where it was just really not relevant, but it's kind of a matter of perspective as well, because I've probably written some very slow algorithms along the way.
[00:43:14] And it was just the kind of situation that like nobody cared, but I could have made made it like more performance. So like, The thing is like all of those computer science things, they're like the Legos of everything. But if you have your like Lego box, you don't always build with all of your Legos, right?
[00:43:33] And like, if we are dividing more like into front and back end, you're like even playing only with blue and green blocks and you know, like arches and you can spend your 20 years just doing that. Things change when you again need to communicate things and you need to communicate things from the start.
[00:43:51] And part of communicating is explaining things. I don't think we should like discredit computer science fundamentals. Completely because you might find yourself not, not maybe I wanted to say like using it, but it's not that it's about like understanding the code that you're working with. Right. So if you read documentation, you're reading some like maybe more obscure library or like something for react and that it changes the performance of code and it's expressed in Big O.
[00:44:20] I mean, you can, you can look it up. You know, and that's, that's why Big O is maybe not like the best example, but you'll understand it. Your kind of, um, familiarity with the kind of like language of, in this case, like performance and things like that might make you, you know, more efficient at that point, right?
[00:44:38] The annoying thing is, Elite codes, you know, these computer science things, chosen algorithms, they're just, you know, drops in the ocean, right. That have been implemented in like hiring processes. And like, for some reason they are there, you know, and used in interviews while what people should do is like have something like this, but like relevant to your company, right.
[00:44:58] And have the person like figure it out. Cause if I go to a company and I'm, I'm, you know, I'm, I'm a frontender, but I'm going to write like, Games in JavaScript and like, a lot of it is like pathfinding, right? Like I can expect like some pathfinding algorithms. If I go work on like libraries, right.
[00:45:15] JavaScript libraries that have something to do with like storage and, or state or might have. I'm going to be expected to know about like efficient data structures, or at least like, maybe tell like how JavaScript implements in different engines, its data structures that might come up. And it's like a valid question, right?
[00:45:33] JavaScript is a bit naff here because like, it's not comparing me to other languages. It's not, you know, like that much choice, but you can still like implement data structures and it will be important. And the internals of react are like full of this stuff. I'm sure.
[00:45:48] Alex: It's a really interesting perspective and I appreciate you taking the time to lay it all out to be honest.
[00:45:53] I had one last question for you in closing, bringing this back to junior developers. If you could give only one piece of advice to a junior dev who's looking for a job in this market, what would it be?
[00:46:02] Dominik: Don't read too much into what the market currently is. Look at your own situation, look at how long you can be interviewing for, focus on your own growth and your own journey.
[00:46:19] It's not the first downturn. It's not the last, you know, it's, it's, it's definitely harder, but you need to, you need to look at your own individual situation that if you're like, really want to become a dev, this tool shall pass, you know, you're going to get there, but look, look at yourself. The market is, you know, Market is always up and down.
[00:46:38] Alex: You can't control the market, but you can control your skills. Exactly, yeah. Dom, thank you so much for your time. Happy to be here.
[00:46:45] Jan the Producer: Next week on the show, teaching the world how to code, Rachel Lee Neighbors. Where
[00:46:50] Rachel Nabors: I grew up, I knew that somebody out there would get paid to build websites and do animated GIFs and things, but I didn't know anyone who did.
[00:47:00] I was raised in the middle of a farming community. And I used the internet and built websites to promote my web comics because I was aspiring to be like an award winning cartoonist, which I did become. I was publishing comics online for teenage girls. We didn't have services, you know, like Substack and Etsy or Shopify for these things.
[00:47:20] I had to build them all from
[00:47:21] Jan the Producer: scratch. That's next week right here on the Screamer Podcast. That was our show for today, thank you for listening. Check out the show notes for the ways to connect with Dom, as well as for Alex's and mine Twitter handles. I've been Jan, the producer, and we'll be back with you next week.
[00:47:37] Until then, keep coding.