Crafting Code Podcast

~/podcast

$ cd episodes/066-job-searching

~/podcast/episodes/066-job-searching $ ls -1a
. .. episode-summary.txt published.txt references.txt themes.txt transcript.txt get-mp3.sh
~/podcast/episodes/066-job-searching $ cat episode-summary.txt

Finding your next job can be a difficult task. You need to know what you're looking for and how to sell yourself in your application and interviews. In this episode, Dave and Allan share what they've learned about job searching. We discuss networking, what to do and look for in interviews, and things to consider when deciding if you want the job or not.

~/podcast/episodes/066-job-searching $ cat references.txt ~/podcast/episodes/066-job-searching $ cat themes.txt ~/podcast/episodes/066-job-searching
$ cat transcript.txt

[00:00:16] Allan Stewart: Welcome to the Crafting Code Podcast, where we discuss the importance of doing the right thing at the right time with the right tools. I'm Allan Stewart, a software architect, and lately I've been thinking about international

[00:00:28] Dave Adsit: travel. I'm Dave Adsit, an engineering leader, and recently I've been thinking about multi-planet logistics automation in Factorio. Our topic for this episode is job searching. Yeah. So this is going to be the first in a non-consecutive series about hiring, which is likely to include looking for a job, hiring a new member on your team, and probably even getting a recruiter's perspective, bring a recruiter on to ask some questions about the process from their perspective. So as many of you know, I have been looking for a new job and have been since January. So this is the longest I've ever looked for a new job, the longest I've ever been a free agent, if you will. And so I've been thinking a lot about the job acquisition process, the job search process, and we decided to talk about it.

[00:01:26] Allan Stewart: My condolences to you because the job search process is one of the least enjoyable things that I have experienced, at least when I'm looking, needing a job. When I already have a job or like I'm looking to see if I could find a better opportunity or even create something that I would like to do, then it's a little bit better.

[00:01:56] Dave Adsit: For sure. So if you find yourself looking for a job, the first thing that you need to do is understand what it is you're actually looking for. You talked about how there's times when we are in a job and looking for a new job that might be better or times when we are between jobs and looking for a job because we need one. Or even switching to a different role because

[00:02:19] Allan Stewart: Because you're less of a thing of, "I need a job" or "I'm looking for a better one," but like, "I want to shift what it is that I want to do something different."

[00:02:29] Dave Adsit: Yeah. We've talked before about how in engineering, there's kind of that career trident where you go up the path of software engineer. And at a certain point you may decide, "I want to go into management or I want to go into architecture, or I want to stay on this course and become a distinguished engineer who goes very deep as an individual contributor with a specialty." So all of those things are critical. You need to understand what it is you are doing. And there's a series of questions that I've gone through in my job search recently that I think are generalizable and would be helpful to others. And so the first one is, in the context of work, what do I love? And counterpoint, what do I hate? And so for me, one of the things that became really important is understanding those concepts, but I like to take them through the lens of the Table Group, Working Genius, where they talk about your working geniuses are things that you do that make you energized. Like your, your geniuses are areas that you could work on them continuously and you are, you are never being drained, right? There are other things that you may be good at, but they're exhausting. And so you don't want to do those things as your full-time job. So related to that is, what are your must haves and what are your must not haves? Practices, the product description, whatever it is that you're looking for that you think, "my next job has to have this," or, "if it has this, it's not the job for me." So your must haves and your must not haves. I also like to frame that in terms of what are my short and long-term career goals? Where do I want to be in five years? Where do I want to be in 15 years? And then of course, you've got to think about your strengths and your weaknesses. And there's different ways to understand those. You can do the Gallup StrengthsFinder assessment, or you can do a DISC assessment, or you can do multiple assessments, which is probably ideal.

[00:04:29] Allan Stewart: Right. And to kind of go along with that, those kinds of assessments are often like based on your personality, based on how you interact with other people. But I think that it's also very important to understand your strengths and weaknesses as far as, like, "Where are you in your career?" How senior are you really? We've talked in the past about how titles are sometimes misleading or inflated or underinflated. And you need to be able to understand sort of a "know thyself" situation of, like, "hey, what am I really good at? What could I bring? What do I want to do at these companies? And how am I going to demonstrate it?" So using a thing like the StrengthsFinder or some of these other ones that help you understand your personality gives you one aspect. But you can also try and figure out, hey, from the day-to-day work, especially in technology, what do you know? If you're going for a position as a coder, an engineer, an AI wrangler or something, do you understand different software development life cycles? Can you express those? Do you know how your systems run in production? Do you mentor other people? And so those questions might be different if you are going to look for an architecture job, if you're going to look for a management job. Understanding where you're at helps you to dial in what you're looking for. And then when you eventually do get to that interview, you can say, "yes, this is what I know. And I can demonstrate it."

