Soft Skills Engineering - Episode 111: Dogma Rehab and Getting a Co-worker Fired

Episode Date: June 12, 2018

In this episode, Dave and Jamison answer these questions: Hello Jamison and Dave. 💕 your show! 👏 I have been a C# dev for 7 years. Last year, I learn Erlang. I fell in love with fu...nctional programming. After that I learned Elm and oh boy… I had never dreamed a compiler/computer could do so much work for me, preventing so many mistakes that would otherwise require an unholy number of “unit tests”. The thing is I can no longer find satisfaction with any job. I love to write software, but at some point I became almost dogmatic. I abhor more and more the discipline it takes, in certain languages, to make my code be as pure and testable as in an FP language. I had to do so much un-learning, that now I feel that I am refusing to un-un-learn all these different ideas and paradigms and just go back to making the tests happy. I seek your humorous words of wisdom on how to find contentment with my job again, without looking at a language and dreading it. I have a co-worker, who is pretty incompetent technically. Over the past few years that I’ve been here, he has proved time and again that he is incapable of learning and really grasping how things work. He is able to accomplish basic feature work, but not capable of making good architecture decisions, or why a given framework should be chosen, or how to solve harder problems (I’m not sure how to describe this. But for example, how to build a resilient API client). However this person is great at creating slides, and presentations, and JIRAs, so I think management thinks they are ok at their job. He’s also a nice guy. I’m not sure how to say, hey you suck at your job. Which is pretty harsh. Or to suggest to someone that he should be replaced.

