Soft Skills Engineering - Episode 398: Tech lead for contractors and how to detach my ego from my work

Episode Date: March 4, 2024

In this episode, Dave and Jamison answer these questions: How do you mentor a junior-level contractor? My company has been hiring a lot of contractors lately. Sometimes they hire out a f...ull team form the contracting shop to build a particular feature. Other times, it’s an individual developer, but with the same general mandate: implement some specific set of features from our backlog over x number of months, then move on to the next project somewhere else. Generally this happens when we have extra budget that needs to be spent for the year, etc. It works well enough when the contractor is experienced and able to self-direct and focus on just getting the work done; but sometimes the contractor is less-experienced and needs lots of guidance and mentorship. Hiring and mentoring a less-experienced full-time developer is a long term investment. Over time that person will become more productive and hopefully stay with the company long enough to provide a net benefit. But when the person is only contracted for a short time, it seems we’re effectively paying the contracting agency for the opportunity to train their employees for them. As a senior engineer / tech lead, should I devote the same amount of time to mentorship and growth of these contractors, or should I just manage their backlog and make sure they only get assigned tasks that are within their ability to finish before the contract runs out? Hello, I have a really hard time not attaching my identity to my work. I know I’m not supposed to, but i really take pride in what I do and i feel like if I don’t, my performance would take a hit. But where this really bites me is taking it really personally when things go wrong (like when a customer submits a bug report and I find that it was something I wrote, or when I take down prod and have to involve a whole bunch of C suite people to address and post mortem the issue). I understand humans make mistakes but it eats me up so much inside every time. I know all these things but I have a hard time really internalizing them especially when things go south at work. What are some practical ways I can train myself to approach things without emotion?

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than upgrading from a standing desk to a cartwheeling desk to be a great engineer this is episode 398 of the soft skills engineering podcast i'm your host jamison dance i'm your host dave smith soft skills engineering is a weekly advice show about all the non-technical things that go into the technical field of software development and i think i have a specific image in my mind of what a cartwheeling desk is you know those like circus rings where they yeah you kind of like spread your arms and legs out in them and roll around yeah if you're good you somehow don't crush your fingers right no way i don't understand that's that's somehow there's a desk there and then that's a cartwheeling desk that's exactly the image i had except it's mounted inside
Starting point is 00:00:46 one of those like nasa three rings spinning around oh yeah yeah yeah so it's like can you find this bug and not vomit at the same time maybe this maybe this is actually a really good idea it's like it turns out the human brain can find bugs when exposed to different vectors of gravity ah yes it keeps you from getting stuck it helps you think outside the box more exactly when your brain is scrambled if a whole industry of agile consultants can sell their services we can sell this product yeah and we will next episode look out for it this episode is sponsored by red hat compiler an original podcast from one of our favorite companies that explores all tech topics big small and strange we'll hear more about them in the middle of the show but go check out red
Starting point is 00:01:40 hat compiler all right jameson you want to thank our patrons i do i want to thank dan from drone to play chase w norton type hero.dev never is not just a crater on mars flamingo emoji i like chicken i like liver miyamix miyamix please deliver trash panda the computer science book.com valentina datafold santa hopar kenzie dodds i lost my place sorry jenny kim owen chardell craig montland the stochastic parrot patreon.com we're hiring ira chan question mark jonathan king web tau awesome end-to-end testing the unsettling nature of not knowing the content at williamangel.net travis braden canes john grant and cody sale thank you thank you so much we appreciate you and you appreciate us
Starting point is 00:02:17 and that's why we do the thing we just did that's true if you want to join this group who have at times been called illustrious
Starting point is 00:02:24 and if need be can be called upon to do a heist much like a crew um then you can go to
Starting point is 00:02:33 softskills.audio and click support us on patreon any amount will get you an invite to the slack team and more will get you more
Starting point is 00:02:40 and and go find out what it is yeah you'll figure it out Dave, would you like to read our first question? Yes, I would. Let's see here. This comes from Senor Dev with a tilde over the end. Senor Dev, how do you mentor a junior level contractor? My company has been hiring a lot of contractors
Starting point is 00:03:02 lately. Sometimes they hire out a full team from the contracting shop to build a particular feature. Other times it's an individual developer, but with the same general mandate, implement some specific set of features from our backlog over X number of months, then move on to the next project somewhere else. Generally, this happens when we have extra budget that needs to be spent for the year, etc. It works well enough when the contractor is experienced and able to self-direct and focus on just getting the work done, but sometimes the contractor is less experienced and needs lots of guidance and mentorship. Hiring and mentoring a less experienced full-time developer is a long-term investment. Over time, that person will become more productive and
Starting point is 00:03:36 hopefully stay with the company long enough to provide a net benefit. But when the person is only contracted for a short time, it seems we're effectively paying the contracting agency for the opportunity to train their employee for them. As a senior engineer slash tech lead, should I devote the same amount of time to mentorship and growth of these contractors? Or should I just manage their backlog and make sure they only get assigned tasks that are within their ability to finish before the contract runs out? I can tell you, if you're in the United States, legally, you have to, you better not be mentoring them. Or they can claim they're actually employees of your company and then able to receive benefits.
Starting point is 00:04:12 Right, then you owe payroll taxes. Yeah. So if you don't want to mentor them, see if you can find somebody in legal or HR and mention this. Say, hey, we've got these contractors that seem to need a lot of mentoring. So you've been spending a lot of time with them.
Starting point is 00:04:34 Suddenly you don't have a contractor problem. Is that what you're saying? Yes. Yeah, I think so. Yeah. I mean, contracting is sort of like the cold, uncaring face of direct transactional kind of business stuff where you're really supposed to be paying someone for value even much more directly than as an employee, where there's a little bit of kind of responsibility for long term. Mm-hmm. So I feel like I would not want to spend my time where it would not return to me, I guess, even though that feels kind of callous to say that you should not have to train up contractors. You should need to tell them how your specific system works. But if you have to
Starting point is 00:05:19 teach them new skills, then you have hired the wrong contractor. That's a good point. I hadn't thought of that, but it's like you don't really have a mentorship problem here. You actually have a contractor selection problem when the company chooses the wrong people. I mean, one of the advantages of contracting is that, as a buyer anyway, is that you have this supposedly well-trained talent pool to choose from who can get in, get paid, and get out. And if you don't have that because they're not getting the job done, then maybe you should get a discount, I guess, on the contract maybe they should pay you yeah i don't know if a discount is worth it it's what if you make a side away from oh yeah a contractor trainer yeah what if on the side you make you sign an
Starting point is 00:06:05 agreement with the contracting shop to say look i will mentor your people and i promise they will end up better engineers that you can charge more for and get more business at the end but you're gonna have to give me a kickback for all this mentorship i'm doing that sounds so illegal outrageously illegal but that's all i have to say about that i don't know i can't think of anything else yeah i i don't know i i have worked with contractors and not treated them as contractors and nanana it's too late you can't get me i've escaped but it always felt gross to like shun them and just i don't know airmail them like requirements and and look away when they looked me in the eyes and stuff but that is what you're supposed to do technically and with those
Starting point is 00:06:53 folks it was sort of like we all kind of knew the deal and it was they were experienced they were experienced contractors i i knew they weren't gonna take advantage of the situation and it was just going to make them more effective to know more and have more context but i i did not have to teach them how to program. It was just normal team stuff like, I don't know, talk to this person to learn how to debug this specific system or stuff like that. Yeah. And this specific system that only we have at our company that I could never expect a contractor to know about before they joined. Yeah. Yeah. That all sounds really reasonable. And I was kind of thinking the pragmatic answer to this question, like if I was a business owner here, would be to create really
Starting point is 00:07:39 robust onboarding documentation so that you can scale this process because essentially what you have here is a repeating business process that requires a human touch every time it happens and whenever you see a repeating business process it requires a human touch i should make an acronym of that by the way repeating business process that requires a human touch whenever you have one of those you need you need a scalable solution and documentation to me is like the first tool i would reach for is like super robust very comprehensive documentation that explains to them all the ins and outs they need to know so that anytime they reach out to you with a question you've got a url like ready to go in your holster like url to the ducks you know for everything they
Starting point is 00:08:19 ask yeah the acronym is ribbit to heretate eating business problem that that where's the that requires human touch there you go what the r was for the sign of a great acronym is when you you can't pronounce it or remember what it stands for it's like the perfect acronym this is how movements form dave can you imagine i can't i can't pronounce it because i'm unfamiliar with its ways but soon i will become a convert right after you are inducted then ribbit will flow off the tongue you'll hear it at conference venues echoing in the halls of coffee shops in silicon valley it is i'll tell you it is exhausting to have a revolving door of people that you need to help
Starting point is 00:09:15 ramp up on stuff come in and go come in and go and this is actually one of the main reasons not main, but it was a secondary reason that I left one of the large tech companies was that we had so many people and we were hiring constantly and I would meet with people and they had no interest in getting to know me at all, but I was responsible for ramping them up, getting them to productive. And then I would never see them again. And it wasn't that I was like their onboarding buddy per se. It was just like, even just interacting with other teams, which is kind reminiscent of what this question asker is asking and boy did it wear me down i just it it felt like my the human part of my humanity was gone all i had left was the itty from the cold metallic
Starting point is 00:10:05 robot heart yes that's all that was left it was so rough so i feel this and i think over time i would eventually get demotivated and I would stop really investing in getting these people up to speed. Now, having said that, I work with a team of contractors who are more like permanent contractor. The only reason they're contracting is because they're not in the United States and we are not incorporated there and we do hire through an agency, but they are like long-term, multi-year people. So we treat them like team members, unless the IRS asks, at which point They are definitely just contractors. We treat them exactly as required by all laws and yeah.
Starting point is 00:10:48 But in my heart, and only in my heart and not on my tax returns, in my heart, they are friends and people that I love, who I pick up at the airport when they come to visit and who I invest just tons of effort into. But I got to tell you, if they were changing faces every two weeks because they were in and out i would have a really hard time doing what i do i'm kind of imagining like the grizzled war veteran who's who just is used to seeing these rookies come in and get chewed up and spit out they're like i don't have time to learn your names you won't even be here tomorrow and yeah sort of the the vibe i have so you need to get you need to get crack special forces if we're
Starting point is 00:11:28 continuing this metaphor okay that you don't have to take care of because they're just they're just good and they do things they're just good yeah yeah they don't need you to get to know them and learn the names of their kids yeah yeah remember their faces etc exactly yeah i i mean i do think i would express if this is slowing you down it's possible they this could be slowing you down overall that the value you get out of this person is less than the time spent trying to train them and that means the company is spending money to slow you down it's not even just that you're slowing down yeah i would i would give that feedback and say hey like i'd rather have no contractor than this just short time with a with a pretty junior person that you pay for and don't
Starting point is 00:12:18 get anything out of and i can i can attest from personal experience that engineering management responds very swiftly when you say things like i'd rather pay this person to sit and do nothing than to need my hand-holding constantly because now I'm only getting half my work done and they're not getting any work done and creating problems. I actually said those words once. No, I didn't say them.
Starting point is 00:12:40 I had a coworker who said those words to our CTO at a previous company. And this is after weeks of me trying to complain. You know, I don't know what I said or if I said it very clearly, but we had a couple of contractors like this. They needed tons of hand-holding and when they did finally ship work,
Starting point is 00:12:57 it just created more bugs that we had to go clean up. And so I was like, I complained about this to my CTO, but he did nothing. And then weeks later, one of my more experienced coworkers went to the CTO and said, hey, listen, can we change our policy to just pay this contractor to sit at the computer but not actually contribute any code? It would make our lives easier. And literally the next day, the contract was terminated. And I was like, whoa, those are the magic words. oh yeah so now you know the magic words yeah just say those um i use them wisely one thing in this question that stood out to me was that it works well when the contractor is experienced and able to self-direct i'm like okay great that tells me that you've actually got a pool of people who are
Starting point is 00:13:38 capable of being excellent contractors but what that also tells me is that when you do occasionally pick up the person whose skills don't line up with the job requirements, you can actually point to a baseline of good performance and say, hey, this person doesn't meet the normal standard of quality that we expect from your contracting agency. So please swap them out for someone who does. And maybe that needs to become part of your process is there's a little bit of an assessment period, what I think our European friends would call a probation, but not really like a probation. But the same principle where you say, let's give this person a week on the job to see how they do. And after a week, we'd like an opportunity to formally decline continuing
Starting point is 00:14:21 have them on the project. Yeah. Well, have we answered the question? I think so. And I'm just glad I survived without being ousted as the bad contractor in the podcast. Well, I spent a lot of work training you up, Dave. It's true. You've really invested in me. Hey, Jameson, we've been talking about this podcast from Red Hat called Compiler. I guess people might think we're kind of obsessed with it, and we are. What do you want to tell people about it today? I want to tell them about a new episode I just listened to from Compiler called Warning Signs, which is about some red flags or disasters or bad things that have happened in people's careers, which in some ways is the subject of this show. So it felt like it was
Starting point is 00:15:05 very synergistic. I don't know. There's something about hearing like a good prod is destroyed story that warms my heart. You particularly like those. I love them. Yeah. And the compiler is good at storytelling about engineering. I think that's one of my favorite things about it. Yeah. And let's not miss this opportunity to say how much better they are than us at production quality. if we keep saying it then it becomes like a we're doing we're doing bad production ironically i know we know it's bad and we choose to because we're cool i think that's how it works right but seriously if you want to listen to a podcast about software development from people who
Starting point is 00:15:47 actually know what they're doing and sound great and tell good stories red hat compiler is the podcast for you yep go check it out all right should i read our next question please do this is from an anonymous listener who says hello i have a really hard time not attaching my identity to my work i know i'm not supposed to but i really take pride in what i do and i feel like if i don't my performance would take a hit but where this really bites me is taking it really personally when things go wrong like when a customer submits a bug report and i find it was something that i wrote or when i take down prod and have to involve a whole bunch of c-suite people to address and post-mortem the issue i understand humans make mistakes but it eats me up so much inside every
Starting point is 00:16:26 time i know all these things but i have a hard time really internalizing them especially when things go south at work what are some practical ways i can train myself to approach things without emotion uh yes taking the the human element out again yeah yeah yeah we just we just covered that you gotta grind it off sandblast it off by having a rotating door of co-workers for years just embrace the meaninglessness of your work and stop caring about anything just wake up i it's interesting that you say that because i was just thinking about a co-worker um at a previous job we were kind of uh we're just chatting one time and both said that
Starting point is 00:17:14 part of what we were struggling with is that it was hard to care because of some some attributes of the environment that we worked in but caring was part of our part of what we were good at and if we didn't care then we would be bad like we weren't good enough at the job without caring to make up for it yeah so we were wrestling with the same a similar problem of like if i just don't care then what i'm not gonna do is as good of work that's a good point that's really interesting um i'm also we never solved that yeah i don't know neither of us work there anymore i think so oh wow that is a solution in one way so you're saying find a place that what makes it easier to care that yeah it's easier to to care yes oh wait now i know what
Starting point is 00:18:00 company you're talking about and i felt the same way about a company i left at around the same time it's hard to care because we didn't have we couldn't it was hard to make big impact because the company was so huge yeah is that your situation too uh yeah yeah that's certainly part of it part of it yeah um i i'm also a heavy carer maybe you could call me a care bear i don't know use the label you want but you're more of a care panda which is a kind of bear oh shoot a care kangaroo i think was the word you were looking for yeah yeah and i i have a way of uh dealing with this kind of situation as well which is that you know i take a lot of pride in the work I do. And, and I actually do tie my ego and my sense of self-worth to the quality of the work
Starting point is 00:18:48 that I do. You know, a lot of people say, don't do that. But I think what they really mean is don't get so tied up in the details of your work, like the way you indent your code and like, that's your identity. It's like, no, no, no, no. Put your identity, put yourself sense of self-worth in the value that you produce for the purposes that you produce them for the users who use your stuff. Make it about them and their outcomes. Great. Okay. So what do you do when things go really wrong? Like when you wrote a bug or you took down production and now you have to go in front of a bunch of leaders and tell them that you took down production. Well, here's what I do. I double down on the caring thing. And I say, all right, I care so deeply about this. I'm going to
Starting point is 00:19:28 show you that when I make a mistake, I produce the absolute best post-mortem documents you have ever seen. I uncover every stone. I talk about every eventuality. I write a four-page FAQ that no one will read, but they'll look at and go, holy crap, this guy's thorough. And I give people- With a three-page summary of the FAQ. Exactly. And I show people my caring through my response to my mistakes. And I got to tell you, I actually had lunch with a former CEO of mine just a few months ago, who I worked with for a couple of years. And one of the things he remembered the most about working for me was these incident reports that I would write after something went wrong. And I'm like, look, he knew I was
Starting point is 00:20:08 responsible for this stuff. I was the head of engineering at the company. And so, he loved how transparent I was, how I would list every mistake I made and what I'm going to do to fix it and just all like the graphs and the diagnosis and what was the customer experience during this time. So, I really doubled down on it and it paid dividends. He was super appreciative of that. I think I was going in a similar direction as you went with the post-mortem piece where if if you wallow in the the failure and the missed expectations and what everyone will think of you that's that's no good that'll send you to a bad place but this is a a great opportunity to learn stuff and that's something you hear a lot in kind of reliability culture safety cultures like kind
Starting point is 00:20:54 of resilience engineering that space they they geek out over stuff breaking because then you get understand how things actually work right so you've uncovered a failure in the system or in the model that people have of the system so one way that you can maybe get over this a little bit is say like awesome i get to learn something to learn something about myself i don't know i i wasn't careful enough with this bug and why wasn't i and dig into that and figure out what what could you do better next time so it's like a chance to get some lessons and i think if you show that That's what you were talking about, Dave. If you show you're not just going to be groveling, apologizing for it, you're going to fix it and get better. I think that anyone worth working for will be pumped about that response to something going wrong. Totally. Totally. Yeah. I don't know. I can't think of a better answer than that, which is when you mess up, which is inevitable, then just double down on how much you care and the pride you take in recovering from the mess up.
Starting point is 00:21:54 So at first, I thought you were going to say, when you talked about it before, I thought you were going to say double down on how it wasn't actually a mistake. Just don't admit. No, prod is up. The database has not been deleted. I don't know what you're talking about. Yeah, it's all there. I see all of the data. I know you can't look at my screen.
Starting point is 00:22:14 Yeah, no. You're looking at staging. No, I'm not. That's a good point. And actually, this is a little bit of a problem I've observed in others. I mean, obviously not me and no one listening to this podcast or you, Jameson, whatever. Isn't it wild how easy it is to see how others have lots of problems? Oh, yeah.
Starting point is 00:22:34 I mean, this is all about your friends and your co-workers. Anyone who listens to this podcast knows that this is mostly about other people. And it is tempting when you care deeply and take pride in your work. It is tempting to sweep issues under the rug or hide your mistakes. but I assure you that the same heart that takes great pride in doing good work will be offended and crushed by hiding that and oh man it's just not a good plan it basically leads to a world of insecurity where you feel insecure you're not confident you always worry that someone's going to out you honestly it's kind of a path to imposter syndrome you know
Starting point is 00:23:13 it's kind of imposter syndrome is actually kind of reinforced by hiding things about yourself that you don't want other people to know and when you instead you put your your mistakes out on display for everyone it's one of life's great paradoxes but boy does it build confidence it really does it's done so for me it's also so much easier to not have to pretend like things are fine when they're not yeah like all the living a lie like what details did i say to who and when yeah keeping my story straight yeah don't recommend it yeah because people will find out And then if you thought people disliked you for making mistakes before, wait until they find out that you made mistakes and covered it up. It's like the heinous.
Starting point is 00:23:56 Cover up is worse than the crime. Isn't that a saying sometimes? Oh, 100%. It almost doesn't matter what the crime is if you covered it up. Yeah. Then you lie to the FBI about the crime and then that's how they get you. That reminds me of a, oh, what was the guy's name? Was it Norm MacDonald?
Starting point is 00:24:12 Not Norm MacDonald. The comedian who passed away a few years ago. Oh, yeah. Norm MacDonald. Norm MacDonald did pass away a few years ago. That was him. I'm not going to say the joke on the air. It's not the most appropriate joke, but if you want to go look at it, it's exactly in the same theme of the cover-up is worse than the crime. Yeah. I thought what was bad about it was the hypocrisy. And he's like, I thought it
Starting point is 00:24:31 was the crime. It was honestly a real slap in the face for me. I was like, oh yeah, we get so caught up in this cover-up thing. And it's like, what if you murdered someone? What's worse, the murder or the cover-up like probably the murder like in this case yeah probably not the hypocrisy of pretending like you didn't murder someone exactly what a hypocrite i mean if he had killed him and got away with it and then not lied about it you know then maybe i'd be okay with it but the fact that he lied about it an honest murderer oh man a straight shooter at least he's true to himself yes uh don't be that guy i guess don't don't i mean the thing is uh when you are going to eventually murder your production systems but it'll be manslaughter
Starting point is 00:25:23 because it's unintentional and the sooner you come clean about it the better off you'll be and the hypocrisy is worse in this case it actually is it actually is yes so true yeah you you are unlikely to get fired for deleting prod you're way more likely to get fired for deleting prod and not telling someone because you were scared that you would get in trouble oh yeah so true and you are way more likely to feel good about yourself for doing an excellent job with a post-mortem the same level of intensity of an excellence you deliver when you write your code apply that to the post-mortem you're not just a code writer and And I think maybe this is the thing the question asker needs to hear, is that writing code
Starting point is 00:26:06 is just one tool in your engineering tool belt of delivering value to your users. And there are many, many other tools you need to get good at. And one of them is writing postmortems, process improvement so these kinds of things can't happen in the future, large scale fixes, systems thinking to fixes to prevent mistakes like this. all of these things will actually produce so much value and sometimes there's no code involved sometimes you just write a bunch of jira tickets for other people to fix stuff yeah and now you're on your way to management a life of jira ticket excellence yes all right have we answered the
Starting point is 00:26:43 question well i think so good luck best of luck i'll say it again it's good that you care because yeah it it it can make your work feel more meaningful so this is the problem is a consequence of you caring and and caring can be good that's right it's a blessing and a curse yeah all right what could people do if they want their own questions answered dave if you care enough to get your question answered and you want to just test us to the limit go to soft skills.audio and submit the most challenging question you can think of maybe you want us to live calculate the one millionth digit of pi we'll do it just put it in that form and we will eventually do it you can leave as much personally identifying information as you want or as little as you want we love
Starting point is 00:27:28 getting your questions every week and this forum actually doubles as a feedback form this is a function of us being too lazy to create a separate form you can go fill out the ask a question form and don't ask a question tell us how we did answering your question and we'd like to read some of those on the air we only occasionally get these and i think it's because most people listen to one episode and then never, ever come back again. But if you do happen to leave feedback, we'll read it. We love hearing how things went. Sometimes people write in with answers from years ago and say, here's how it went. Once in a very rare while, they say it went exactly like you said. And most of the time they have amazing catastrophic stories of doom and bad luck,
Starting point is 00:28:10 which is also really fun to read about. So please share. Yes. Thank you. Thank you so much for listening. We will catch you next week. We'll be right back.

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