[00:06:09] Dave Adsit: Yeah, absolutely. There's a couple of things to watch out for while you're doing that personal evaluation. One of them is the Dunning-Kruger effect, where we all tend to think that we are, you know, at a certain level, seven or eight on the skills, right? Because we know what we know and we don't know what we don't know. So it could be helpful to talk to people you've worked with to really understand what you're contributing and what level you're contributing at. The counterpoint to that is we have to be careful of imposter syndrome, which is to say the imposter syndrome is the idea that you may not feel competent even in areas where you, in fact, are competent. And so be aware of that as you are evaluating your skill level, and, and the other, you know, the, the loves and hates and the must haves and must not haves, et cetera. So one of the things that I have done in this job search is I've put together a job search council. Rather, I went through the process of finding one. I was introduced to the book, Never Search Alone, which helps you understand the importance of community as you go through the process. And initially I didn't really feel like this was that big of a deal, but as my job search has continued and gotten into the multi-month duration, having this job search council, this group of people who are also in a job search has been very valuable for a variety of reasons. One of them is they help keep you on track. My group meets every week. And so every week I have a check-in where I'm reminded, "Hey, I'm still looking for a job. I still got to find this job." You would think that's going to stay top of mind for you all the time. But the reality is you can only do so much work on a day-to-day basis towards a job search without just getting frantic and burning yourself out. So having a job search council gives me some accountability for what have I done this week? And also it gives me kind of that boost of, like, "oh my gosh, I haven't gotten anything done this week." And I can go, "I haven't found anything. I haven't found any new jobs to apply for whatever." You can go talk to some people and say, "Hey, this is what I'm frustrated with." And I have a support group, and that has become more important as time has gone on. And I'm I'm really glad that I set up a, joined a job search council at the beginning of my job search. So I have some people who I can lean on when it gets frustrating, when it gets challenging. If a company ghosts me, I can go say, "I can't believe they ghosted me." And the group can share their experiences with similar things happening to them. So if you are in a job search, you should find a job search council or form one. And that should be people who are in a similar motion. Like if you are out of a job looking, you should have a group of people who are also out of a job looking. And if you are in a job looking, you should have a group that is other people who are looking for their next job while still remaining employed. And that helps everybody stay on the same page and the same level of commitment, et cetera. Yeah, I find that really interesting.

[00:09:30] Allan Stewart: It's not something that I have done before. So maybe I am fortunate that I haven't needed it, but I have had some really great experiences as far as having a network of people to connect to, so similar to what you're saying, not, not quite to the same degree, "hey, we're all in the same boat," but I will throw out that networking is extremely valuable. All of the best jobs that I have had, have had some element of networking, whether it was somebody sent me a lead, or I knew somebody who was already working at a place, or even just being able to talk to people and get a better understanding of other companies. What are some of the things that I might want to be looking for has been very valuable.

[00:10:22] Dave Adsit: Yeah, I think I'm going to agree with you. I've never, I've never really had a job search council before, but I have had, you know, the group of people that I know from the community, my colleagues who I know through a meetup or whatever. And so networking has always been critical for me to find my next role as well. Well, so when you are looking for a job, one of the things that I think is important is to treat yourself like a product that you're trying to sell. And that includes various things, right? That's positioning and marketing. You want to understand what the product is. We've already talked about that. You want to understand in detail what is this product I'm trying to sell. And then I want to know how to position it so that I can sell it well. And if you've worked in software for any duration, you probably have worked with a sales team and a marketing team who are trying to position the product and market the product and sell the product. You've probably heard things like the sales funnel. You're going to end up with a sales funnel while you're looking for a job. It's going to have things at the top, like jobs that you have sourced or identified and there's a lot of places that you can source or identify jobs like LinkedIn, Indeed, Welcome to the Jungle. For certain roles, you might be looking at talking to venture capitalists and finding out what they need for their businesses that they're funding. Definitely want to be working with recruiters. And yes, you want more than one recruiter. Every recruiter has a different network, and there's no exclusivity when it comes to working with recruiters to help find a job. And of course, as Allan mentioned, you want to be talking to people in your network. In most circumstances, particularly if you don't have a job, you should not be keeping that quiet. You should be broadcasting that to everybody who could potentially help you find your next job. Right? So you're sourcing broadly, and then you're going to start narrowing that funnel through researching the jobs, researching the companies, et cetera. And then you'll get to to the point where you know which ones you want enough to go through the process of applying. And then hopefully some of those applications will lead to interviews and some of those interviews will lead to offers, right? So you've got that whole funnel of sourcing, researching, applying, interviewing, and then hopefully multiple offers. Then you can evaluate which one you want to take.

[00:12:50] Allan Stewart: Researching companies is something that I think is really important, especially when you are looking from the outside, because it's hard to know. It's hard to understand what companies are going to be like from the outside. And so spending some time to look and understand what does this company do? Do they have a blog or ideally a tech blog that help you to understand? Do you have any connections there? It might not be a direct connection either. It It might be this person knows somebody else who has worked there or something like that. Those kinds of things can really help you to get a sense and understand before you even go into the interview process. Is this a place that I'm interested in? Do they think the way I do that I would be a good fit there or do they need what I can provide?