Transcript
Discussion (0)
Starting point is 00:00:00 It takes more than a fancy editor color scheme and a coding font with ligatures to be a great software engineer. This is episode 111 of the Soft Skills Engineering Podcast. I'm your host, Jameson Dance. I'm your host, Dave Smith. Are you laughing because you are one of those peons that don't use a coding font with ligatures? I don't even remember what ligatures are. Oh, ligatures are little like, I don't know what the technical description of them is, But I know when I type, like, double equals, it'll connect the two equals and replace them with a different glyph or, like, greater than or equals to or there's lots of, like, maybe it'll replace the anonymous function thing with a lambda. Like an actual lambda symbol, a Greek lambda. To make it prettier.
Starting point is 00:00:47 Yeah. And makes you a better developer. That's right. I bet you use Times New Roman as your font. i think yeah i just draw the line at variable width it's got to be a fixed width font and that's it yeah i've heard of people that use variable width fonts and i believe that they're trolling everyone doesn't don't ligatures make it harder to align your code like you effectively have introduced a variable width font right uh i think all right time for the traditional talk
Starting point is 00:01:23 about stuff that we don't know anything about but i'm pretty sure they combine it into fixed width symbols that are as long as the original input symbol yeah yeah so like triple equals is the same length it's just three lines all completely connected together okay stuff like that i don't know how i program without that i mean frankly it just your eye doesn't have to stop to scan and each individual symbol, you just read right through them. It's like this smooth track from left to right, and instead of stopping at every character like I normally do. I mean, I'll never get those microseconds back that I've wasted
Starting point is 00:02:04 scanning equal sign by equal sign. Yep. How many equals? One, two, three, four. Nope, just three instead of just like, zoop. Oh, man. what a waste okay oh what what is this show this is a show where we take your non-technical questions about the technical field of software development and we answer them yeah we'd like to
Starting point is 00:02:29 thank our supporters of the show who are contributing on patreon at the level where they get a call out every single week this week they are nick cantar dimitro and neonilla david jackson chris fitkin ken howard sean clayton and dustin coats thank you very much yeah thank you so much your support helps go to pay for lots of expenses we're actually looking at uh doing some more design work so we're going to use some of the money that we've raised through patreon to do that and it will result in more beautiful graphics which will eventually turn into more beautiful stickers and all kinds of neat stuff so thank you for supporting that we are stimulating the economy with your patreon contributions yep should we read our first question sure would you like me to
Starting point is 00:03:12 Yeah, I would. Okay, this comes from a listener named Fabio, who says, Hello, Jameson and Dave. Heart emoji, your show, clap emoji. All right. That was good. So it's clear to me you don't use a font with ligatures because you're reading the individual characters
Starting point is 00:03:32 instead of abstracting over the meaning of those symbols, Dave. It's true. It's supposed to be love your show. like that okay god it's not clapped between every word which should be if they were if if fabio was calling us out for something stupid we said but right that would be like slow clap between each word okay which we also welcome by the way uh okay moving on here he writes i have been a c-sharp developer for seven years last year i learned airline i fell in love with functional programming After that, I learned Elm, and oh boy, I had never dreamed a compiler or computer could do
Starting point is 00:04:13 so much work for me, preventing so many mistakes that it would otherwise require an unholy number of, air quotes, unit tests. The thing is, I can no longer find satisfaction with any job. I love to write software, but at some point, I became almost dogmatic. I abhor more and more the discipline it takes in certain languages to make my code be as pure and testable as in an FP, which stands for functional programming language i had to do so much unlearning that now i feel that i am refusing to un unlearn all these different ideas and paradigms and just go back to making the tests happy i seek your humorous words of wisdom on how to find contentment with my job again without looking at a language and dreading it okay a couple points to address first
Starting point is 00:04:54 what is the unholy number of unit tests i'm assuming that's 666 unit tests maybe in different cultures there are different unholy numbers i guess it could be 13 that would be unholy for a few reasons unless your code is very small how many unit tests do we have we like to keep it at 13 another thing is i i like this model of learning and then unlearning and then un-unlearning it's Fabio has been swept up in this vision of the glorious functional programming heaven-like state, and then he has to descend back down to the mud and typing equals all the time for mutation and pointers
Starting point is 00:05:44 and all this common stuff that brings you down. it says here that he became almost dogmatic based on what you wrote here fabio i think you should scratch the word almost you're straight up you you got dogma i mean you got it um there are religious connotations with the word dogmatic as well so i think that metaphor is still fitting so i love functional programming i think it's fantastic and if i could choose i would write all my code in functional languages and styles i also in the past several months took a job writing uh golang and angular and javascript and that's so far from functional programming go is all about um imperative code and mutation and and it's not quite object oriented but it's
Starting point is 00:06:38 definitely not functional javascript and angular one is is well it can be a rat's nest of side effects and mutation and things like that you can write it in different styles too but it turns out it's all it's only a rat's nest of side effects and mutations if you're doing it right yeah or or if like you've written code that shipped instead of was in a blog post i guess yeah so i i feel you man i feel this tension between like here's the kind of style i really like i like this feeling of like thinking through the problem and modeling it with types and and thinking about functions that don't have side effects and just passing your data through this pipeline that transforms it and and uh modeling io in a way that doesn't involve side effects all
Starting point is 00:07:22 these things are super cool to me and then i just don't do it at work and i guess for me i also think lots of other things are cool so it's not as big of a deal that like i i love the engineering side of functional programming and i also really like these like scaling problems and team and people problems and and um so it's kind of like a trade-off where i'm okay doing technical work in non-fp languages i think jameson you've taken great solace in curating an eclectic collection of clicky keyboards too yeah that's that's true i believe that is related to functional programming it helps you take your mind off the fact that at this moment i'm not typing l yeah but at least the click is so satisfying every character yeah all my pain is washed away by the ecstasy of the
Starting point is 00:08:12 clicky clack i mean it does affect how i write code in other languages but there's also we'll probably talk more about this later but you you can talk about how you can borrow from different languages and paradigms but there's a downside to that where you there's a there's a common idiom in your language of choice and there's a common style and if you bring in element haskell into c-sharp the people that just write like air quotes normal c-sharp are not going to understand it they're not going to be familiar with it or comfortable with it you're you're going to be fighting against the the current of the language in the community and so i think a lot of times the advice is like well you can just you can just try and bring that stuff back and to some extent
Starting point is 00:08:57 you can but it's hard to do it completely it's always this unsatisfying Frankenstein monster of like yeah I'll do some stuff maybe I'll make sure more of my functions are stateless and but there's all this other stuff I can't do because of the language or if I do it I have to do it in this weird workaround way like I don't I don't know I don't get good pattern matching like Erlang has or I don't have algebraic data types like Elm has and so I have to like have giant switch statements to look at strings or whatever your weird workarounds are so i don't think you can ever just get there by copying things over for me at least that just it made me sad trying to copy it too explicitly or trying to trying to model different programming language paradigms in in
Starting point is 00:09:41 cultures that i feel like didn't support it it's like just it just kind of feels like rubbing salt in the wound you know a little bit and and also at some point you know how to do this you're trying like you can't all of the tooling and community and libraries and stuff in in that language are geared around that paradigm and it it becomes valuable not just because the paradigm is great but because you have all these things to support it and when you move away from that it the value drops a little bit and the effort to implement it certainly rises so you might run into this situation where like yeah it'd be cool if you used monads everywhere but like it's also going to cause a lot of pain and a lot of problems in your c-sharp code so it might not be worth it in
Starting point is 00:10:22 the long run or the short run honestly well uh one thing you could do to fill your time and and maybe make you feel better about things is uh at work you could try to defeat all of their your co-workers unit tests and linters and stuff in really subtle ways that point out flaws in your language so then they will come to the conclusion on their own we gotta rewrite all this in scala you're like no that's not what i wanted i've made a huge mistake i'm sure scala is great you just have to be waiting in the wings at all times and be like you know this never would have happened in haskell yeah i've worked with people like that i've also been that person too and it didn't go great we sure didn't use haskell
Starting point is 00:11:10 but it's good it's good to have a a judicious person around who says things like that right to just make sure your mind is open and your team is aware of yeah alternative approaches yeah it's also nice sometimes to have this green verdant pasture that like all our problems would be solved if only we were in this other language and i can tell you i've spent some time with haskell folks and maybe all of your problems would be solved but you would have plenty of new problems there's no silver bullet for sure but it can be nice to think like oh wouldn't life be great if if all the problems we know about were solved and we didn't know about any of the new problems that this would cause i'd like to exchange all of my current problems for ignorance
Starting point is 00:11:56 yeah that feels better yeah but i don't know it can feel nice i think it is great to work on teams where people bring varied technical experiences and varied ideas and stuff that's that's super motivating to me and i love it when somebody brings up like a framework or paradigm or tool that i don't know about and teaches me about it even if we don't end up using it it's energizing so that's cool you know i i really think you struck an important vein jameson with your comment about these green pastures and how you don't really see all the problems one of the things that this listener said in his comment that we trimmed down a little was that he had actually picked up these languages on his own time which means he was probably working on pet projects
Starting point is 00:12:37 probably alone and didn't really have the burden of like production maintenance and operational stuff and frankly when I do little things on my own pet projects I just don't really get a full sense for what it's like to operate a product with that technology with actual customers with a team with business requirements and pressures you know that really changes everything and boy does it really bring it really exposes some of the cracks in your language so the fact that you're not completely in love with c-sharp which is your production language of choice today for your team anyway isn't really surprising i think most people use their language or technology until the cracks appear and the pressures of operating their business force you to see all the issues and
Starting point is 00:13:23 you know you can take solace in the fact that if you brought elm in you know things wouldn't just be magically better and i think that's really important for you to internalize i love elm and definitely some things would be magically better but some things would be worse and one of those things that would be worse is trying to bring a team of c-sharp developers over to your side with elm if they if you airdropped it in on them man it's really easy to torpedo a technology choice if you hate it and think it's stupid especially when it requires pretty dramatically changing the way that you think and that you work and elm certainly did that for me maybe maybe everyone there will be a natural but uh there are plenty of human problems to go with this if people have
Starting point is 00:14:06 invested a lot of work in a certain in a certain model and paradigm i i guess we could talk about i don't know we've kind of poo-pooed the idea but we've told you it's dumb and wrong i don't think it's dumb and wrong we could talk about what you could do if you want to do this if you want to use these languages professionally right i mean an easy well not easy one immediate solution is to just go find a job that uses those i know people sometimes do that when technology is very important to them they'll they'll just go find a job that uses that technology that feels relatively common to me um another option is to try and introduce it in your current workplace i think this one for Erlang at least might be a little bit trickier.
Starting point is 00:14:56 My impression is C Sharp is kind of a monolith that lots of people use only C Sharp and it's not like this microservices environment where you run some stuff in C Sharp and some stuff in Java and some stuff in Ruby and then adding one more thing isn't as huge of a deal. So that feels a little bit trickier. Elm technically might be a little easier to drop in
Starting point is 00:15:19 because you can just put it on some UI chunk somewhere. and and replace a little piece that was javascript with elm but again the i think the harder thing is going to be bringing your team along i've had an experience where i tried to convince a team to use elm and i i like i don't know i guess i just wore them down but they didn't actually want to and and it turned out to not work because they weren't on board and and there are certainly a lot of new problems that come with it and if you don't don't believe that it's worth it then all those problems just hurt so much more to you and you're not willing to work through them so it's just like this burden that you hate that's not a good spot
Starting point is 00:15:58 to be in yeah so i guess if you can get the team excited about it and willing to try it maybe you do little demos maybe you you pair with them you do little spikes of demonstrating concepts and benefits if if they're sold on it then i think it's a it's a possibility of introducing it and if they're not you're gonna be dealing with grumpy people that will that will have trouble succeeding in this new world i guess i i mean i i would say in this situation i would probably not encourage fabio to try to get his team to invest in erlang or elm or any big change like that unless there's a real clear business case yeah i mean so he's just kind of sampled in it first of all just pet projects um it's definitely too early to recommend it for the team and i don't really think that's
Starting point is 00:16:51 what he wants to do anyway i think he just wants to not dread going to work every day you know and i think trying to convince a team to change it could actually amplify that dread why how would that amplify it well because now not only are you dealing with this dreadful language that you've decided you don't like but you also have all these dreadful co-workers who are telling you that your other language is no good and your job is to try to convince them to change their mind yeah i mean you really got to be up for that if you're going to go in based on what i've read here i don't think fabio's up to that i mean yeah i don't know maybe baby steps i think if you like you said if you have a compelling business case beyond it's
Starting point is 00:17:30 i like this paradigm better it's a little bit of an easier sell to introduce it at least um i don't know what that is because i don't know your situation but if if you have a reason beyond i think i would be happier programming this way because i think it's better programmers love opinions like this about like this is the right way to build software and everybody has one so just saying like no this is the right way to build software i think is unlikely to to win people over if they're not already kind of in your camp yeah totally agree you could use f sharp just replace one of the letters c to f that's like a tiny change easy yeah i mean i'll tell you exactly what's going to happen if you do that you'll have one or two developers who are interested in f sharp
Starting point is 00:18:10 they'll start writing their new code in f sharp occasionally or maybe only this one module and then everyone else will just dread going into that module because they'll be like oh geez i don't know how to change that i don't know how to test it i don't know how to make changes to it without breaking stuff i've seen that kind of thing happen in a code base where this one part was written by this one developer who was super into scheme you know and it's like no one else will touch it right it's just really hard to voice this kind of a change on someone even if you have a pretty proactive learning focused developer team it's pretty tough yep i has i had a similar experience one of my co-workers at an early job got really into haskell rewrote a significant
Starting point is 00:18:48 chunk and an important chunk of our application in their translation of haskell into the language we were using there and i was just completely and utterly baffled i didn't know what currying was i didn't know what higher functions were were it was it all looked like magical nonsense and i could not touch anything and i was so mad at them because uh they rewrote they rewrote it but also we still had to maintain it like there were still bugs in it and there were still features we needed to add to it so it felt like they just like came in and made my life horrible and created this chip on my shoulder that i have against haskell to this day still really you still carry that no i don't i actually really like it um but boy was i upset for a couple months so don't be that person yeah
Starting point is 00:19:42 definitely not all right have we answered the question well i mean you mentioned maybe you'll get a job in it but the challenge there is that you don't quite have enough experience for a team of seasoned elmers is that the word they used to describe themselves by the way elmos oh really i don't remember anyway boy elm can just go in a lot of weird directions so you know you probably don't quite have enough experience to really go land a job as an experienced elm developer so you're in this catch-22 right where you you want to work in these technologies you can't get a new job doing it your current job won't change to do it uh what do you do and i think the answer is you try to find ways in which you can contribute if this is your goal to find a job doing this
Starting point is 00:20:23 full-time find ways to contribute to elm projects and make a little bit of a reputation for yourself such that you can cite that as experience when you go to your new job now of course this will take time out of work but it sounds like you're already doing that anyway and if you put it to use for both learning these languages and concepts as well as getting some experience under your belt that can be referenced in an interview then i think it'll really set you up for success if you want to go jump and do this stuff full-time yeah sounds great good advice dave good luck good luck with your rehab yep or alternatively you could get a frontal lobotomy and just forget everything you've learned and say no screw it oh actually that reminds me yes there is one thing that i
Starting point is 00:21:00 think would be really beneficial in this case and that is that instead of focusing on the tools you're using to do the job try to focus your attention on your customers who are benefiting from what you're building focus on their experience focus on the good that comes from what you've done and not how much work necessarily that you think is unnecessary that it took to to get that product out in the first place so i think if you can focus on that you'll probably become a better developer regardless of the technology you use because you'll be looking at the bigger picture yeah i think that when you said that i feel like i recognize that in in my approach to work too that i really like making things better and solving problems and i also care a lot about
Starting point is 00:21:41 the technology but if i can make things better and solve problems that's that's the higher motivator for me yep so i've been writing a lot of make files and bash and awesome tools like that but it makes life better so it's not too bad and you thought your c-sharp was bad try writing some make files um all right should we talk about the next question yep go for it i will read it how do I suggest firing or replacing an incompetent coworker. I have a coworker who is pretty incompetent technically. Over the past few years that I've been here, he has proved time and time again that he's incapable of learning and really grasping how things work. He is able to accomplish basic feature work, but not capable of making good architecture decisions or explaining why a
Starting point is 00:22:26 given framework should be chosen or solving harder problems. I'm not sure how to describe this, but maybe for example how to build a resilient api client however this person is great at creating slides and presentations and jiras so i think management thinks that they are okay at their job he's also a nice guy so i'm not sure how to say hey you suck at your job that's pretty harsh how do i suggest to someone that he should be replaced oh tough situation hmm what do you think i was just about to ask you the same thing well let's let's look at let's look at the facts here so this engineer is capable of doing basic feature work uh good at presentations creating slides and does good with jira i'm gonna assume jira means that he's a good communicator keeps his
Starting point is 00:23:14 tickets up to date and stays on top of things but is not good at architectural decisions or building things like resilient api clients that's a quote yeah you know let me just be perfectly frank here i don't see a case for firing this person based on what you've described and if you came to me as your manager and shared this story with these facts i would listen respectfully and then i would have to ignore you because these examples are weak and to me you've described an employee who has a mix of basic competency and some skills that are very hard to come by which are you know staying on top of jira and ability to present to management so i mean that those are valuable skills and i i don't know i just i don't see the case here
Starting point is 00:23:58 jameson what do you think yeah i mean it's possible we don't have all the details but from the description it seems like i could see how this could be a frustrating person to work with for a certain kind of personality and people that value certain things like people that really love um kind of cleanliness and and what they believe is good architecture and technical craft and and things like that and maybe this person just doesn't care about that and they just kind of like YOLO out their code and fix their bugs and copy paste things into submission and whatever. You know, I think we could stand to use the word YOLO more.
Starting point is 00:24:35 I really like that word. This is a pretty good generic verb. Oh, yeah. So I can see the frustration, but I agree with you that I don't see anything here that merits firing. I feel like if someone caused pretty consistent damage to the team or to the company and didn't respond to feedback about that then that might be a case for it but just saying like well they just don't write clean enough code like tell me how that affects you did that cause production to go
Starting point is 00:25:05 down did that like quadruple the time it took to implement this feature what what was the cost of that because if the cost is just like there's this part of the code that is a little bit crappier um again it's not ideal but there's always going to be parts of the code that are crappier and And they might just need to have certain kinds of tasks given to them, right? Maybe they need to focus on smaller features and bug fixes and kind of like doing work that has a smaller scope technically, and then also focusing on the communication and Jira stuff. That's fine too, right?
Starting point is 00:25:42 I've worked with people like that, that there's certain skills they have and certain skills they don't. And we just figure out how to work together as a team. There are tasks they don't do because they wouldn't do well at it, just like there are tasks I don't do because I wouldn't do well at them. not everyone has to be the rockstar 10x code crushing sorcerer wizard engineer and you can still build good products without those people there is a cost to writing bad code and there's definitely technical debt and it'll slow things down but i don't know it's it's
Starting point is 00:26:11 hard to say that's enough to fire someone yeah definitely like what's what's the harm it's causing the team and if that harm is great enough and they don't work to correct that then maybe you could you could use that as a reason to fire them but just saying like their functions are too long you go okay now i mean you know in this question it does use the adjective incompetent now if that i mean in and of itself being incompetent at your assigned job is probably grounds for termination right i mean if you cannot complete your tasks it's pretty reasonable that you would be let go but what i'm hearing here is you use the term you use the adjective incompetent but then you also say he is able to accomplish basic feature work maybe it's
Starting point is 00:26:55 like a level of their position like maybe maybe they have a more senior role on the team or something like that it could be i could see that causing a lot of problems the other thing i could see here is once in a while i've encountered people who have they occupy a special place in management's eye like management just seems to really like these people and yet the engineers know that they're not that great right but somehow management has this rosy opinion of them but then on the ground they write code that's not great or they're just barely competent or whatever and it creates this like sense of i'm gonna use the word jealousy in me when i see situations like this because i'm like no this isn't right management must know that you're not the best you know yeah
Starting point is 00:27:39 and i wonder if there's some of that going on and i've personally experienced that where i'm like oh man i don't wonder why management likes this engineer so much they barely can get the job done you know meanwhile i'm over here destroying it you know yeah just tells you a little bit about my inflated ego or your ability to destroy it in a good way i mean say that is the case like what does that mean is it your job to to tell management the truth uh i don't think so i mean if you're you're saying this is just a thing that happens so maybe it's okay that this is happening to you yeah like i i think that in my younger years i felt like that was an error that needed to be corrected um you know but really at the end of the day does it really matter you know if if
Starting point is 00:28:23 management knows the exact truth of just where they are on the pecking order you know yeah yeah it's also i feel like i've seen this situation play out where someone was a total cowboy coder and they management would tap them on the shoulder they would they would ship something really fast that would cause lots of problems down the line but management was happy because they displayed this ability to respond quickly and to ship quickly and then we were kind of left cleaning up after them and dealing with the negative repercussions so maybe that's the situation too where they're kind of they're taking the credit for it and not being their role in the pain that it causes is not being acknowledged i could see that being very frustrating but either
Starting point is 00:29:06 way i think i think you need to quantify the harm this person is causing i mean quantify is probably the wrong word you're not going to like assign a number to it but you want to you want to make clear the harm that they're causing if you actually want to get them fired you should be able to present a case saying here's how the team is worse off with them on it and also here's how it's bad enough that it's worth the pain of firing someone which might be horrible at your organization or it might just be like it causes the team lots of pain to fire someone it's not just like sometimes they write bad code that doesn't feel like enough to me yeah agreed and i think that's maybe the big takeaway is uh first you need to figure out is this person really do they really need to be
Starting point is 00:29:50 terminated for the good of the team sometimes it's easy to be convinced of that until you have to go present the case to someone else and then suddenly the words are coming out and you're like oh this doesn't quite feel right so i would probably write a case with specific examples that someone else could read without all the context that you have and come to the same conclusion and if you can't produce that and then i would say drop it and learn how to work with this person try to figure out their strengths and how they really benefit the team and figure out how to make those strengths work for you in your dynamic and there will be things that you're better at than them and there will be things that they're better at than you and see what you can do with it maybe they can
Starting point is 00:30:26 update your jira tickets for you that would be so cool oh that'd be the dream you just like send a slack message hey i finished this thing okay i'll get that updated for you yeah i don't know what about the ethics of this approach where you you are basically making this secret campaign to get someone fired is that okay should you talk to this person should you talk to your manager should you talk to your manager's manager is that is that an acceptable course of action i guess um this is the kind of thing where you open the box and you can't close it again you know once you go to your manager with a case like this you know they won't ever forget that so you do have to tread cautiously i think and you have to be really really confident that you're
Starting point is 00:31:09 right and so rather than i think just dumping this all on the floor for your manager to look at i would probably start with asking questions like how is so-and-so are they you know a strong performer is you know do they need coaching what can i you know and just try to kind of figure out if management is already clued into this without i think just jumping right in and saying here are 10 reasons why so and so should be fired yeah so that's how i would go into it very very cautiously and lightly before i just jump right into my court case yeah you wouldn't just kick down the door and drop your easel with the foldy paper thing on it and flip through your chart that demonstrates why this person needs to be fired exactly and then what would i go to that person
Starting point is 00:31:53 individually and talk to them this is a hard conversation to have with someone what you're really trying to say is you're pretty good at producing features but you're really not good at these other things unless you have suggestions for them to actually improve i think it would be unproductive to take that kind of a message to someone yeah i think you can present information to your manager and there might be things they don't know there might also be things that you don't know but i feel like if someone came to me and said this person needs to be fired and it wasn't a thing that was already on my mind i would i would i would definitely listen to them but i would also wonder like what is it about this person that means that their opinion of their
Starting point is 00:32:36 teammate is so different from mine maybe i'm aware of some struggles or weaknesses or problems but if I don't already think like is it worth it to have them on the team or not I could see what you mean by treading carefully that saying they need to be fired is a pretty that's that's a pretty heavy thing to say and it's also a pretty painful thing to go through so yeah absolutely I've worked with a handful of people that I felt needed to be fired and in those cases pretty much everyone kind of knew there was something so egregious about their behavior or situation or whatever that that everyone knew like this is real bad and maybe no one wanted to pull the trigger or go through the pain but but it wasn't i haven't ever seen a situation where i felt like someone needed to
Starting point is 00:33:22 be fired and no one knew right people knew so i think if you take dave's advice and kind of explore what is going on already that might be a pretty good signal of how big of a problem the organization sees it as and you can add more data to that but coming in too strong might might undermine your case if you really want them gone yeah let your you present the facts let your manager come to the right conclusion for that person using everything that they know in addition to the facts that you are sharing um it's not really your job to make the judgment call that they need to be terminated or not and uh thankfully because you know that's above your pay grade presumably and it sucks yeah it's a sucky job all right are we done answering the question i think so i think
Starting point is 00:34:01 good luck to you and and try to make this as beneficial of a circumstance as you can for this person and yourself and your manager um i would be very very cautious about just running in here and making a strong case for them to be terminated sure all right dave where can people go if they want advice to their tricky soft skills problems go to softskills.audio and click on ask a question where you can put in your name or not leave it blank if you want and enter a question also there if you've had your question answered you can fill in that same form to let us know how things went if you took our advice or if you did the right thing and rejected our advice we would love to hear about either case if you did the opposite of our advice and it helped you a lot we're
Starting point is 00:34:42 especially interested in that yes yeah all right thank you for listening 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.