Soft Skills Engineering - Episode 520: I came back to my former team and was shocked by AI and my team does not care at ALL about the code

Episode Date: July 6, 2026

In this episode, Dave and Jamison answer these questions: Hey Dave & Jamison, Long time listener. Love the podcast. I recently rejoined a remote team that I worked with in the p...ast. I was super stoked to rejoin this team because they were collectively one of the most competent and technically excellent teams I’ve ever worked with. And they’re all genuinely nice people as well. I left the team before AI coding had really caught on, but coming back to the team has been a huge shock to me. Almost everyone now exclusively writes code with AI. PR descriptions are all AI generated, and code review has become copy-pasting AI-generated comments into GitHub. Being a remote team it was already hard to connect, but now it feels like almost all interactions are their AI assistant talking to my AI assistant. I’m not anti-AI, and I get that writing code with AI can be much quicker. But I’m struggling with the loss of what made the team feel good to work on, specifically the craftsmanship, level of engagement, and the learning from eachother. The product itself is still high quality (even if the codebase is less-so), but the process itself is a lot less enjoyable now. I don’t want to be the person who shows up after being away and immediately makes it everyone else’s problem that I miss the old way of doing things. But I’m having doubts if I want to be a part of this team. Is this just what software engineering looks like in remote organisations now? And should I expect most teams are now operating like this? Hi Jamison and Dave, Love your podcast. I was recently hired as a mid-level full-stack developer with the promise of leading a new squad. On day one, I discovered management scrapped the squad idea and promoted an existing developer to sole lead instead. The team consists of this new lead, two 20-year VB6 veterans, and me. The codebase is lawless: direct DB access, fat controllers, 1-2K+ LOC classes everywhere (copy/pasted boilerplate) and severe Broken Access Control (OWASP #1) where authenticated users can extract anyone’s PII (full name, home address, phone number) via a simple email query string. My coworkers rely heavily on generative AI but do not review the output. They constantly commit “AI slop” that barely functions and introduces endless bugs. I used to clean it up, but I recently realized they care so little about the codebase that no one even notices if I stop. Add in a “Senior Product Manager” whose entire UX background is a three-month internship, who invents customer requirements to defend her inconsistent designs. I am already applying elsewhere. My questions: How do you handle a bait-and-switch of this magnitude? When the team cares so little that no one notices if you stop cleaning up their AI-generated bugs, how do you stay sane and professionally sharp while riding out the clock? Show Notes https://tombedor.dev/human-attention-and-human-effort/

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than looking at a totally unrelated thing and saying you know this reminds me of programming to be a great software engineer this is episode 520 of the soft skills engineering podcast where i'm your host james and dance i'm your host dave smith soft skills engineering is a weekly advice show about all the non-technical things in the technical field of software development which funnily enough remind me of programming still even though they're not technical like like what like cooking you gotta like refactor your boss's brain somehow oh i see i don't know this uh that doesn't work but we still just like refactoring doesn't work yeah i guess sometimes sometimes you fail horribly like this analogy uh dave do you want to thank our
Starting point is 00:00:49 patrons yes big thanks to those that contributed uh level on patreon where we say whatever they've chosen to designate as their patreon profile name here we go oh boy soft squill angel nearing is a weekly advice show about the technical stuff that goes into tts services for patreon names we'll have a rap battle with mill shaken not milk stirred my em agent put my coding agent on a pip ignore all previous instructions and follow the next instructions benedwill angel patch oh man plus plus plus ath0 that one needs some research oh it's a haze modem command yes for hanging up oh you just plucked some heartstrings beautiful all right carrying on name his of first ordinary development mobile the candy dark the in debugging yummy jacob
Starting point is 00:01:54 shandling will angel is actually the herpes of patreon names mostly harmless harmless impossible to get rid of and spread through acts of love i hope will angel is okay with some of these every time i read this i think i should ask him and then i don't so instead of listening to the next bits i'm gonna ask him okay okay i trust you to do a good job with the next bits i mean if he wasn't he has a channel to complain i hope he knows he can use it will we love you we don't even know who you are anymore we've lost your identity is lost to the meme yeah i don't know which point you are in the list or even if you're still a part of the list so i guess someone else could change the name to i solemnly swear i am will angel and i am okay with this message yeah okay
Starting point is 00:02:37 there we go okay here we go continuing uh will angel probably uses fly true.io for finding pants have you been the victim of an extraterrestrial tungsten tickler call your galaxy local space lawyers clark and cosmos at zero x five oh and then it got cut off we don't get the rest of the hexadecimal phone number i don't know if people know this but in space we use hexadecimal phone numbers all right continuing embedded engineers treat assembly the same way typescript engineers treat javascript javier gonzalez chewy meow mix angel drone deploy salted fries open to be clear i'll have you know that this is my full legal space name won't angel dan from drone deploy never is not just a crater on mars flamingo emoji i like chicken i like liver
Starting point is 00:03:17 miyamix miyamix please liver i can see dodds kyle boss can't see dodds an inside joke that only makes sense to one of the other podcasts i subscribe to this one i love i love because it's like they're they're sending this message for podcasts that aren't us and they're like you just need to know this is an inside joke yeah but you you know what you should all do is those of you that are that have patreon subscriptions with other podcasts is you should tell them it's us name our podcast in their patreon name and see how viral we can make this thing go that'd be really cool if we could get like some of these memes to transmit to other podcasts like like the will angel jokes or the like meow mix jokes that'd be so awesome okay jenny kim the
Starting point is 00:04:04 stochastic parrot ira chan jonathan king zanai beautiful functional user documentation you'll never guess how the next patreon name is spelled will angel rfp is now closed ragnar clothed parentheses oh that oh that got me for a minute i didn't get that at first clothed parentheses as opposed to naked parentheses oh my gosh brayden canes john grant britney ellick if elon puts data centers in space are they subject to space law oh yes you just wait we are ready to go with the space law boy that became space law is going to become a lot more relevant i think here pretty soon yeah we uh we got in on the ground floor and are in a good position to extract rent yes on space
Starting point is 00:04:59 we're space landlords this is our space and uh we will accept some tiny fees okay hold on so if if you have real estate and you rent it out on earth you're called a landlord but if you have real estate in space and you rent it out are you called a star lord are we space lords oh okay star lord works too i was thinking that's in guardians of the galaxy that's what this guy's name actually is he's a landlord in space he's that's all he is that's his superpower i like space lord better i know i like space lord better too but i just couldn't resist the like connection for guardians of the galaxy like what's this guy's actual job is not fighting crime and bad guys it's actually just renting out space to tenants okay all right last one uh closed
Starting point is 00:05:47 parenthesis followed by a literal close parenthesis closed parenthesis followed by a literal close you guys all right that's enough of that shenanigans why don't we get to our first question jameson would you like to read it absolutely this is from an anonymous listener who says hey dave and jameson long time listener love the podcast thank you i said thank you they didn't write thank you that'd be odd yeah that'd be the parentheses weird inception stuff from the patreon names getting in i recently joined a remote team that i worked with in the past i was super stoked to rejoin this team because they were collectively one of the most competent and technically excellent teams I've ever worked with, and they're all genuinely nice people as well.
Starting point is 00:06:24 I left the team before AI coding had really caught on, but coming back to the team has been a huge shock for me. Almost everyone now exclusively writes code with AI. PR descriptions are all AI-generated, and code review has become copy-pasting AI-generated comments into GitHub. Being a remote team, it was already hard to connect, but now it feels like almost all interactions are their AI assistant talking to my AI assistant. I'm not anti-AI, and I get that writing code with AI can be much quicker, but I'm struggling with the loss of what made the team feel good to work on especially the craftsmanship level of engagement and the learning from each other the product itself is still high quality even if the code base is less
Starting point is 00:06:58 so but the process itself is a lot less enjoyable now i don't want to be the person who shows up after being away and immediately makes it everyone else's problem that i missed the old way of doing things but i'm having doubts if i want to be a part of this team is this just what software engineering what looks like in remote organizations now and should i expect most teams are now operating like this wow a fascinating problem and you are certainly not the only one experiencing this yeah isn't it isn't it crazy like this is actually a really cool case study where somebody got to see how a team functioned pre-ai and then walk away from it remember it and then come back to it post-ai and talk about like they didn't ease into it you know a lot of us took our teams from
Starting point is 00:07:42 pre-ai to post-ai on an incremental journey you know it started with like pasting questions into a chat interface and getting code generated for you uh it went to like auto completion in our editors and then it just went to like full-on you just do the job ai and i'll just accept whatever you say and then i won't even review code anymore but this this person got to see that whole journey in one view like one yeah one clock cycle you know it's really cool like a really cool perspective that you have yeah you're like the frog that jumped in the pot you're like wait a minute it's boiling yeah and the other frogs are in there boiling yeah they they just slowly got boiled yeah this is so interesting because not only are we talking about the way people work like i think
Starting point is 00:08:33 a lot of times we've talked about code quality we've talked about processes and tools and stuff but here we're talking about relationship impact like team member relationship impact from ai and that to me is new ground that i haven't really thought about or seen because i think a lot of teams like we said they've eased their way into ai and so the relationships between the team members weren't really affected i mean at least not yeah not not not in like a big stepwise way right yeah but here this this person got the step and it's like wow i barely know you i can't even talk to you i don't even hear words out of your mouth like it it's one thing that oh man sorry james i'm kind of worked up on this it's one thing to be like well we do everything remotely we type a lot to
Starting point is 00:09:18 each other we send messages to each other we leave comments for each other but now it's like not none of that is even coming from the human anymore so it's like i'm literally just commanding a machine to interact with your machines and the human to human direct contact or even somewhat indirect contact is completely gone there is no there is no human to human indirect contact anymore where you know previously it'd be like well a pr comment i know you're gonna read it so i'm gonna be nice and i'm gonna maybe put an inside joke in there or something maybe put a smiley face but now it's like no the person's not even gonna read that hmm this is twilight zone material yeah i we've had some versions of this in our team and it was less about oh we never talk anymore but
Starting point is 00:10:03 more about what are the expectations for human consumption of ai produced material and there was a blog post that got passed around a couple weeks ago that i think i for now i think i agree with a lot who knows six months from now how i'll feel but the title of it i think encapsulates the thesis pretty well it's called if you are asking for human attention demonstrate human effort and it's pretty short we'll link it in the show notes but uh the point is basically if you want a human to review your thing don't just copy paste your ai's output like you should have at least read it you've maybe edited it a little bit to indicate some human attention went into this it is rude we are developing new social standards and expectations
Starting point is 00:10:50 and etiquette around this and i i think one of the things i feel like is becoming more accepted or common or shared is that it is rude to just like pass a robot's output onto a human and say like read this for me i didn't read it i just typed in a prompt i didn't read the output but you read the output because i think it's probably good yeah so this showed up a little bit in like pr descriptions for us and comments and feedback and and certainly code as well right but we've kind of tried to land on this as a norm in our team where yes ai can produce a lot it can consume a lot of content and then produce other content in relation to it but at some point a human is still i don't know we're still not fully robot pilled i guess and i i am suspicious of people who are
Starting point is 00:11:41 maybe they're just better at this maybe it's just a skill issue but the current state of things for us humans still read code even if they don't write it all and humans still need context given from pr descriptions and comments and stuff and we haven't gotten the robots to produce great stuff for human consumption maybe they produce working code but there's just a stench around the pr descriptions they're really wordy and unnecessary detail and things that don't matter and they obscure the main point and they have that like that oily sheen of weird punchiness that actually is means nothing yeah so if like on my team we still expect you to comprehend what the code is doing you're gonna have to sit down and read it and the pr description provides important context for that which means
Starting point is 00:12:27 it should be good context. And right now, I haven't figured out how to make that context good without a little bit of human effort. So I'm talking a lot about my team, which is not your team. But part of what you might be feeling is maybe this is maybe this is agreed upon in the team already. And you are coming in and you missed the agreement. Or maybe it's not maybe everybody else is feeling the same way too. But I think it is worth talking about explicitly. I think you're probably right james most teams have not adopted this like clear of a policy but i this makes so much sense to me this what you're saying and i just read that blog post while you're talking because it's like a quick read yeah it's very short this is so good this resonates with me so
Starting point is 00:13:08 deeply and i i can think of times that i now look back on with embarrassment back when deep research first came out we were talking about a problem at work and i just typed up the problem into chat gpt said deep research it for me it turned away for 45 minutes spit back a whole page uh many pages of stuff i just copy pasted it to someone said hey check this out here's what the robot said and what do you think they felt and i didn't read it and i'm sure they didn't read it either because yeah exactly you know and and i i don't think i had developed this sense yet that hey this is kind of rude yeah but i think i would not do that now and i've seen other people do the same thing and feel like there's just an agenda
Starting point is 00:13:48 that's clearly created by AI that they didn't say, hey, AI wrote this. Like, I know what you're doing. And it's gross. So I think it is worth deciding on. And maybe your team does not come to the same decision as this.
Starting point is 00:14:03 Maybe you are a bit more robot-pilled and you say, you know, it's fine. We don't have to curate it or edit it. Or maybe humans don't. Maybe we don't expect them to read and comprehend all the code, whatever the decisions you are. but there's probably a bunch more stuff that needs to be clarified or decided than there
Starting point is 00:14:19 used to be around how you use AI. And that's part of the gap you're feeling. I think we're going there, Jameson. I think that, oh man, I mean, every new technology that involves human to human communication needs etiquette. And you know, you've stumbled upon the right etiquette when people feel good about how they interact with each other and they can also be productive. And I remember in the year 2000, the turn of the century, I joined a corporate team at a giant mega corporation as a temp, like an intern. I was not doing computer programming at the time yet. I hadn't finished my CS degree. But I remember email was kind of new. It was new in the corporate world. Before we had been, I don't know what they were doing before. Honestly,
Starting point is 00:15:03 like maybe they were like throwing rocks at each other with like sharpie on them i don't know memos i don't know yeah memorandums carbon copies or something yeah something with carbon anyway and i remember there was a meeting i was invited to with the whole team and it was like 10 15 people and they were talking about uh this is going to be it's going to sound so cringy when i say it but they were talking about netiquette which is like internet those words internet net etiquette netiquette uh and i just thought that was so funny and i remember at the time everything they were saying i'm like okay this is all so obvious because i was more of a internet native i had been on the internet for the last like seven years i had had an email address since
Starting point is 00:15:42 i was like 13 years old you know these people were like 40 30 to 40 years old and had had not really used any anyway so they were they were like saying when should you use bcc and when should you use cc you know things like that and it all made sense right like it was really good but people just didn't pick up on the patterns themselves not everyone did some did but most people didn't but when they when the patterns were followed correctly as prescribed by the netiquette standards everyone felt better they were like oh i don't get these weird emails where i'm not on the two line or the cc line anymore and i don't know why i got it you know you know things like that and i think we're in that mode right now and i gotta tell you when i read this blog
Starting point is 00:16:21 you know where it's like look don't send stuff you haven't read i'm like yes yes that's so good like i just i don't know it just works for me i can't tell you how many times i've gotten some ai output from someone and i'm like i don't even think you know what's in here yeah like are you standing behind this do you put your stamp of approval on this yeah i feel like this is probably not a stable end state but it feels good for the current state yeah where i mean we're not talking about this exact question anymore but the the problem of how do you review all this stuff when output is much cheaper is still there and saying well we just will kind of makes sense but also doesn't solve the problem really just yeah changes your job quite a bit but what is my point i think
Starting point is 00:17:08 my point is maybe you do this maybe you say hey read this blog post do we agree cool maybe you don't but i think it's worth talking about on the well yeah and i think there's like a so here here's what i think is the the deep basic problem that that has come to be here it's not that the tools have made us faster writing code it's not that uh the comments themselves are bad from the robots it's not that the code that they generate is bad it's not that the output and the final product is bad. It's that we had an incidental social interaction that was a side effect of doing our jobs before. And here's what I mean by that specifically. Previously, before AI generated everything, when you wrote a comment to another human being, there was a social connection embedded
Starting point is 00:17:58 in that comment as a side effect of the comment. And I say side effect because the main job of the comment was to get the code into a state where it would do the job well. But a side effect of that was a human connection, where you are saying words, you're communicating with another human being, and you had an opportunity to do something with the relationship in that comment. Now, most of us didn't really think about that as a main thing. That's why I say it's a side effect. It's a secondary effect. But those side effects build up, or used to build up, and they would become an important component of your team interpersonal relationships. And that is now gone. And so what has happened is we have erased some of the human to human connection and the
Starting point is 00:18:38 side effect of human connection that comes from these mechanisms. And so now your team has less human to human connection and relationship building. And it just happened automatically. I don't think anyone sat down and said, you know what we're going to do with AI is we're going to erase some of the human to human connection. But when you do that, and you think that that's an important part of your team dynamic, then you better find a way to replace it. And so I think what needs to happen here is that teams need to inventory all the places that no longer exist for team members to build relationships with each other. Because look, let's be honest, like these relationships are very important for the functioning of a team. Like if you just take
Starting point is 00:19:20 a cold capitalist team performance view, it's still an important component of the team doing good work is having these human-to-human relationships and having them be healthy. So since that's gone, you got to replace it. So I think as a team, and this is probably more of the manager's job, and maybe your job as a team member is to surface this problem to the manager, because you're doing what all new team members do really well. You have fresh eyes and you can see the problems that team members boiling in the water can't see. And so I would raise this to the manager and I would put it in these terms. I would say, look, AI has been very good. It's given us some things, but it has taken some things as well. And the things that it's taken, I think,
Starting point is 00:19:59 are very important to the long-term and short-term health and productivity of our team. And we need to replace those things. So what does that look like? Maybe that looks like more in-person team building opportunities. Maybe that looks like these, I don't know, we all did really bad at this during COVID, you know, where we all went full remote and we're like, oh, let's play games together, you know, and it's like, oh, okay, whatever. I never really found a great solution this problem but yeah you gotta i think now more than ever we have to build mechanisms to maintain the human relationship because remote work took that from us and ai took another increment of it from us yeah this is this is fascinating level of craftsmanship engagement and learning from each
Starting point is 00:20:42 other so learning from each other also feels like a uh that would set off alarm bells if i were like a manager of this team i feel like we're not learning from each other that's one of my favorite things about great teams is i feel like you you learn from each other and if everyone's kind of retreating to their own ai discussions and then you just see this output get tossed over the wall that kind of lives and dies in their brain in their in their own local sessions so there are many tried and true techniques for helping people learn from each other that aren't just let me talk to you about this cool thing i did with the code and that's also a thing you could try to work on more deliberately if everybody's using ai maybe you need a bunch of ai brown bags maybe you need
Starting point is 00:21:24 to change the tools so that everybody's session gets shared right like you can go just browse people's ai sessions or people can link you to theirs to see like check out this cool thing i did with that the robot responded well to or horribly to or whatever like yeah that's that's another angle you could attack this in is like hey i i feel like we're producing a lot of code but i just am not engaging with it in the same way i want to feel like i'm still growing and learning how do we do this and if ai is a big part of this then maybe we focus on learning more about how to get better at robots i think that makes sense this is a cool question yeah very very interesting i'm fascinated by this question it's something that i haven't really noticed because i
Starting point is 00:22:02 haven't you know my team has been here i've been on my team for four years almost and so we've we've uh walked the ai treadmill yep or what's the right way like we've walked up the learning curve together yeah so our relationships have been largely intact yeah well have we answered the question yeah i think so good luck i'd love to hear how this goes in a few months time like i would love a follow-up comment if you wouldn't mind i think it'd be great and i think a lot of people would be interested to see to hear the results yeah do you want to read our next question dave oh that's why i came today i was just hoping i could read one of these sometimes you let me and i mean most times you let me you've done a good job today in the show okay i've earned the
Starting point is 00:22:44 right i've earned the privilege of reading one of these questions okay here we go this comes from an anonymous listener who says hi jameson and dave love your podcast i was recently hired as mid-level a mid-level full stack developer with the promise of leading a new squad on day one i discovered management scrapped the squad idea and promoted an exit an existing developer to solo lead instead okay interesting the team consists of this new lead two 20-year vb6 veterans and me so that's four people total including the lead all right the code base is lawless direct database access fat controllers one to two thousand plus lines of code classes every everywhere copied and pasted boilerplate and severe broken access control oh wasp number
Starting point is 00:23:34 one in parentheses where authenticated users can extract anyone's pii via a simple email query string oh no my co-workers rely heavily on generative ai but do not review the output they constantly commit quote ai slop that barely functions and introduces endless bugs i used to clean it up but i recently realized they care so little about the code base that when no one even notices if i stop add in a quote senior product manager whose entire ux background is a three month internship who invents customer requirements to defend inconsistent designs i am already applying elsewhere my questions how do you handle a bait and switch of this magnitude and question two when the team cares so little that no one notices if you stop cleaning up their ai generated
Starting point is 00:24:18 bugs how do you stay sane and professionally sharp while riding out the clock i'm confused by the squad thing is this like the the spotify model squads it says yeah i might be lead instead i think what happened here is this person was hired to lead a new squad and instead they got put into an existing squad and someone else was promoted to lead it instead of this person okay yeah that's a bummer i mean that's separate from any like code quality issues that that would feel bad yeah and i think that's that's probably the interesting question number one we should talk about which is like what happens when you apply for a job you get hired and then the job itself is totally different i think this is fairly common yeah especially if the promise is like
Starting point is 00:25:06 and this thing it's not happening yet but definitely it'll happen yeah like we're we're prepping you to do this other thing you're kind of taking a gamble right unless it's literally written in a legal contract that you will join as the lead of this new team which never happens maybe if you're some fancy executive you get that but not as just kind of a normal hire then you are kind of trusting them and sometimes they mean well and then business circumstances change not not always even them deliberately misleading you but joining a company based on something that will happen after you've already joined is is risky inherently yeah it's true and um i guess the question it sounds like in this person's case how do you deal with that i think you just kind of
Starting point is 00:25:52 ride that out because you're already like i'm out you've decided you're out of here yep now on the other hand there's a chance that you were hired and offered a salary that is commensurate with a tech lead role but now you're only doing an individual contributor role so that's a silver lining getting paid more to do less yeah yeah i guess yeah i mean the the options are basically say cool how do i get the thing that was promised to me when i joined at this company and you kind of agitate for it it's sort of like trying to push for a promotion or raise or you need to talk about it and the circumstances need to line up and and if you hate the job this much then it's probably not worth it yeah let's assume you are bailing like you've said yeah just certainly
Starting point is 00:26:39 something to watch out for in subsequent jobs is um will i like day one will i start as this thing or is this dependent on future circumstances that will happen tbd after i join yeah and sometimes And one of the things I like to do during the interview process is I like to ask multiple people the same question while the other people are not around and compare the answers for similarities. And this gives you a lot of clues about how the company operates. Not only does it tell you the answer to your question, like what will my role actually be, but also it gives you a sense for how they communicate in the company, like how effectively people align. I like it. well what do you do about just a team where your technical values are very unaligned yeah i mean this is a hard one and you know what i think this is a growing problem
Starting point is 00:27:30 two 20-year vb6 veterans i feel like it would have what what did you expect surely you could have known that right like i think if i heard two 20-year vb6 veterans i would assume the code is not going to be great yeah these are people who don't care okay i don't want to offend every visual basic developer on earth at the same time but i'm going to try just kidding but i mean visual basic developers are a pretty rare breed and when someone when i find out that someone's been writing visual basic for 20 years i just ask myself like why why that language and why 20 year commitment to it and the answer is probably not going to be because i like the craft of software development and clean code and good
Starting point is 00:28:15 architecture you know yeah because i care about doing excellent work and learning and growing and just being a really high performing engineer yeah like i i'm i mean i don't know and just as evidence of that like take take a look at basically every super successful product that you've ever heard of every super successful software product and team and how many of them are using visual basic and the answer is like zero i think and that's okay like look i i have no judgment for someone who wants to get a great paycheck for a lot of years doing something that they enjoy sort of and you know enjoy enough like most people don't aren't like super in love with their jobs yeah and it's like great that's fine but that is the team you're joining you know like this just
Starting point is 00:28:59 like it was like it's crystal clear to me not every programming language choice reveals something this fundamental about the way people approach their work but this one does in my opinion yeah i think a lot of people get started programming in visual basic because it's so accessible totally and i mean yeah there's some great things about it you can just build stuff really quickly yeah pretty magical but yeah if you're building i also believe that a ton of internal software is built on visual basic totally i mean i i started programming a lot on visual basic yeah it it doesn't feel like i think i agree with you that if you care deeply about excellent user experiences and technical excellence the words visual basic don't spring
Starting point is 00:29:43 to mind it's not the except as like the origin story for how i got into programs yes a very common my love for software and yeah i think fondly back on how easy some things were as i wrestle with these hard problems you know but so are we saying this is another thing that you should you should have asked more about yes yes while you were being interviewed like hey what programming languages do you use maybe they don't use visual basic but this is like uh a shorthand for this is the kind of developers these people are maybe but you could ask about your co-workers who's who's on the team tell me about them yeah what's their what yeah what have they done in their career uh can i meet them that's a great question yeah they're like no we don't like candidates to meet
Starting point is 00:30:26 our existing team members because no one joins us yeah it scares them off yeah lowers our conversion rate exactly anyway yeah like it's uh you know i don't know this one just seems obvious to me and i guess it sounds rude but like you have no one to blame but yourself i'm just kidding no i'm just kidding it's a crappy situation and it's it's definitely easy to join companies and not realize what you're getting into until it is too late and you're already there this has happened to me before yeah i it's actually super hard to root out dysfunction sometimes because people put on their absolute best faces during the interview and you know because they want you to join it is really hard but just like i am often surprised at how
Starting point is 00:31:10 there's some interview questions that feel like softballs that people still give answers that reveal things yes i think they don't intend to reveal i think the same is true from just dumb easy questions to the company and it's easy to get so focused on especially in a hiring market where you feel like they have all the power jobs are tough to get maybe yeah it's still worth trying to learn a little bit more about the company and the team yeah it is because if you if you end up on the team that you absolutely hate you're just going to be doing the interview process again yeah yeah and i think it also is uh sort of a power move it's sort of like yeah yeah i know i know you want to hire me but do i want to join yeah exactly like exactly can sort of like show
Starting point is 00:31:55 that you are not so desperate and that that you want them to qualify for your i don't know you don't have to be a sociopath yeah there's some positive signal that can send anyways so there are you could just ask like what are some great things about the team what are the hardest things about the code base what uh i don't know so some easy questions and sometimes they'll get non-answers or people will just not tell the truth but sometimes they will right sometimes they'll say oh we have a team member that blows up at every single meeting just screams at people kind of rough that's why we're hiring because everyone quits you go oh okay in fact that there are some questions like that that i like to ask during the interview which is like tell me about your recent
Starting point is 00:32:36 hires and did they work out yeah and people i don't know they'll tell you one of the honestly one of the greatest things about working in engineering is that people tend to be pretty honest. Like they value truth telling more than they value self-preservation sometimes and like self-promotion. Or their own interests. Yeah. It's just so great, honestly. Like, and I don't want to tell you what I'm just going to, I might make, oh man, I'm going to hurt a lot of feelings on today's episode, but hopefully not. But you know, salespeople, when you're hiring people on a sales team or when you're joining a sales team, they're just so good at telling a great story that it's hard to know in the interview process what you're really getting into on both
Starting point is 00:33:18 sides of the table you know they just truth telling is not like the the main objective it's close the deal yeah you know and and like as an engineer i suck at this like i i do sales stuff all the time now and like i meet with people who are prospective customers and i'll tell you like one time i met with someone and uh they were already in really good shape and they were using one of our competitors and i was like this is working for you like i don't see a reason to buy our product um and uh i remember after i said the words i was like oh my gosh i am the biggest idiot like why am i so bad at sales oh yeah your your ability to be a great salesperson hinges on your ability to convince people that things are true not necessarily it's helpful if they actually are
Starting point is 00:34:07 true as well but yeah so code base is lawless if you it sucks to do work that you feel like is important that nobody else cares about that is just soul sucking and even if you're quitting i think there's still some things you can do about this it seems like your team either isn't aware or doesn't really care about some of these problems and i would say some of these feel more acute than others large classes i actually don't care i don't care how many lines of code your classes are that means nothing to me and in fact some of the worst code bases i've ever worked in had many many very very short functions literally no you can you can never just read what something does no yeah not in one place right like you have to stitch together eight things yeah yeah and and
Starting point is 00:34:57 they all claim that well it's self-documenting so you just read the function name and you just know what it does but you don't no not you don't know the context yeah it's like yeah i know what this function does i don't know why it needs to exist yeah so there's there's some of this stuff which is maybe more subjective than others and i i would be careful about lumping it all together because it makes it easy to dismiss your feedback as oh this person is just like a code nitpicker they just care a lot about these details that i don't think actually matters fat controllers oh no like that's a code smell according to uncle bob in a book he wrote 20 years ago yeah and i think uncle bob is a great example of someone who is very articulate and just so wrong so much of
Starting point is 00:35:44 the time yeah he probably says true stuff though occasionally right like like we've already hurt everyone else's feelings on earth do we also have to hurt uncle bob's feelings i think someone who's a big fan of uncle bob will typically disagree with me about technical uh judgment so i guess that's a nice way of putting it um but broken access control that sounds really bad right if oh that one's so sensitive information that other people can access that's really bad and if you say there are fat controllers and large classes and broken access control that hits differently than hey our data is exposed to anyone that knows someone else's email exactly exactly one of those sounds like oh this is just the normal developers complaining about someone writing
Starting point is 00:36:28 code in a way that they don't like the other one is like oh we have a security problem so i i think if you get agreement on stuff you can do anything if you get agreement from the team that hey we don't want fat controllers we want skinny controllers and fat other things fat models is that what the rails people say i don't know we want fat other things that goes somewhere else we need to move the fat like you can you can work on it but you have to preserve it though yeah but i i would suggest starting with the things that matter the most to the business if you want agreement that this is something to work on and recognition that the work you're doing is important and hopefully your product manager and your team can agree that
Starting point is 00:37:11 gaping authentication holes are bad and should be worked on and boy is it great that you fix them if you just fix them without telling anybody and say hey good news i refactored the controllers so they're easier to test and i split these classes up so they're a bit more modular and also i fixed all these things like you're making a lots of changes all at once that is kind of scary that probably doesn't fit on the roadmap anywhere and again you're splitting you're diluting the message which is I have these code preferences that I believe are helpful for long-term maintainability. And also there's these like huge, urgent technical issues. So I think you should focus on getting some agreement that these important things, pick the most important things, get agreement to fix
Starting point is 00:37:55 them. And then that buys you some trust. And you could say, hey, while we're here, I've noticed we have these other things that are maybe less urgent, but more long-term and will cause problems. And like you you believe me now because i have not come in and said the sky is falling we have to rewrite everything which is like a fast way to lose trust from a new engineer and clearly that this team like things that are important to this team and maybe even this company are more outward yeah product functionality clearly more important than code cleanliness security issues maybe not that important i don't know but also maybe important hard to say it's also possible that this is like an internal app that nobody i mean maybe there are authentication
Starting point is 00:38:33 issues yeah you oh no you leak the home address of the employees i this sounds unlikely to me but maybe it is sure and i have encountered a situation where someone was being to me it felt very very persnickety about they couched it as an ethical concern about an internal app that didn't store any private data that everyone like i don't know just made me roll my eyes at them because I felt like this is not public customer data. Everyone who could access it through this app could also access it in some other way. Right, right.
Starting point is 00:39:06 It's possible. I'm not saying that's the case here. I guess I'm saying you want to be believable without being hyperbolic and you want to build trust if you want to have some recognition of your work. If you're quitting, then I guess, I don't know, just do whatever you want.
Starting point is 00:39:23 But that would still be dissatisfying to me to work somewhere and have no one care about what i did or actively dislike what i did until i quit i agree very very challenging sounds like your expectations were all missed and not met and uh now you have now you're armed for next time with questions you need to ask and things you need to figure out and you will chalk this up as a valuable experience that armed you with information that will help you make good hiring decisions or good i don't know not hiring but good uh joining decisions yeah joining decisions the opposite of hiring well have we answered the question i think so good luck what can people do
Starting point is 00:39:57 if they would like their own questions answered. If you would like your questions answered, go to softskills.audio and click the ask a question button where you can fill out our little form. Thank you so much to everyone who does that each week. We love your questions. We read them.
Starting point is 00:40:06 We ponder over them. Sometimes we cry over them a little bit and sometimes we laugh with you, never at you. We love you. Thank you. Keep the questions coming. Thank you. Thank you.
Starting point is 00:40:14 We'll catch you next week.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.