[00:13:43] Dave Adsit: Yeah. Yeah. And one of the things that I think is really important is when you are ready to apply for a job, you need to customize your cover letter and resume to the job that you're applying for. And I used to really struggle with this because I, like, spent so much time getting my cover letter and resume just right. I'm like, "well, anything I do will make it worse." But actually what you you want to do is you want to make it fit the language and the description of the job that is open, right? So they may be, they may mention multiple times how important test driven development is for them. And so maybe you want to bump up your experience with test driven development to the top of some list of skills. You basically, you just want to highlight the things in your career that that are aligned with and fit the needs of the job being described. I feel like this is important enough that I actually ended up using, creating some Claude skills to help me consistently customize my resume and cover letter so that they would match the job and the language of the job, as well as making sure that I don't miss any important things. Like they might mention something in the job description and it's something I've done, but it's not something that I typically mention on my resume. I want to make sure that I pull those things in and mention them. And so for my needs, I created some Claude skills and I even open sourced them on my GitHub in case anybody else could be helped by them. But I think that that's an important and often overlooked aspect. Sometimes we don't do it because it's so time consuming. And if it takes you four hours to customize your resume based on all your research of this business, and then they ghost you, they don't reply to your application. That can be really frustrating, demoralizing, but we can leverage tools, right? Absolutely. We have access to large language models and guess what, they're really good at manipulating language. And so we can use them to create customizations very quickly to allow us to do this more effectively.

[00:15:57] Allan Stewart: Yeah. And when you're looking at a job description, I will put in a caveat that I don't think you should overemphasize on all of the requirements that the job description says, right? Like use it to inform you about roughly what they're looking for, because it often gives you some good information. So for example, I will look at one and see, this group, they're writing code in Ruby. That's not one of my strengths, and so that helps me to judge where I'm at. Is that something that I want to go and learn? And I'm going to spend some time beefing up that skill or gaining a skill that I don't have, but you can also, oftentimes the job description is like a wish list. It's like this dream of all all the things that they wish that you could be. And what I've encountered from creating these in the past is my team will say, "this is what we need." And it gets handed off to, like, an HR or a recruiting team or somebody else who, let's say, embellishes the list of, "this is the stuff that we have to have." A great example of this is that one time I was working at a company and we wanted to get some iPhone development going. And so the HR or whatever team was responsible for this sort of thing put on the job description, "you must have at least five years development for iPhone." The problem was that this was 2009. And so there was nobody who had that many years of, I'm not sure even if anybody inside of Apple had that many years of experience at that point, to be honest. And so the caution that I'll put there as you're looking at job descriptions, yes, let it inform you, let it help you to understand. But if it says, "hey, this thing is required," that may or may not actually be true. Right. So in this in this example, it was very untrue because it wasn't there. There was no unicorn that could match that description. But even when it seems more reasonable than my example, oftentimes companies are willing to negotiate on the things that they think are actually important in those lists of their dream candidate.

[00:18:27] Dave Adsit: Yeah, I've definitely been guilty of creating the Mary Poppins wish list that described an impossible candidate. And you're right. This is the wish list. And they're going to look for people that the, the HR team or the recruiting team is going to be filtering based on some of these keywords. But if you can make it past their filters and get to the actual hiring manager and your skills are close enough, you know, don't let, don't let some of those, you know. If it says, "we're looking for an iPhone developer," and you've never done mobile dev at all, maybe that's not the right job for you. But if you are, if they're saying, "Hey, we're looking for somebody who has this many years of experience in this framework," and you have slightly less than that, go ahead and apply anyway. Or if you have experience in an adjacency and you can show how the thing that you've done is similar to, and informs your capabilities on doing the other thing, then, you know, there, there don't let it be a bar. Don't let it prevent you from applying for a job that you think you would be able to perform well.

[00:19:37] Allan Stewart: I was once hiring for a team that was doing C# API, like web API development. And we ended up hiring somebody who had no C# experience, but had Java experience. Right. And it was fine because we were willing to teach that part of the skill. And the other attributes of this person were very good and we wanted to hire him.

[00:20:04] Dave Adsit: And so we did. Yeah, I've definitely done that. A good programmer can learn a new language. And so that shouldn't be a barrier to you. If you're interested, you can learn it. So as you're going through your interviewing process, as you're going through your job search process, one of the things that's very critical is understanding who you are and being able to quantify that in a very succinct way. For me, I have been looking for a job as a CTO at an early startup that is doing SaaS products and is in the series A to series C phase. They've raised some money, they've found their product market fit and they're starting to scale. And so I'm looking for something where I can come in as the engineering leader for a team of 10 to 40 engineers. And so if you happen to know of any companies that meet those criteria, please pass them on.

