Soft Skills Engineering - Episode 505: Called to the principal's office and my team leads are super dogmatic

Episode Date: March 23, 2026

In this episode, Dave and Jamison answer these questions: I’m a senior software engineer at a remote company (~500–700 people), and over the last year a new HR org replaced our old people... team. They’ve spent six months building a new goals/leveling framework. During a public meeting I asked in slack: “We’ve had goals before and then stopped using them. How will these be different?” Nobody answered directly. The next day I was pulled into a meeting. The new VP of HR had screenshotted my question and sent it up my management chain. My manager told me they were on my side but leadership didn’t appreciate it. Days later I was pulled in again and told the problem was my “tone.” I didn’t argue because we were at an impasse. It felt like tone policing and like being sent to the principal’s office. I didn’t feel like they were treating me like an adult. In yet another 1:1, my manager said leadership wanted it raised again and that they don’t want questions like that in public. I told him the meeting should’ve been an email and that would’ve avoided this problem. Is this normal? What should I do? It’s upsetting enough that every time this gets brought up, it wrecks the rest of my workday. I’ve already been passively job searching for about three years because of broader issues, and now I feel like leadership might be pushing me out. This also follows being labeled a “dissident” by our product director after I raised roadmap concerns in another all-hands. Most of the leaders involved are newer (2 years or less), while I’ve been here 4+ years, so I’m wondering if the culture is changing right in front of me. Thanks for the show! Y’all have helped my career a lot. Hi Softskillets! Love the show, thanks for making me laugh every walk break I take! I’m in an org where the Frontend Platform Team has adopted a fairly rigid rule—forcing all domain logic into pure functions—to prevent “bad code.” I see value in for the big picture, but the rule is enforced at every level, even within my own team modules. It feels incredibly unnatural and cumbersome. I see our team is often leaking logic into our UI layer to avoid boilerplate that usually come “out of the box.” (in this React(ive) framework). I’ve tried to address this a few times, but I always get shut down with “theoretically correct” answers that don’t actually acknowledge the pain we feel on the ground. Most of the feature engineers have tried to bring this up, felt unheard, and eventually just stopped trying. Recently, I used AI to help me synthesize these conversations and better understand the bottleneck. I wrote a long markdown file to validate with my teammates if they felt the same. The Platform Team got wind of it, and I shared it. This triggered a lot of frustration (understandably they felt it was AI slop sent their way). I eventually got a meeting with one of the platform engineers. I tried to stay focused purely on the problems, knowing my solution (allowing state management in the domain layer) would be pushed away. The meeting went poorly. I didn’t feel like the weight of our frustration was understood, and when I mentioned potentially allowing some optionality for senior engineers, I was literally laughed at. It feels like this rule is now followed like a religion. How do I rebuild this relationship and actually be taken seriously? How can I change a culture where the “builders” feel like the “gatekeepers” are limiting them instead of helping them?

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than impressing investors by saying you can write clod skills to be a great engineer this is soft skills engineering episode 505 i am your host dave smith i'm your host jamison dance soft skills engineering is a weekly advice podcast for software engineers who want to i don't know impress investors there's a story i'm trying to find it is it the log log machine i don't know it's something about a machine that keeps compressing things over and over again and it just devolves into gibberish you can ask it any question and it gives you answers and then compresses those answers and i feel like that's what having robots write their own skills is it's like it'll do something but it will do something it's gonna be gibberish but you know
Starting point is 00:00:52 sometimes i say gibberish too like right now yeah true that's actually the theme of our show another subtitle sometimes i say gibberish yeah dave should i thank our patrons yeah i was hoping you would then i will this is a list of folks that we shout out every single week because they contribute at such a prodigious level thank you to everyone according to interpol no really brian wolford is still in germany angel wood seth angel uh wait seth angel i don't know i thought this was a funny name but you didn't laugh now i feel self-conscious nice jamie sundance go ahead and run your own mail server what are you chicken bach bach my actual name on linkedin is yami debugging the dark candy the
Starting point is 00:01:38 mobile development ordinary first of his name jacob shandling admits that shame is a powerful motivator and so has changed his patreon name again nice bada bing bada boom who's sucking on that broom it's mr bezos i don't know what that means okay i hope it's not vile all right the missing semicolon christy the world's okayest programmer the soft skillet nation creativity contest has ended the winner's names are still being processed by our register offices oh okay I think this is like ASCII-leet-speak for Will Angel. Wow. I don't know if I'm going to pronounce that.
Starting point is 00:02:15 There's lots of backslashes and underscores. That's so good. Only one letter in the whole thing is actually the actual Latin character. No. The letter G is a little like, that's not a G. Wow. That's not a normal G. Well, I don't know how to pronounce it then.
Starting point is 00:02:33 I only know how to pronounce normal Gs. Oh, that is a letter G. my bad okay i was like still i thought maybe it was a an emoji or something wow i'm very impressed we're easily impressed if this is really you will angel hat tip man just salute well done wow the will angel could be many of these that's true we'll see as we continue nick molyneux embedded engineers treat assembly the same way typescript engineers treat javascript javier gonzalez chewy ted timbrel i ike chicken i ike ever but the difference between an uppercase i And in lowercase, I-can-you-de-ever.
Starting point is 00:03:10 A single opening parentheses. William Angelson. Dan from DroneDeploy. Never is not just a crater on Mars. Flamingo emoji. I like chicken. I like liver. Meowmix.
Starting point is 00:03:20 Meowmix. Please deliver. Swiss Python Summit on the 22nd and 23rd of October, 2026. Kyle Boss. Kent C. Dodds. This podcast was recorded at 1969, 12, 31, 1159 or earlier. Nice. Yeah, it is underflowed somehow.
Starting point is 00:03:37 Jenny Kim, the Stochastic Parrot. How many angels can Will Angel will if Will Angel can Will Angels? Ira Chan, Jonathan King's Nye Beautiful Functional User Documentation. Will Devil. Nice. Vote now at vote.williamangel.net. Oh, no. Dave's rap name would be DaWordSmith.
Starting point is 00:03:57 Brayden Canes. John Grant, Brittany Ellick, and closed parenthesis followed by a single closing parenthesis. Thank you. Thank you all. Oh, what a good bunch. Oh, man. You know, I just, I love this moment every week, reading these things.
Starting point is 00:04:13 I got to tell you, I went to a magic show this week and it was the best magic show I've ever been to. My mind was blown. And I got to tell you, if you haven't been to a magic show with me or watched a comedy with me, you should do it because I get really into it. I laugh really hard.
Starting point is 00:04:30 Oh, just the sheer joy of experiencing your excitement. Yeah, exactly. They're like, you know the joy you get when you make a baby laugh? Yeah. That's what it's like going to a magic show with me. I'm the baby. Anyway, the reason I wanted to say that was I liked reading these Patreon names more than that. Better than the best magic show you've ever seen.
Starting point is 00:04:54 That's high praise. Yeah. Dave, do you want to read our first question and see if this is also better than the best magic show you've ever seen? We're about to find out. Okay, this comes from an anonymous listener who says, I'm a senior software engineer at a remote company with 500 to 700 people. And over the last year, a new HR org replaced our old people team. They've spent six months building a new goals and leveling framework.
Starting point is 00:05:17 During a public meeting, I asked in Slack, we've had goals before and then stopped using them. How will these be different? Nobody answered directly. The next day, I was pulled into a meeting. Oh, no. the new vp of hr had screenshot of my question and sent it up my management chain my manager told me they were on my side but leadership didn't appreciate it days later
Starting point is 00:05:39 i gotta oh man this is gonna be a great question days later i was pulled in again and told the problem was my tone in quotes i didn't argue because we were at an impasse it felt like tone policing and like being sent to the principal's office i didn't feel like they were treating me like an adult in yet another one-on-one my manager said leadership wanted it raised again and that they don't want questions like that in public i told him the meeting should have been an email and that would have avoided this problem maybe this is a tone problem after all okay let me keep reading let me this whole situation i'm just in love with it all right let's keep going is this normal what should i do it's upsetting
Starting point is 00:06:23 enough that every time this gets brought up it wrecks the rest of my work day i've already been passively job searching for about three years because of broader issues and now i feel like leadership might be pushing me out this also follows being labeled a quote dissident by our product director after i raised roadmap concerns in another all hands most of the leaders involved are newer but two years or less while i've been here for four years i'm wondering if the culture is changing right in front of me thanks for the show y'all have helped my career a lot now i'm not sure about the earth legal frameworks but i believe if you get labeled a dissident in space law that gives your company permission to drone strike you so there are some severe consequences
Starting point is 00:07:06 yeah be careful yeah that's such a weird word to man dissident oh man there are so many interesting dynamics going on here and i'm just like yeah i'm empathizing with everyone at the same time like everybody here i'm just like oh i've been there oh i've been there too i've been on both sides of this what yeah oh man can i tell just a great story yeah okay year like 20 years ago i worked for a company with about about this same size about 700 people and i worked in an office of about 100 people maybe 50 to 100 people over the years and we in this office we kind of considered ours considered ourselves like the rogue mavericks of the company like we do really cool innovation we're so much cooler than the headquarters like stodgy corporate headquarter people
Starting point is 00:07:52 like we're cool we're out here anyway this culture absolutely um took over and it had some really good qualities like we actually did really good work we pushed the envelope we we did it we broke a bunch of rules that we didn't know kind of the unspoken rules that people say well you can't do that it's like well we did it and it worked and it was awesome you know we did that over and over And we started to get a reputation among our customers for being like the part of the company that does the best stuff. It was really cool. But there was a dark side. And it's just like this situation.
Starting point is 00:08:25 So once in a while, we would have visitors come and visit our office from HR or from corporate leadership or from whatever. And we would sit in these all-hands meetings with like, you know, 50 to 100 people. And we would say the most snarky, awful things to these people in this meeting because we just thought we were so great. So, for example, I remember specifically an HR person came and it was doing some kind of ethical training. They described a situation where there was like a whistleblowing opportunity or something and someone was going to get in trouble or whatever. And they asked a question, you know, what should this person do in this situation? And they literally turned it over to the audience and said, OK, what should they do? And it was one of these questions where there was a clear answer.
Starting point is 00:09:09 The answer was something like, you should report this to corporate or something like that. But someone raised their hand and said, that manager should have found a better fall guy to pin the blame on. And the whole audience just cracked up because we all knew we were just poking fun at this silly training. And of course, we all thought we were better than everyone else at the same time. So it's kind of a bad combo. But, oh, boy, that was a situation where that person got praised for it, at least from the crowd. But I guarantee that this exact same scenario played out for that guy where, you know, this went right up the management chain. You've got to get the got to get your people under control because that was the biggest complaint that our managers got is because we had such a maverick reputation. The corporate people were always nervous they were going to lose control of this office.
Starting point is 00:09:58 And so our office leader would constantly get berated by the more senior leadership for not controlling, for not, quote, control your people, you know? Yeah. Good times. You said you have empathy for everyone on all sides. And I want to hear more about that because I look at this and think, actually, no, I can kind of see it a little bit. But guaranteed, the question you asked was being thought by many other people, certainly everyone that was around for the last Goal Framework. yeah they're probably super grateful if your company is all turned over then maybe a lot of them weren't around for it but yeah you you are not the only one thinking it you're not the only
Starting point is 00:10:38 one thinking it but you are the only one who's missing that survival gene that keeps you from saying it i don't know i i think there's something important and valuable that happens if you are allowed to say the thing that everyone is thinking even if it is not a cheerleader question and you can couch it more politely maybe you could preface it with hey i i i appreciate the benefits we're trying to achieve with goals and leveling and i can see how this could help maybe that would soften the tone issues a little bit but for sure everyone has the same blunt question of like why will this matter now totally and and shame on shame on the hr people for not preempting like not knowing that question was going to be asked and not having a slide that says why are we doing
Starting point is 00:11:24 this now and why is it going to be successful many shames on the hr people because shame on them for being brittle about it too oh right like if you are in hr surely you know how everyone feels about you right like your job is people related surely surely you know your department's reputation and the bad experiences people have had in the past right and also you're there because i don't know you're you're passionate about it somehow or something is different about your brain in a way that makes this appealing but can you think of a more stereotypical hr thing to do than get someone in trouble with their boss's boss's boss for a public slack comment about a thing that everyone was thinking because of tone not even because of content seriously that's why people hate hr
Starting point is 00:12:15 that's the reason it's like it's almost like you know you walk into this thing you're either so unaware that other people don't like hr or like i don't know you just didn't think to anticipate that yeah like i guess that's i don't i don't want to insult the entire hr industry in this moment but that's why i've known some very fine people in hr me too but all of my worst professional experiences have involved someone from hr that's probably universally true now listen i'm gonna take the side of everyone in this scenario including the hr people oh i want to jump in and point out one more thing preventing harm between employees so that you don't get sued is the cynical job of hr right like if someone is doing something that someone else can see your
Starting point is 00:13:03 company for that's bad um and so i could see the tone policing thing of like i don't know hostile work environment is a thing people accuse other people of creating and causes liability problems and i mean hold on jameson are you already taking the side of hr we barely just got warmed up no no no i here's here's here's the here's the twist of the knife though it it's them protecting themselves right like in this case it's self-serving it's not it's you're not trying to prevent other people's feelings from getting hurt so that they sue the company it's literally the vp of hr probably has their feelings hurt because they're very excited about this leveling thing and is like yep no one's no one's allowed to talk about me that way exactly i will wield my hr
Starting point is 00:13:46 power to yeah revenge this kid yeah what a soul-sucking vibe to put out yes i promise i'm going to take the side of hr but right now i want to take the side of our question asker and just say okay this it is so wonderful that you feel empowered to ask these obvious questions like really obvious questions that no one else wants to ask and i just i would say think about the story the emperor's new clothes you all know the story right someone has tricked the emperor into wearing no clothing at all and convinced the whole crowd that the emperor is in fact wearing the finest clothing. And if you can't see it, there's something wrong with you. And what character in this story was the one character that didn't go along with the narrative that the emperor was
Starting point is 00:14:37 wearing clothes? It was a child. Why was a child chosen to play that part in this story? It's because the child hasn't yet become jaded and hasn't yet fallen victim to the pressures of yeah i wasn't aware of the political consequences of saying what everyone was seeing that's exactly right the child only knew truth the child didn't know about all these other hidden dynamics that are going on behind the scenes that are truth stoppers you know like all these weird like well you can't say that because that would hurt their feelings in the meeting it's like okay yeah but is it actually better you know is it actually better to know the truth or is it better to just like make everyone feel good about this moment this horrible thing that's happening yeah anyway
Starting point is 00:15:25 and so so i just want to say congratulations to you because you haven't given in to this uh this awful concept and and maybe maybe you'd be better served as an entrepreneur like running your own company you know because you just you're you maybe you're just not going to fit in and i see this in other scenarios you've been labeled a dissident there are several other things that were said during the question you've been there a long time you're kind of like the old guard yes a separate person in a separate scenario called you a dissident when you raised roadmap concerns during in all hands i mean you do have a little bit of a timing problem like maybe yeah maybe these meetings aren't the most effective place to raise concerns but if they're
Starting point is 00:16:02 the only place you learn about them then that shame on the leaders because it's like look if you wanted to get feedback on these things or you wanted to actually have an excellent thing like an excellent program or an excellent roadmap or an excellent goal system and the first time most people in the company are getting exposed to this idea is in all hands then shame on you for not actually piloting this or getting feedback from people who are actually going to do it you know you could have gotten everyone on your side but anyway suffice it to say i just want to empathize with the question asker for just a moment because i think this is a truth seeker and this is someone who doesn't think a lot about other people's feelings and
Starting point is 00:16:39 that definitely has a place in the world it's yeah and it's the place that gets good results but it doesn't necessarily create the best team dynamics and it obviously is creating friction for this person in their career here's as close as i'll come to getting on the side of the eight the the hr people there often are people who i can predict not always what they will object to but that they will have objections yeah oh yeah whatever it is right and sometimes they're very valuable and they're useful perspectives i haven't thought about and sometimes in my head they're like of course you will object to that and i still think it's the right thing to do and we're going to do it anyways or that is a downside with no solution or that is that is a trade-off we're
Starting point is 00:17:20 making deliberately or whatever whatever thing i have but it's not quite flipping the bozo bit but there are people who i who i know will um it's almost like they look at their employer as the enemy which depending on your employer maybe could be more or less true but like thank you for all this money that you pay me i believe that you are if left here on devices evil and going to do even more evil and i i'm going to stand up to that evil yeah yeah it's almost like a moral thing in in in some cases not always and maybe that's the vibe that they have about you that like oh here comes old dissident dave or whatever your name is speaking up again throwing pot shots yeah again not a healthy attitude and really a bad way to express it but it is a thing that happens i
Starting point is 00:18:09 guess yeah it is i don't know what to say about like you still have to deal with it usefully you can't just fire people who don't like your ideas unless that's what they're trying to do here but one reaction to it is to just dismiss them as like oh they always object to everything and yeah it sounds like that might be what they're trying to do well why don't we why to take the side, at least I want to take the side of the leadership team here for just a moment. So the leadership team is watching this unfold. And I can tell you, there is an insecurity that happens among many leaders of business, where you feel very nervous that your team members are not going to support you, that you're going to ask them to do something, and they're going to
Starting point is 00:18:52 give you lip service and pretend like they will, and then they just don't. And then behind your back. They're doing whatever they want. And suddenly you don't have control over the situation. And when you see people pipe up in meetings like this, it can feel like that. It can feel like, oh, I don't have control over these people. These are not actually foot soldiers that just do my every bidding. Now, to be fair, that is not my leadership approach. I actually like people to have their own original thought. I think it's very valuable. But there are many leaders who think if I can't give commands and have people follow it like a military style structure, command structure, then I am now threatened and I am unsafe.
Starting point is 00:19:34 I'm out of control. And I think that might be what's happening here on the part of the leaders. It could also be that they are just, they're also sick of these HR people. And they're like, I have to tell you something to assuage my VP of HR to tell this person that you have been dealt with, that the dissident has been dealt with. And it could be that they're just checking a box and they're like, look,
Starting point is 00:19:59 what's the best way I can smooth this over and move on? And I'll tell you, if the leader of this company, CEO, whoever, the last thing they want is for everyone in this company to be embroiled in some silly argument about a goal system. It's like, we are not in business
Starting point is 00:20:16 to deliver goal systems to our employees. Like that makes us zero money. and at best it distracts us when we're arguing about them now maybe the goals can actually facilitate more money whatever that's fine but arguing about the goal system at a large scale is like the absolute last thing they want to happen so that's a theory they could have just been like yeah gotta tell you something i'm just gonna say it was tone let's forget about this yeah another thing that could be happening here is a key factor in determining whether this goal system works or not is if people believe that it will work true there's some aspect of manifesting
Starting point is 00:20:54 this into reality and if there's public doubts about it it's it's really easy to give lip service to goals and that's the default in most of the goal systems there's a reason why there's infinity and companies churn between them is because all of them fail in many different ways and have have many weaknesses but if you if everyone is doing it and believes it's useful or enough people it's like vaccines right if there's if there's herd goal system belief then you can deal with the few people that are just roll their eyes no matter what so a maybe a rational motivation is them thinking deliberately about this and saying you like undermining it publicly in this way is actually going to make it less effective because we have to do something and we're going to do
Starting point is 00:21:42 this thing and you're not going to propose an alternative so just shut up about it and let's do the thing i'm hearing you say that you think our question asker is like a pathogen yeah in this herd immunity metaphor isn't there a name vaccine choice isn't there some name that people who don't like vaccines like to say that doesn't sound like i don't vaccinate my kids uh i don't know um bodily autonomy or something i don't know okay yeah there's some better there's some better word than pathogen you're a uh oh i see a unique life form yeah put it that way yes you're just part of the biodiversity the immunodiversity of the yeah the immunodiversity yeah yeah we have a rich diverse array of creatures
Starting point is 00:22:30 living in this group and some of them just happen to be fatal to the rest of the population I didn't choose to be fatal yeah do you think that tuberculosis is that a bacteria? I don't even know what it is that blob
Starting point is 00:22:49 that tuberculosis blob chose that way? no what is my point? we've wandered far afield I guess my point is I can see why they would do this I still think it sucks I think it's possible that you could have phrased it in a way that felt less objectionable. And if you really value candor, there is not a lot of candor in this interaction. And there might be more in a smaller company or a newer company.
Starting point is 00:23:14 I feel like that's a feature I like is if you know everybody, it's really easy to raise your hand and say, hey, CEO, who I play video games with sometimes. Are you sure about that point on the slide? Because I think it's wrong. And then the CEO to not take it personally and talk to my boss because it's it's them, you know, like, yeah, man, I don't know how you stop this from happening. Yeah, I mean, I'm not going to spend too much time taking the sides of the HR people, but HR, I think often an organization this size, they do believe it is their responsibility to do some kind of organizational goal management system, some kind of performance review system. And frankly, at this size, your legal risk of not doing something objective when it comes to performance management, which is probably what this boils down to, is pretty high. Wrongful termination lawsuits are abundant. When you need to let somebody go for whatever reason, HR needs to set that up so that it's possible to do so without major damage to the organization.
Starting point is 00:24:10 Don't worry, HR doesn't care about you as a person. They just care about the organization. And so that's probably what they're trying to do here. So if you put yourself in their shoes, they're trying to create a system that can facilitate compliance with whatever rules and regulations they think are necessary here. And that's almost, I'm going to go like 90% chance that's what motivated this goal system. And you in the audience think that it's about actually doing performance improvement and getting better results as a business, but it's not. It's liability protection. Well, have we answered the question?
Starting point is 00:24:41 I think so. Good luck. oh, actually, no, I know we've said a lot about this, but it is a very interesting and complex situation. But I do want to say to the question asker, I think you do have a problem that's going to limit, like a behavioral problem that's going to limit your professional success in this kind of context. In a company, like with hundreds of people, you might not be valued for the skills that make you amazing. Like your ability to cut through crap and see the truth and call it out. And typically in a company, 500, 700 people, that's not a, that's not really a high value
Starting point is 00:25:14 thing unless you're the CEO, you know? And that's why I wasn't joking when I said you might actually have a lot more success as an entrepreneur where truth seeking is like rewarded directly, you know, instead of, yeah, penalized like this. So this, this might not be the kind of job for you, or you might want to be introspective and say, actually, I don't want to be an entrepreneur. I want to fit well into a community or an organization of people like this, in which case you do need to decide when and where is the right time to raise concerns like this. Maybe related to that, it's also possible that I think you'd be more optimistic and say, I think you can still be valuable in your willingness to say, I think there's a problem here, or this might be wrong, or say what
Starting point is 00:25:55 everyone's thinking. But it might need, given the tone feedback, even though you think your tone is fine you might need to sugarcoat it a little bit more if it's in a very public setting yeah and that could be a useful skill if you combine the ability to cut through things with the ability to craft your message so that it is received by people because it didn't work right like yeah if your goal was to get an answer to this question you did not answer that you didn't get your answer it got diverted into this side thing that's right and you also didn't doesn't sound like you actually influenced the program for good either like if your goal was to get a result where the goal program is better, then you probably should have sat down privately with the people who designed
Starting point is 00:26:33 the program and ask your question there. Yeah. And I think, Jameson, when you said sugarcoat, that made me think of a lot of times people will assume what your intention is with the question, which is almost definitely what happened here. You're asking a question that's legitimately like, I want to know why this isn't going to be better than the last one. And what they hear is, i don't support this goal system and i don't support you right like that's the message that comes across and so yeah these things always fail this is this one's going to fail probably too right that's what you're saying without saying those words and so if you want to sugarcoat it you can preamble your questions with hey i'm interested in helping this be as successful
Starting point is 00:27:14 as possible i see the value and i want to help can you help me understand why this is different from our last goal system you know yeah it's like now you've now you've just killed the assumption that you don't support the program. Of course, they might still believe that based on the question, but yeah. Anyway, that's all I had to say about it. Can you help me understand is one of my favorite phrases.
Starting point is 00:27:34 I love it. It just disarms any potentially tricky question. Not always, but it, yeah, it makes, like you said, it makes your intent more clear. I am trying to understand, not attack. Can you help me understand why this is such a terrible goal system? Yeah, help me understand why you're so stupid.
Starting point is 00:27:52 Dave, should I read our next question? Yes, you should. All right. This is from an anonymous listener who says, Hi, SoftSkillets. Love the show. Thanks for making me laugh every walk, break I take. I'm in an org where the front-end platform team has adopted a fairly rigid rule,
Starting point is 00:28:09 forcing all domain logic into pure functions to prevent, quote, bad code. I see value in this for the big picture, but the rule is enforced at every level, even within my own team modules. It feels incredibly unnatural and cumbersome. I see our team is often leaking logic into our UI layer to avoid boilerplate that usually comes out of the box in this reactive framework. I've tried to address this a few times, but I always get shut down with theoretically correct answers
Starting point is 00:28:36 that don't actually acknowledge the pain we feel on the ground. Most of the feature engineers have tried to bring this up, felt unheard, and eventually just stopped trying. Recently, I used AI to help me synthesize these conversations and better understand the bottleneck. I wrote a long markdown file to validate with my teammates if they felt the same. The platform team got wind of it, and I shared it. This triggered a lot of frustration.
Starting point is 00:28:57 Understandably, they felt it was AI slop sent their way. I eventually got a meeting with one of the platform engineers. I tried to stay focused purely on the problems, knowing my solution, allowing state management in the domain layer, would be pushed away. The meeting went poorly. I didn't feel like the weight of our frustration was understood, and when I mentioned potentially allowing some optionality for senior engineers,
Starting point is 00:29:14 I was literally laughed at. It feels like this rule is now followed like a religion. how can i rebuild this relationship and actually be taken seriously how can i change a culture where the builders feel like the gatekeepers are limiting them instead of helping them oh oh man brutal these are good i mean we always have good questions but i feel like these are both very tricky nuanced ones which is exactly not our area of expertise yeah yeah we're better at the Easy, straightforward questions where the answer is quit your job. That's the one we really like.
Starting point is 00:29:51 I want to talk about a piece that stuck out to me because we were talking about a little bit before the show, but used AI to produce some stuff, sent it to them. They felt like it was just AI slop sent their way. And we were talking about how the norms and expectations around how you share AI output with others still feel a bit in flux. but it does feel broadly impolite to just send someone ai's output and say here it is without acknowledging at least explicitly hey like this was written by ai and so if you're already going into a tricky discussion especially if it's with people who are savvy enough to detect the ai hints yeah the the ai hints i want to think of a neutral adjective i don't know the the particular flavor of ai authored prose it's too late now but if it's going to be a tough meeting that they're
Starting point is 00:30:45 going to disagree with uh this is a bad way to start it's like um imagine if you sent them a i don't know scribbled crayon drawing that has like poop smeared on it that has your detailed plan for how to improve the company or whatever like it's it's gonna who do you think i am to send it to me to send me such crap literal slop yeah exactly so don't do that next time yeah there you go what do you do about this i want to avoid this specific technical stuff completely because that's not what we're here for i mean let's let's boil it down to the the category of situation which is you have a a team in a position of influence who are applying standards that you feel are not actually giving good results and the the twist on this one or the flavor of this one
Starting point is 00:31:34 is it's it's a seems like a dogma to you and and less like a uh a practical approach to software engineering it has some rhymes with the previous question in that there's this broad standard they're trying to apply and they feel like if everybody does this it will be better overall and you're looking at it with more nuance and specificity it also stuff like this is often more about avoiding problems caused by like the crappiest 20 of code or engineers rather than enabling really talented people and i don't know how to get around that problem but it doesn't feel i feel like that doesn't usually work if it's like we have to defend our product against these people that are obviously just going to ruin it you're going to piss off the people who
Starting point is 00:32:26 chafe at it and feel like they understand the limitations and disagree with it and you will also piss off the people who are going to write crap because it's going to make their lives harder anyways it's it's hard to impose broad restrictions and decisions on a large organization because there are always edge cases and nuance that do not fit and everyone thinks they're an exception yeah so on the one hand i sympathize with them a little bit that like well if they say okay you can you can get around this rule then they probably have all this tooling to enforce it and you have to put a special like i dave smith wrote this code and thus i'm allowed to break this lint rule comment above all your code or something like that like it's it's much easier
Starting point is 00:33:05 to enforce a thing without exceptions yeah it is it's easier to be 100 than 97 how do you think you convince these people that they're wrong that's hard i mean that's what we're asking right Yeah. What's the to prevent bad code? I hope that they have more of a reason than to present prevent bad code, like for a rule as strict as this one. Hopefully they have a strong justification. And you can talk about alternative ways to solve that problem. Like if it is as vague as bad code, then you're in opinion land. and it's going to be tough. I assume that there's maybe just one key person who feels really strongly about this. This has the smell of like... Oh, it's never just one.
Starting point is 00:33:55 They tend to attract each other. The dogma cluster. I don't know. Yeah, everybody has their own little things that they think are better. And some people, I guess, get put on a team where their job is to impose those things on other people. Yeah, I suppose so.
Starting point is 00:34:11 It's like the HOA, the HOA of your code. Yeah. Yeah. So I guess if there are underlying or more specific outcomes that you're going for, you could talk about how you feel like this rule is making those outcomes harder to achieve. But if it is at the level of this is bad and doing it this other way is better, then you have to convince them what better is first. And that sounds hard. So maybe that will work if there's something specific enough to point to to say, we want these metrics or these, I don't know, reliability numbers or these performance numbers or whatever. And here's how I think it's harder to do with this solution that you've imposed. And here's an alternative that I think gets us the same outcomes that will be easier to do. in these situations i think that historically it has been very hard to make an objective statement about which is better and which is worse when it comes to two options like this and i say historically because i think ai has opened the door to being able to conduct experiments pretty quickly and actually get results because in the past it'd be like okay let's run two teams both of them one of them will employ this pure functional approach one of them will employ this
Starting point is 00:35:28 more whatever other approach and we'll let them run for two years you know and they'll build the same exact product and we'll see who has fewer bugs and less code and higher velocity and all that just impractical right like no business is going to invest in that well maybe there's probably less than five businesses on earth that will be able to invest in that but now what you could do is you could write the code the way you want and then tell ai to create recreate that code the way they want and you could at least just show which one is bigger be like look at all this like there's so much extra code here. And then you could say, think of all the token costs to read this code. It actually turns into real dollars. I mean, that token cost thing maybe is a joke.
Starting point is 00:36:08 I don't know. I was kind of half joking when I said it, but it's kind of serious, right? Familiarity and consistency, I think broadly is positive in a code base. And given other things staying the same, it's probably easier to work in a code base that is internally consistent in style and abstractions that applies for humans and robots and there's a whole area now that used to be just for people but now it's for robots too which is like building things that look normal that look easily comprehensible to like the middle of the bell curve developers who are going to work on this which means i don't know generally c-ish descendant languages and i think typescript if you're on the web is sort of in the middle of the bell curve now but for a while it it was not and
Starting point is 00:37:00 generally like sequel-ish databases and so i'm bringing this up because i actually like functional programming and and dabble in it myself but purely functional no side effects is hard to enforce and is a much different way of working there's various frameworks around effects that can bring some sort of like monaddy things in and i don't know there's yeah there's there's stuff you can reach for but it definitely falls outside of that bell curve and you know what's really good at writing code in the bell curve robots because that's what they were trained on that's where all the code they looked at came from so there might be yeah there might be an ai argument around this my favorite part about that comment is you said make code
Starting point is 00:37:42 that looks normal and then you evoked an image of a bell curve and i was like that was like poetry oh i didn't even think about that directly i mean i was yeah huh that's how good you are i am smart good job statistics poetry good job jameson that's beautiful this rule is now followed like a religion how do i rebuild this relationship and actually be taken seriously i mean have you jameson you have you ever met someone who was super dogmatically entrenched and whatever functional programming or anything else and you had a conversation with them or even multiple conversations and they were like you know what i've changed my mind i'm giving up that aspect of my core identity and i'm going to embrace something else media knee-jerk answer nope but maybe i've
Starting point is 00:38:24 had i think i've known people who changed strong opinions over time but there is a i can think of a few very specific developers who were the most dogmatic and nothing could sway them except me as their boss saying you cannot tell people this anymore it does not i know this is your opinion and it you cannot enforce that on people yeah just suck it up so yes you have you have changed people with one conversation yeah i have if i can control whether they get paid that week or not but it is hard so maybe maybe the answer is not change the platform team's mind but you you have to bring the concerns up to someone with authority to change the platform team or make it so it does not impose its will on on the whole other group like this boy that sounds challenging because now
Starting point is 00:39:14 think let's imagine in this scenario where you're successful and this person ends up getting a smackdown from some senior leader or even fired you know like is that oh boy it's heavy but it It might be the only way. All because you wanted to throw an exception in a function. Was it worth it? Procedural programming strikes again. All because you wanted to write a wait. You can keep trying.
Starting point is 00:39:45 I think the fact that you tried once and it didn't work is not, I can't fathom a world where it would have worked if you brought this up once And there's this really, really intense rule that is deeply viewed as essential. Like, I don't know. You've got some reality distortion field sales magic. If you can just sit down and talk to them, and then it changes. Unlikely. Maybe it's just worth more attempts where you bring up data, you gather feedback from other developers.
Starting point is 00:40:18 Yeah. But you start going on that road, and you're going to have reputation problems. yeah maybe i mean maybe you'll be hailed as a hero by all the developers that hate this rule yeah maybe maybe you'll be the new platform team i guess that's the vibe i'm getting there's this platform team and they think it's right and all the devs stuck following it think it's bad and i guess platform teams are are generally a uh more powerful point they're they're in a more powerful position in the org though because they're at this meta level yeah it's their job right like that's that's what they've been assigned to do i think what you're asking is
Starting point is 00:40:52 So how do I orchestrate a mutiny the most effectively? Yeah. Because if you really do have the support of all your shipmates here, and it's really just this one ivory tower platform team that's pushing this awful dogma down on everybody, then, yeah, I mean, that is one option is to try to rally the troops. But mutinies are dangerous, you know, not just on the high seas, but also in a corporate environment
Starting point is 00:41:16 where you could be labeled literally a dissident, just like that last caller. Yeah. And that's rough. So if you're going to do it, you kind of need to move swiftly and make sure you have 100% unanimity and then approach the team, the platform team with a unified voice and just say, hey, we don't want to work this way anymore. I think you're supposed to seize control of the radios.
Starting point is 00:41:37 Is that how you start? I feel like that's a thing in coups or mutinies. You communicate to the populace and you just say, hey, this happened already. Good news. We're now in charge. Oh, like the revolution has already taken place. Yeah. Yeah.
Starting point is 00:41:50 so i think i think you could also just like drop an announcement in slack and say hey uh we actually don't have to follow this rule anymore we've decided that uh it's better off a different way i'm just publishing our front end standards and code style guide for 2026 here it is everybody yeah just a little minor patch update to yeah it's v 4.6.2 now instead of .1 and the changes that it's all different you can write bad code is now legal oh boy this it is a tough situation you could point you could point the ai slop cannon at this problem you could just every task is now like great robot make this stupid lint rule pass and good luck dealing with the horrible knots
Starting point is 00:42:44 it will have to write itself in to fix it. I guess if anyone has to bend itself into contortions, it's better to be the robots. Yeah. Because they don't have feelings. This feels pretty pessimistic from you, Dave. You can't work around them. You can't convince them
Starting point is 00:43:04 because they're likely to be very entrenched given the type of person this sounds like. I mean, given that they laughed at this person, you know? I mean, to be fair, I don't think optionality is a good idea here. I think that's the worst of many different possible options. It just feels weird to say, hey, we have these really strict coding standards that don't apply to this group of people. Yeah. Maybe, okay.
Starting point is 00:43:27 I'm now waffling. I was in Boy Scouts as a kid, and I remember vaguely I had to do something called a totem chip to get the ability to, like, carry a pocket knife. do you remember were you in boy scouts absolutely and i do remember the totem chip i don't remember what it was or what i had to do or why i like where did the knife come from did i have it but it was locked up before or something but there was some kind of like assessment that okay now now you are capable of not stabbing yourself and or other people and thus can have this so maybe maybe there's some kind of like i don't know training they can do instead that's well why don't you literally issue a little cardstock totem chip to every developer and whenever they ship bad
Starting point is 00:44:12 code that's not functional you tear off one of the corners and when all four corners are gone oh yeah you chopped off the edge or something right was that okay yeah when someone saw you being unsafe with the knife they tore off the corner and uh you had to turn in a card with at least one corner intact to get access to your knife okay i think we just let you ship your procedural non-functional code until all four corners are gone yeah this is more like it's like retroactive like uh you what's the you could call it shifting left we're shifting enforcement left or right i don't know shift left is the corporate way of saying it's better now yeah you shift security left a while ago we shifted devops left a long time ago i don't remember
Starting point is 00:44:54 which way that works but somehow you convince them that the fact that you are enforcing and calling it out retroactively and thus you could do whatever you want in the moment is actually better and more agile. Yeah. That's my answer. I'm sticking to it. There you go. Let's do it.
Starting point is 00:45:07 That's all I got, man. All right. Besides quit your job, which yeah, which I'd probably, we, you didn't,
Starting point is 00:45:14 you didn't say we couldn't say that. Yeah. So that's on you. Gotcha. Um, what can people do if they want their own questions answered? Go to soft skills, the audio and click the ask a question button where you can fill out our form
Starting point is 00:45:26 and give us as much information as you'd like. keep your answers brief and we will read every single one of them because we are in love with them we i i kind of don't know which one i love more the patreon names or the questions coming in they're both just so great so thank you to everyone who writes in questions they're so good thank you thank you we will catch you next week

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