[00:21:04] Allan Stewart: Understanding your pitch can be very, very helpful for me. I haven't been thinking about it as much lately, but I know that I like architecture work. And so I pitch myself as a software architect. I pitch myself based on some of the things that I have been able to do at companies, such as helping to break down technical debt or restructure and scale a product. So understanding that can be very valuable as you're positioning yourself in the market.

[00:21:38] Dave Adsit: So that is, you know, that's kind of the treating yourself like a product. You should be having this sales funnel and you should be working your opportunities through the funnel and trying to find the one that's the perfect opportunity for you. So ideally, you'll go through this process of sourcing, applying, and interviewing. And so let's talk a little bit about interviewing and what to expect when you are interviewing. Viewing. I would say my first warning here is that you should not try to circumvent the process. Say you got a friend who works at the company. You should still apply through the front door like any other applicant, for a few reasons. One of them is my experience is that you, candidates who don't come through the standard process get lost, and you don't want your your application to get lost. You want it to stand out because you applied through the front door and then your friend went and talked to HR and the manager and whatever and said, "this person's great. Make sure that you look for their application. This person's great. Make sure that you interview them. This person's great. Make sure that you give them the job," right? You want that to happen, but you don't want to send your resume to your friend, and then your friend can't apply for you. So they send it to recruiting, and recruiting just drops it because you didn't come in through the right process. Another thing is that can get you flagged as being kind of a diva. And that's definitely something you don't want. No company really wants to hire divas. So that said, now you're in the interview process. You've gotten a call to do the interview. What do you need to do? Well, first of all, treat everyone that you meet at the company with respect. Make sure that you're not rude to the receptionist. You know, I've, I have had the receptionist say, "Hey, this person was kind of rude when they were waiting. They didn't seem to want to wait for me to get everybody together for the meeting." And that can be the red flag that causes that person to have their application rejected. Like you might've been good on paper, but if you can't be nice to the receptionist, then I'm, I don't want you on my team related to that. I think that as you interview, it's important to send a note after the fact, uh, thanking the person for their time. And for the discussion, try to point out something specific about the discussion that you had with that person in your thank you note. And one more caveat or warning, don't get discouraged if you get ghosted at any point during the interview process. It happens. I don't know why it happens, but it seems to happen a lot. A lot of the people I've talked to have gotten ghosted at different points where they go to an interview and they never get a follow-up email. Mail. No, they don't get an invitation. They don't get a rejection. They don't get anything. You know, sometimes it gets, sometimes you get those automatically from the applicant tracking systems, the ATS that the HR team uses. And sometimes you get nothing and you just assume after a given period, some period of time, that I guess I'm not being moved on to the next phase, but don't let that get you discouraged. This is one of those places where having a job search group, job search council can be very helpful. You can say, "Hey, I got ghosted by this company." And you can all share your war stories about how everybody's gotten ghosted by somebody at some point. Yeah. So let's talk about the actual interview process. What, what does that tend to look like?

[00:25:11] Allan Stewart: So in my experience, there's a lot of different processes, but the things that are are very common, I guess, between most of them is that at some point you send in your application, right? That's the thing that instigates everything else. You've applied, you've sent in your resume. There's going to be some kind of a recruiter or maybe like a screening call of some kind in, especially in larger organizations or in cases where there are a lot of applicants. Seconds, it's a way for them to filter this down. As somebody doing interviews, you have a limited amount of time in your day, especially if you're going to take a development team who has other responsibilities, and they need to come and spend time interviewing. Well, they also need to spend time developing whatever product that they're working on. So those those filtering steps help Help them to try to find the best candidates from their pool, right? Because they're doing the same kind of thing. They have an interviewing funnel, just like your sales funnel. And so you just have to recognize that these are steps that you need to deal with.

[00:26:21] Dave Adsit: And as part of that, there could be that screening call. There could be a potential for them to say, "oh, hey, this person's looking for a salary not less than $220,000. And we do not have the budget to go over $160,000." And so that's a filter. It's better to cut that process short and not waste anybody's time on either side. Also, they might try to get on the phone with you and tell you how great the company is. And you're like, "Hey, I know that we're a tiny little company, a tiny little startup, and that might be kind of scary, but let me tell you about all of the amazing things about our team." So there's various reasons why you might have those early recruiter or screening calls. Right.

[00:27:03] Allan Stewart: Right. And they can be helpful for you as the applicant too, to have that additional understanding. It's like, "oh yeah, nevermind. This isn't going to fit for me." And so you can, you can cut it short. And as you mentioned before, customizing your resume, this is one of the reasons why you want to do it is to get you through those filtering steps to say, "yes, I actually am the fit that you want. Talk to me, let's go through this process." So after those screening or recruiter steps, there are usually at least one interview for tech jobs. And especially the further that I've gotten in my career, it's usually multiple interviews. And so you need to understand your audience. And one of the mistakes that I have made in the past is not finding out, not having the clarity of, who is it that I'm talking to? How many interview steps are there going to be? And who am I talking to in the different interview? So that might be, it might be a mix of, you've got some, you've got the hiring manager, but also some members of the team or it might be split out and say, "Hey, no, these are just, this is just the technical side of the interview." And there's going to be some other leadership interview where they asked, you know, some other kinds of questions, maybe more of the compensation and culture fit kinds of questions. So understanding how many interviews there are going to be, like, do they have a process for, for dealing with those and who those people are really can help you to to A, understand where you are in the process, right? So that you're not feeling lost and like, "oh man, another interview? Is this a good sign? Is this a bad sign?" And also to help you to understand as you're going into each one of those interviews, what is it, how do you present yourself? Because you're going to present yourself differently talking technical versus talking with leadership.

[00:29:06] Dave Adsit: Yeah, that's definitely right. Right. And you may find that you have an interview with the manager that you would report to. And you may have an interview with the tech lead for the team where they're evaluating technical skills. You may have a panel interview with a few members of the team. You may end up interviewing with the product manager because your role would involve just working with them very closely. And so the product manager is probably not going to evaluate how good you are at JavaScript, but they are going to evaluate your communication skills and your culture fit. You know, so understanding the purpose of the interview and who it's with is very important. So you may also be asked to provide sample work, either show us your GitHub or we have this coding challenge that we want you to do, or we want you to live code with us. So all of those are possibilities in an engineering interview process. I have found that the request to submit working code or code sample has become less common with the LLMs, the coding LLMs becoming more and more popular and more common. It just becomes too easy for somebody to take the challenge question and hand it to an LLM and then hand the results back, and, and maybe that is what the company wants you to do. So if you are asked to do a coding challenge, I would say make sure that you use the tools that they prefer. If they say, "please do this by hand without LLMs," do it by hand without LLMs. If they say, "please use any tools at your disposal," and you have Claude Code or, or Copilot or whatever, make sure you use the best tools you have. Yeah.

[00:30:57] Allan Stewart: Cause if you go outside of that and they ask you, "well, why did you choose to do this in this coding exercise?" And you can't answer the question because, "I don't know, Claude chose it." Then that might be a problem. That's right. Or you might spend a lot of time I'm working on it by hand. And they're like, "Oh yeah, you shouldn't have done that."

[00:31:19] Dave Adsit: We expect someone at your level to be very good at directing an LLM to do code. Oh yeah.

[00:31:26] Allan Stewart: Right. In my experience, having kind of a portfolio of, like, code samples or, like, "Hey, you can look at my GitHub or my Bitbucket or whatever, and see all of my open sources." Resources, it's not super common that they expect that. And that's because a lot of jobs are going to be proprietary code. And so most of your best work may be something that you can't share. That's right. That's why I tend to like, when I'm doing hiring, I tend to like to do some kind of in-person coding exercise. I'm not sure exactly how that that's going to change for me with the advent of LLMs, but being able to get in and understand how does somebody think about breaking down a problem? How might I work together with them? Especially if, if the team is going to be doing pair programming or mob programming, it's an opportunity to get an insight into the person and how they think and how they deal with code. And so I would recommend that you, you know, understand what is going to be expected and go along with that because that's how they're going to find out about you. And ideally use it to find out about them as well.

[00:32:42] Dave Adsit: Yeah, that's right. So we've talked about how there is likely to be a multi-step interview process for evaluating candidates and filtering to narrow down and find the right person to make the offer. But also Also, there's going to be interviews, at least one, probably more than one interview where someone is asking you questions. And so what do you need to do there? Well, what is the point of the interview? Know who it is. We've already talked about that. Know if this is technical or if this is the cultural or if this is some other aspect of interviewing that is important to the company. But remember that this is your opportunity as well as theirs. You are trying to find out if this company is a good fit as much as they are trying to find out if you are a good fit as a candidate. And so it should be a two-way street. One of the things I look for is, do they ask me questions, or do they not only ask me questions, but provide an opportunity and time for me to ask the questions I have about the company and the team and the product, et cetera. Right. And so one of the things you need to be considering throughout the interview process is, do I want this job? Do I want to work with these people? Additionally, and we'll talk more about this in a minute, but is the compensation satisfactory? Is it meet my needs? Does this job give me an opportunity to grow? You know, one of the things that I've, I've seen people I've done and I've seen others do is you get to a point where you become the biggest fish in the small pond and you are no longer growing in the role that you're in. And that is a trigger to go find a new, a new opportunity. And so if you are, you know, at a point in your career where you are trying to grow, then you need to be looking at, does this give me an opportunity or will I be stagnant here? Am I doing things that I've already done and I'm not going to grow? So, I mean, it comes back to, is this the role I want? Is it, I want to be a tech lead. I want to start developing managerial skills. Oh, this role doesn't have any of that. So is this the right role? I want to move into architecture and this role is strictly an individual contributor and all the architectural decisions are made by the architecture committee that I will not be on. Okay. Well, that might not be a good fit either. So be looking to answer that question. Do I want this job? And here are some of the things that you need to consider as part of that.

[00:35:06] Allan Stewart: Right. One of the things that I like to consider is, do I understand what I will be doing and how the company works? Because it's, it's easy to fall into the trap of going through the interview, answering the questions that they have, and they're asking a bunch of, let's say, technical questions, right? So they might ask about the technologies that they use, and they ask if you are familiar with certain tools or certain languages. And then you get to the end and you don't really understand, what is it I will be doing? Like, how does the work come to me? What does the software development lifecycle look like at this company? What would I be doing from day to day. And if it turns out that, "oh, well, you're going to be in three hours of meetings every morning, and then you're going to be sent off to write code by yourself every day," right? Like that looks very different from another team where, "oh, well, we have a daily standup together in the morning and then we mob for the day." Understanding what you would be doing, what you would be contributing to the team, and how the company wants to work is very important to be be able to understand, is this the job that I want? Am I going to fit in with it?

[00:36:21] Dave Adsit: Yeah. One of the ways I like to think about that is, as an engineer in particular, think about, does the level of bureaucracy at this company exceed my threshold? You know, we all have different thresholds for how much we can put up with. I mean, as engineers, we want to make things right. We took this job so that we could make computers do cool stuff. And if, if the bureaucracy is too much, then maybe it won't be fun for us and we won't do it. And I I've had engineers tell me they have too many meetings when they have 30 hours of meetings a week, which definitely feels like too much. I've also had engineers tell me they have too many meetings when they have like three and a half hours of meetings in a 40 hour work week. And I'm like, "that's barely enough time to have a retro and a daily standup. I don't know. I don't know what you're trying to get rid of, but like all you do is code."

[00:37:17] Allan Stewart: Yeah. Or the bureaucracy might be in all the tickets, right? Like your job is going to be, every day, come to the ticket mine and take a ticket, work on it, and then take the next ticket. And, right, like understanding that is that the bureaucracy level? Is that what you're going to be doing? If you want to participate in shaping the product, but they just want you to handle all the tickets, and that might not be a good fit.

[00:37:48] Dave Adsit: Well, I've told you guys, one of the companies, one of the really, really big companies that I worked for, I, for every change to the software, we had 11 mandatory documents that had to be written. And there were three additional optional documents, depending on how architecturally or security sensitive the product, the change was. And so there was a lot of bureaucracy. I spent more time writing documents than I did writing code at that job.

[00:38:16] Allan Stewart: I didn't realize you had worked for Vogons in the past.

[00:38:21] Dave Adsit: Yeah, it felt like it, right?

[00:38:23] Allan Stewart: But that, you know, that kind of segues into understanding what kind of practices do people use? What do they follow? What do they accept? And what's important to you? Are you willing to change for a job? Job are you going to fit in with the kinds of practices that they use? So for example, for me, I feel like test-driven development has been a very important thing, and I'm seeing how test harnesses are very important for LLMs. And so if a company tells me that they don't want to do that, well, then I have to make a decision. It's like, "oh, well, I probably am not going to fit in there unless they're wanting to change," right? If they're hiring me because I have that expertise, that experience, and they are wanting to change, that's different. But even then I have to look at it and say, do I want to help them engage in a transformation? And transformations are very difficult always, every time. But it can be enjoyable, right? If that's what you want to get into, that's great. If you're not wanting to get into that, Are you willing to work with practices that you don't enjoy? Or do they have the practices in place that make you say, "oh, that's great. I totally want to deploy three times a day and I'm happy about that." Or, "no, I'm not happy because if I can't have my pull requests, then I'll be lost," right? You got to understand where you're at and what's important to you.

[00:39:56] Dave Adsit: That's right. And so to rephrase, do I want this job a different way? Think about, will I enjoy the actual work I'm doing day-to-day with the team I'll be working with? And try to figure out to the best of your ability, the answer to that question as you go through the interview process, both through the way that they ask you questions, the questions they ask you and the answers to the questions that you ask them. And so one of the things that becomes very critical as you are going through an interview process is that you are representing representing yourself well, but also accurately. Don't lie and make up experience you don't have. It will catch up to you. It will cause problems. It's a waste of everybody's time. And it can, I would rather find out that somebody is not a good fit for my role, but, and then refer them off to a friend who's hiring for something else, then have somebody who pretends to be something they're not. I bring them on and then I have to fire them. You know, I, as an engineering leader, I follow the, the, the idea that we should hire fast and fire fast. And so if you misrepresent yourself and come onto one of my teams, as soon as I find that out, I am going to make a personnel change. In other words, I'm going to terminate you and I'm going to get somebody who actually meets the needs of the team. And sometimes it doesn't take very long to get caught in the lie, right?

[00:41:25] Allan Stewart: Like I've been in interviews where I'm on the interviewing side. I'm on the job side, not the candidate, where people will kind of stumble, and it becomes very obvious very quickly that they're making it up because they don't actually know. But they're trying to please you. They're trying to say what you want to hear instead of what is the honest thing. It doesn't work out. The extreme example that I can think of is that one time we hired somebody who absolutely could talk the talk, but then they never worked. Like, it was a very strange situation because we hired them and then they never actually produced any code. And before we could fire them, they sent us an email saying, "oh, hey, I've got this great opportunity to go to Africa." And so, goodbye. So it's really bizarre. Are. So what I like to say is, you know, play to your strengths as you're representing yourself in the interview. If you don't know something, then say, "no, but it sounds like this," or, "I had a different experience that may be useful," or even, you know, asking the questions and rephrasing is like, "is this what you're talking about? Do you mean something like this?" And they say, "yes." And say, "no, I meant this other thing." And you say, "oh, I've never heard of that." Much better to do that. And then the "yes and" also comes into play, right? When you do understand, say, "yes, this is what I understand. And let me expound upon it or pull in an adjacency that might help out really well." So they ask you if you've done unit testing and you say, "yes, and we ran them as part of our RCI server for every build," that tells them something really important and helps you play to your strength. To go along with that, I'll say, I think it is very important to be succinct in your dialogue. So don't ramble. A lot of time, you only have an hour to talk through. And in a technical interview, especially, there may be a lot of ground to cover. And so if you go off rambling and telling these long stories, you might not get the job just because they couldn't evaluate you properly. But on the other side of that coin is don't be so cryptic and terse that you only give out one word answers, right? Right. Like elaborate a little bit enough to help them to understand where you're at, represent yourself and the experience that you have. Just don't go overboard and tell a 30 minute story for what really should have been a yes or no question.

[00:44:22] Dave Adsit: Yeah, that's definitely the case. That's actually why podcasts exist. If you want to give the year 30 minute version with the long rambly stories, you should just start a podcast. That's right. Right. OK. Okay. So how do you deal with the trick questions or puzzle questions? Like, how many ping pong balls fit in Central Park? I mean, I've got an answer to that, but it's probably, I don't know. To me, those are a good indication of a bad interviewer, and they reveal something about the culture of the company possibly. But what do you think, Allan?

[00:44:56] Allan Stewart: I'll agree with what you said just there. That is signal to you about what kind of company this is. The first thing that I ask, and I may even ask the person just straight up, is like, "well, could you tell me about how this is relevant to the job?" Oftentimes these puzzle questions, these trick questions don't really relate, but they got popular for a long while. I don't know how popular they are now, but they were very, very popular for a while with With the intent that this will help us understand how you think, like, how do you tackle a problem? How do you like, give me some insight into how your brain works.

[00:45:38] Dave Adsit: Yeah.

[00:45:38] Allan Stewart: So I've got a couple of examples. There's one company that I interviewed for, and they had a question about. It was something about dropping watermelons off a building and how many stories up do you go to figure out? And I think it was meant to be like a binary sort or like binary search kind of a question, but it really didn't have anything to do with what the company did in their job. On the other hand, there was a company I interviewed with who asked some very esoteric C# questions about the language and the compiler and some optimization stuff. For that team, those are the kinds of things that they were doing frequently. Every single day. And so it was important to them. And so I like to get that context by asking, "how is this relevant?" So that I can understand, "oh, you do this kind of stuff all the time." That's info to me. That helps me to understand. It's like, oh man, do I want to be doing that? Do I feel ready to be able to say, "yeah, here I can do tons of compiler optimization tricks." Or do I want to say, "yeah, this is not the right fit for me."

[00:46:48] Dave Adsit: Yeah. Yeah. When I get those kind of puzzle riddle questions, I immediately think of the Hobbit. And I want to ask them, "okay, now it's my turn. What have I got in my pocket?" If they know that the answer is a string or nothing.

[00:47:07] Allan Stewart: Or a golden ring that shows elf runes when thrown into a fire.

[00:47:12] Dave Adsit: Possibly it could be that, right? Like if we're asking each other riddles, do I get a turn? I'll come up with a good one. Yeah. So, okay. So you've gone through the interview and you've gotten to the phase where you've been given an offer. What should you look for in the offer? And the thing is, is that an offer should encompass your total compensation package. And that's going to have a lot of components to it. That's going to include your base salary, your benefits, potentially bonus, potentially equity, the PTO, the time off that you get, the company holidays. Is there a training budget? How much? Do I go to a conference every year? Can I buy a book once a quarter? Is there a tooling budget, including how often do I get a new laptop? Top? How often do I get upgrades on, like, Visual Studio or my JetBrains libraries or whatever? If you're remote, it's become more common to get a home office slash equipment budget. And so how often do you get that? And how much is it? All of these things are part of the compensation package. And I think it's critical to know that you can negotiate, and you should negotiate. It's expected that you negotiate on something. So if you take the first offer and you don't push back at all, you are leaving compensation on the table, whether it's in terms of base salary or bonus or time off or something. I have had an engineer who negotiated Fridays off. And so he took every other Friday off. He worked, he actually ended up working nine nines instead of 10 eights. He worked in nine nines and he had some personal reasons why it was, it was important for him to have every other Friday off. And so he negotiated that into the original hiring process. That's the kind of thing you're not going to get later. In fact, if you go to your manager after three months and say, "Hey, it turns out that I need you to give me a 10% raise on my base salary." They are probably not going to do that. So this is your opportunity and you should take Take the opportunity to negotiate something. Negotiate for what you actually need and what you want out of this job to make this a good fit on both sides. Right.

[00:49:31] Allan Stewart: And as much as possible, you know, carefully, tactfully, if you can find out some of these things early on in the process, if you can find it out from the recruiter before you've gone through an interview, or if you can ask during an interview. Now, you have to be a little bit careful there too, right? If you're in a panel-style interview, they probably can't answer it. But if you're with the hiring manager or leadership, they can answer it. But a panel can answer some of these. Like, "hey, what's your time off policy like?" Everybody should know that. And they'll tell you, it's like, "oh, yeah, we get three weeks of vacation." Or you will get one week of vacation because you're new. And every year, you will get an additional two days. Right. Like there's all kinds of weird policies, and understanding them can be a very useful thing to help you gauge what kinds of negotiation am I going to need to, like, can I lay the groundwork for that before I get the offer?

[00:50:34] Dave Adsit: One of the nice things about it is when you are doing your negotiation, you're probably negotiating with the HR or recruiter person versus the actual manager that you'll have. And that's a benefit on both sides because the recruiter knows what the company is willing to pay for the role and what the company is willing to flex on. And it doesn't necessarily sour your relationship with your manager. So, you know, keep that in mind as you're doing your negotiations. I think one of the things that came to mind when you're talking about it is like, oh, the company has an unlimited PTO policy, asking the panel, "how much PTO do you actually take?" It could be valuable information because sometimes the answer is, "we have unlimited PTO." And that means that last year I took four weeks off because I had a reason or I had stuff I wanted to do, or it could mean, "we have unlimited PTO. And last week or last year, I took three days off, and my team thought I was a slacker." You know, we've all heard kind of the horror stories of unlimited PTO being used as a cudgel versus as a perk. Right.

[00:51:38] Allan Stewart: This step, I think, is very vital because this is what you this is what you live on. Like you said before, it's hard to change these things after you are hired. Yep. Maybe there is an annual performance review. You. Maybe there's a cost of living raise, but maybe there's not. Especially if you're in a smaller company, if you're going to be part of a startup, they might be scrappy, and they don't have a lot of cash, and you might not get a change for a while. So be careful here, because yes, you can negotiate it. But also once you found the limit of where they're willing to go, you have to use that in your decision-making process to say, "Hey, am I willing to take this level of compensation?" Sometimes it's a raise and it's just basically all, all good, right? It's like, "Oh yeah, this is basically the same kind of insurance that I used to have, but I'm getting a 10% raise, and it's all good." Other times it's not so cut and dry, and you've got to make sure that you're willing to live with whatever that offer was.

[00:52:45] Dave Adsit: Yeah. So as we talked about already, when you are looking for a job, that can be one of the most stressful things in your career, particularly if you're under some kind of financial strain because you're between jobs. I think one of the things I'd like to encourage you to do is remember that you've got people in your network. You've got people who can help you find your job, find the right job. And it's critical throughout our careers to be building those networks and doing the networking ahead of time so that you can lean on someone as a colleague, as opposed to being, like, kind of that transactional. "I show up at the meetup just in time to ask if anybody is hiring. And then I disappear from the meetup again for the next six years until I'm looking for my next job." Right? So let's be out there, be networking, be building a group of colleagues that you can trust to help you find jobs, that you can help them find jobs. You can basically be each other's support system through this stressful period.

[00:53:50] Allan Stewart: Definitely utilize that network. And then once you get into those interviews, remember that you are also interviewing them. Make sure that this is going to be the job that you want. That it's going to be a good fit. Represent yourself well, ask the questions so that they can learn about you and you can learn about them. And then hopefully you'll get multiple offers. The better that you understand what those companies are like, the more confident you'll be in picking the offer that is the best fit for you. And not just the one that has the highest salary or the most stock options or whatever, but it's actually the one that you will enjoy working on.

[00:54:35] Dave Adsit: And if your company or your team is hiring for an engineering leader, keep in mind that I'm available.

~/podcast/episodes/066-job-searching $ cat published.txt

~/podcast/episodes/066-job-searching $ cat ../../copyright.txt

Copyright © 2026 - Crafting Code Podcast