Soft Skills Engineering - Episode 392: Old code and choosing my annual reviewers

Episode Date: January 22, 2024

In this episode, Dave and Jamison answer these questions: We are a team of under 10 people who provide technical services to other departments of our organization. We use a tool that is built... by my boss to supplement our work but it is crucial for the team to do actual work. The boss maintains it all by themselves and nobody is familiar with its code. The boss is going to retire in a year or two, nobody wants to learn the code of that tool and the team can’t do much without the boss as we are more or less just individual contributors writing standalone code and delivering it to other teams who asked for it. Only the boss attends the leadership meetings and the developers are completely unaware of the remaining processes that happen in the background, i.e., communicating with other departments to bring in work, and all that business stuff. I am afraid the team would break apart once the boss retires because nobody knows anything on how our team operates beyond within team level except for the boss. Shall I just plan for the job switch? It’s annual review season! When choosing reviewers, do I a) choose the reviewers that will make me look the best or 2) choose the reviewers who might actually give me actionable feedback? If it helps, I am on very good terms with my boss and his boss, as well as most of the C-Suite, and there is no way that I get either a promotion or fired in this review cycle. I have been a top performer in previous review cycles, but I expect that I won’t be reviewed so highly this time around.

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than a copious backlog of unread books to be a great software engineer this is episode 392 of the soft skills engineering podcast i'm your host jameson dance i'm your host dave smith soft skills engineering is a weekly advice show where we talk about all of your non-technical problems or questions in the technical field of software development i guess i didn't even specify that they're software engineering related books in the intro they could be they could not be too maybe do you have a copious backlog of unread books i have i do have a couple of books i haven't read none of them are software related you said a couple does that mean single digit i've got a backlog right now of four books sitting on my nightstand oh okay i thought you said four
Starting point is 00:00:52 does that presumably mean the backlog is longer total nope that's the whole backlog just four oh okay yeah the nightstand is the backlog i have like a backlog bookshelf so bookshelf i've got a problem multiple levels yeah yeah so so like a real backlog it's too long to ever groom it there's no way you'll ever get to it and it feels but it makes me feel good every time you look at it no no it feels it feels it feels like it represents something when really it's actually just overhead yeah yeah so i guess like a real backlog sure okay well speaking of backlogs this episode is sponsored by notion which is the best note-taking app with actually useful ai built into it and we'll tell you more about notion later on in the show we will right now
Starting point is 00:01:45 we want to thank our wonderful patrons thank you to chase w norton type here.dev never is not just a crater on mars flamingo emoji i like chicken i like liver meow mix meow mix please deliver trash panda the computer science book.com valentin at datafold santa hope our kensi dodds jenny kim owens charto craig motlin the stochastic parrot patreon.com we're hiring ira chan one single question mark yes jonathan king webtau also meant and testing the unsettling nature of not knowing the content at williamangel.net Yes. Travis,
Starting point is 00:02:17 Brayden Caines, John Grant, Cody Sale, and Nick Cantor. Thank you. We appreciate you all and you help keep the show going and your legion of adoring fans cheers every time we say your name. Yes. If
Starting point is 00:02:33 you want to be adored like them by everybody really in the world, I think, you can go to softskills.audio and click support us on Patreon and any contribution, we'll get you an invite to our Slack team and enough. We'll let you join the hall of heroes, the fabled annals of great ones. Of great Patreon contributors. Yes. And in case, before you ask, Jameson, I just want to say, yes, that single lonely question mark is indeed what the user put into the form. I double and triple checked it. They literally
Starting point is 00:03:11 thought, surely, surely somewhere between a relational database, a JSON parsing, my Python code that now downloads the data, somewhere, you know, between the note-taking app we use to track the show, somewhere, someone broke an emoji. No, it was a question mark as inputted by the user, 90% sure about that. Okay. Thank you, the question mark person. The mystery deepens. Yes. dave do you want to read our first question yes this is an anonymous listener who says we are a team of under 10 people who provide technical services to other departments of our organization we use a tool that is built by my by my boss to supplement our work but it is crucial for the team to do actual work the boss maintains it all by themselves and nobody is familiar with its code
Starting point is 00:04:00 the boss is going to retire in a year or two nobody wants to learn the code of the tool and the team can't do much without the boss as we are more or less just individual contributors writing standalone code and delivering it to other teams who ask for it only the boss attends leadership meetings and the developers are completely unaware of the remaining processes that happen in the background such as communicating with other departments to bring in work and all that business stuff i am afraid the team would break apart once the boss retires because nobody knows anything on how our team operates beyond within team level except for the boss shall i just planned for the job switch you gotta you gotta it does it it does sound a lot like those
Starting point is 00:04:46 ancient egyptian pharaohs who die and their their like servants are killed and buried with them in the pyramids your boss is retiring but they're taking it i'll be joining with them you can take it with you, it turns out. Your code and all your secrets. You can keep other people from having it. They do say that. They say there's so many things you can't take with you, but the password to my password manager is going with me. Nobody's going to be able to log into my retirement accounts when I die. That's unfortunate. That's the modern pyramid. Yes. I'm basically Pharaoh with my LastPass password. oh boy i mean the code thing seems less like a problem than no one on the team knows
Starting point is 00:05:42 what is going on like outside the team you can yeah like you can learn the code that feels easier than oh well this essential stuff that we didn't notice happening doesn't happen anymore and things just kind of all stop yeah um yeah i think i mean sounds like there's gonna be a power vacuum sounds like you get to step up and be the boss just ask if you can come to the leadership meetings yeah hey as your understudy and the heir apparent to the throne of pharaoh can i shadow you at some of these leadership meetings i'm looking at some of the phrases in here the boss attends the leadership meetings communicating with other departments and all that business stuff they might not be super interested in taking the boss's role if if uh all that business stuff sounds
Starting point is 00:06:34 boring yeah but i mean there will be an opening so that's fair to ask i'm assuming you've asked your boss already and their answer is like it sounds like a good problem for you to deal with because i'm retiring that sounds like a you problem yeah what a problem too bad i won't be around to deal with it that's going to be the highlight of your career solving that problem yeah i have this i have this mental image of this tool being some kind of command line utility that no one knows how it's built and or where it came from and your job your secret nights and weekend job is to uh reverse engineer how this thing works and rewrite it and then just like slowly and surreptitiously replace like place sim links on your co-workers
Starting point is 00:07:21 computers to symlink to your version they don't even know what happened but the migration is now complete okay and that's how you assume the mantle of the boss exactly so suddenly people are like hey the tool isn't quite working right you're like i think i can fix this i'm gonna take over that code turns out you stand back everybody yeah yeah watch me yeah watch me don my cape and fix this this um elixir monstrosity that no one knows how to code on anymore no elixir is a cool new language monstrosities don't exist in oh right yet what is it then fortran yeah probably okay cool watch out i have replaced your kobol with a much newer with kobol 92 the newest version um i'm afraid yeah i guess it it really does depend on if you're trying to
Starting point is 00:08:17 get someone else to solve this problem so you can continue to work as an individual contributor or if you are potentially interested in changing your job quite a bit to look more like this because if you are maybe interested in the job i think it's it's a lot easier to say i see this problem coming and it looks like i've got a year to ramp up awesome yeah that feels that feels like yeah and and you can tell your boss's boss hey we're working on a succession plan and just don't ask my boss about it yet because they forgot temporarily but uh they temporarily don't remember the succession plan yeah but they will in a couple months yeah that's like you're bringing them a problem with a solution and then their problem is decide
Starting point is 00:09:03 if they want you in that role and then you can kind of work on doing a good job perfect but if you're sort of like i would like someone else to solve this for me then you have to you have to manipulate the chess pieces on the board instead of do the thing yourself one thing i really like about this situation is that you're actually not directly responsible for solving this problem so you can just sit back and enjoy watching the chaos and drama unfold when this unprepared company faces the actual prospect of having someone retire who has all these cards in their hand that no one knows what they are i mean this will be fun to watch i think yeah you can write a book i mean there could be one of the end results of this could be the whole team goes away too
Starting point is 00:09:51 though so i don't think you're completely insulated from i mean crashing and yeah maybe maybe what's happened here is your boss has been lying about like no let's let's not say lying your boss has been protecting your team, you don't actually do anything valuable for the company. You don't know where this code goes that you write, but this person has been keeping your paycheck flowing steadily for years. And every once in a while you wonder, how come none of our users ever report any bugs? You have no users. Your boss is just taking your code and just putting it in a repository and then giving status updates and convincing the board of directors
Starting point is 00:10:34 to keep funding your team. Just making stuff up. Yeah. Oh, and you feel familiar with the users because they've been making them up for so long. Yeah, the boss has all these personas. You've got consistent characters. Yeah, there's probably going to be a novel
Starting point is 00:10:47 this guy's been writing. And it comes out and you're like, wait a minute, some of the people in this novel use my software. Weird. Some of them gave me kudos for doing a good job. I remember Jennifer from the 13th floor. Yeah, my boss told me all about the nice thing she had to say about my really good code.
Starting point is 00:11:13 Yeah, I think you got to wonder, do I want to do this job or not? And I mean, if you don't want to do the job, you can kind of raise a flag up the org and say, maybe talk to your boss about it to say, have they prepared a succession plan? them retiring makes it harder because you like i don't know i i don't want to assume laziness on their part but if i were never going to work again in in a few months there's stuff i would just not do probably i don't know i mean yeah you could talk to them about it so busy with the transition plan yeah making sure everything's buttoned up yeah you could talk to them about it and and make that their job for the rest of their time here is make sure there's a transition plan you could you could
Starting point is 00:12:04 work with their boss to make sure that they're considering it and or at least are aware there's going to be a period of chaos of some kind but i don't think you can really fix it unless you want to start doing some of the work that your boss is if you start making people in leadership aware of the impending chaos it will potentially reduce the chaos and i'm saying you have a front row seat to a really cool show and anything you do to tamp down the chaos will make that show less enjoyable to watch yeah it's like it's like you're going to a firework show and you go and you like unplug a bunch of the leads going to a lot of the fireworks exactly why do that why not why not make the spectacle big exactly okay got it well i think that means we've answered the question it sounds
Starting point is 00:12:56 like a surefire way to succeed yeah it all depends on what your objective is i guess yep okay i want to take a minute jameson and tell our listeners about the sponsor of this episode which is notion notion is a really useful um note-taking app document project management app it's kind of It's kind of a Swiss army knife. And recently, the Notion team has launched some new AI capabilities that make the Swiss army knife even more Swiss. You know, you can do things like tell it to create lists of stuff. You can do Q&A directly in your notes, ask for notes, summaries, really, really handy. the q a piece is especially useful because a lot of the ai integrations are in in products across the world are sort of like thin wrappers around the model and this lets you put your own knowledge into it so yeah instead of asking it what is your opinion on oh man my brain isn't working what is your opinion on jameson's brain not working and then it'll hallucinate something
Starting point is 00:14:01 because you've written a ton of notes in your notion workspace about jameson's brain and how frustrating it is to you that it doesn't work it can use that to create and retrieve better answers for you it's perfect and and i think um if i'm not mistaken these uh this these answers can be sourced from across your workspace from public notes and meeting notes and things like that and other docs your wiki so very very handy i on i actually don't know of another like corporate mode uh q a with the new large language model stuff that's been happening where you can actually ask questions about your own company's documents so that's that's pretty cool it's also i mean if you use a tool like this for long enough you get a lot of content in it and it
Starting point is 00:14:45 can be a ton of work to manually curate it so being able to uh ask questions that don't depend on someone carefully structuring the the information architecture it's pretty powerful to be able to keep finding stuff. Well, we have a special deal just for you listeners. You can try Notion AI for free when you go to notion.com slash soft skills.
Starting point is 00:15:09 It's all lowercase, notion.com slash soft skills to use the powerful and easy to use Notion AI today. You support our show as well and make them give us nice good boy head pats when you do that.
Starting point is 00:15:22 I love those head pats. Yeah, me too. They are the best. all right shall we read our next question yes i believe you are holding the conch for this one all right i will i promise not to abuse my power okay famous last words uh this is from a listener named max latimore who says it's annual review season when choosing reviewers do i a choose the reviewers that will make me look the best or b wait two they used a and then two they got me Or two, choose the reviewers who might actually give me actionable feedback.
Starting point is 00:16:00 If it helps, I'm on very good terms with my boss and their boss, as well as most of the C-suite. And there is no way that I either get a promotion or fired in this review cycle. I have been a top performer in previous review cycles, but I expect that I won't be reviewed so highly this time around. All right. I'm like, I'm middle of the pack. It sounds like you've already answered the question. And the answer is it doesn't matter because you're not going to get a promotion. You're not going to get fired.
Starting point is 00:16:29 You win a top performer. You won't be reviewed so highly. I don't know. So choose reviewers that are most likely to get you a rating of meets expectations because that's where you're headed already. Yeah, this is an interesting dimension on the review cycle performance review process where you pick your own reviewers. And it sounds like what they say has some kind of weight separate from your manager's weight. So then there's this like extra layer of strategy around it, which, like all things, can result in negative behavior to try and try to play the game correctly. Because I think the intention is, you know who you work with the closest or who might have the best feedback.
Starting point is 00:17:13 and so clearly pick those people but maybe they're going to tell you stuff that will make you look bad i don't know i think if it was if it were me i would pick the reviewers who might give me actually actionable feedback especially if i wasn't worried that there was going to be some negative consequence from it because presumably you know these co-workers well enough to know they're not going to say like stop stealing like you do all the time from the company like it's it's going to be useful things to improve not like outing you as a horrible fraud well i'm thinking about that i'm like okay let's say you're you know you're middle of the pack i'm not going to get a huge promotion also not going to get fired and your boss is sitting there going
Starting point is 00:17:56 okay wow every reviewer gave a ton of constructive criticism to you none of my other reviewers did that they all just gave nothing but praise but you got all this constructive criticism i mean i was going to give you just a meets expectations, but I think I'm going to put you on a performance plan. I don't think that's possible. If your boss knows you, yeah, they said they are on good terms with their boss, their boss's boss. Maybe that could be a potential outcome in some cases, but it doesn't seem likely here just because they have the context. Have you found, that people are more likely to give real valuable feedback to your boss or just directly to you outside the concept outside the context of a performance review oh definitely to my boss
Starting point is 00:18:42 really i've i've yeah i've found it kind of rare that well am i now i'm checking this as i say it yeah i think i think i just work have worked either i'm so terrifying that no one wants to give me constructive feedback face to face which is definitely my peers are all just i mean cowards fear my wrath maybe i remember one time this has been a long long time so i feel comfortable talking about it but i i sat down for my performance from you with my boss and he says to me well dave we were going to give you an x percent raise this year but we got some negative feedback for from someone about you and so we're going to dock it a few percent and he then he shared the feedback with me and the name of the person who gave it
Starting point is 00:19:28 and i re i rebutted it i was like that's that's not true and he was like oh okay well i guess have a nice day like it's like sorry i already signed the raise form you know you didn't know what to do with that and uh did you did you still get the raise or not no i got the same i got the reduced raise like they really liked me got the reduced rate yeah like he told me that your argument meant nothing yeah exactly it's like no i mean this we've said this a long time jameson And by the time you show up at the day when your boss is giving you your performance review, any concept of raise or negotiation, no, you missed the boat months ago for that if you wanted to make a case. And this is where I learned that. But it reinforces your point that people are willing to go to your boss and say things, even if it's like, that's not really how that went down.
Starting point is 00:20:21 But they're willing to say negative things to your boss. And it's actually one of the great illogical parts of being a human. is that we're willing to say things to people about other people, even knowing that those other people are going to find out that we said it. And so it's almost, it's like just one layer of indirection in the moment of sharing the information. But otherwise, it's exactly the same as saying it to someone's face. Yeah.
Starting point is 00:20:47 I choose to interpret that as my answer to the question being correct. I agree. That is the point I was trying to make. Oh, cool. I was just guessing. Yeah. So I kind of agree with you, James. And I think if you want, this is a good opportunity for you to get a bunch of unfiltered feedback that you might not be able to get in normal circumstances. In fact, if you want to really take it all the way, I would go to my boss and say,
Starting point is 00:21:13 hey, listen, there's a few very specific things I want to hear from my peers. Like, hey, do you find my behavior in code reviews to be conducive to a good team environment and really productive? you know like give me your feedback on that or hey do you like the way that i indent my java code you know give me feedback on that like things that people won't say to your face necessarily you might be able to get it yeah yeah yeah i mean direct feedback constructive feedback from peers is is hard to come by so i feel like i'm i'm kind of i don't know if it's a principle the thing i am thinking about when picking this answer to the question is is like i want this as much as i can get it because i never get it so if there's a way i can get more of it and it isn't gonna be horribly
Starting point is 00:22:00 painful then awesome i will do i choose that thing yeah that's kind of my read of the situation you can get more direct helpful feedback and it's not gonna be painful yeah you can do the feedback check gerrymandering next year when you're up for promotion and then only only select the really you know the gushing praise people who this is yeah this is kind of like what you're getting with talking to your boss about it as well but you can you can point out to your boss you're making this decision too to say hey i'm choosing to ask for things i can improve on and i i hope that there will be things over maybe just getting like a bland positive good job type of peer review from somebody so they can kind of calibrate when they see it come through yeah yeah that's a good
Starting point is 00:22:46 idea like kind of help mitigate some of the risk you know i can just imagine like you put it you put it in the context of of what you're trying to do and so they don't have to just see it and say oh there are three negative things here and there are zero negative things than anybody else's so yeah so you get a lot of negative things yeah yeah that's one too many negative comments from your peer in their reviews. We had a threshold set at two in our HR system and you just tripped it. Apologies. Yeah, I think that makes a lot of sense. And who knows, you'll probably actually show very well for doing this. And you might be tempted to say to your boss, hey, listen, I don't really feel like I'm at a risk of being fired, but I also don't feel like I'm going to
Starting point is 00:23:27 get a super strongly positive review. So I'm going to take this opportunity to gather honest, constructive criticism from my peers for this round. You maybe don't have to go that extreme, but you could say to your boss, hey, really, I want to get very specific, actionable feedback this time. Will you partner with me on this? In fact, I've prepared five or six questions that in addition to whatever you already ask, I'd like you to ask them and try to get really concrete feedback from them. And tell them, don't pull any punches, don't hold anything back. I just want to know. And I think managers love it when you give them permission to be fully honest and transparent with you. Because not every leader is willing, like so many of Jameson's cowardly peers. There are also cowardly managers who just don't want to hurt your feelings. Yeah, I know because sometimes I am one of those.
Starting point is 00:24:23 Yeah, most of us are most of the time. Yeah, that's fair. And I'm glad for it, because it would suck to live in a world of fully transparent, viciously honest, brutal people all the time, you know? Yeah. Yeah, we need our tiny, fragile egos couldn't take it. Yeah, exactly. Not everyone can live in New York City all the time. That was my little jab at the East Coast.
Starting point is 00:24:48 As you leave the taxi, you give them a withering performance review. Yes, one star. Yeah. Did not dodge pothole. to your face are you gonna write that in the app no there's an app i'm just telling you one star all right well have we answered the question i think so good luck this will be an exciting opportunity to to to confront reality in a more visceral way than you have in the past and i laud you for it yeah yeah i do the thing dave said he does too what is that what is that
Starting point is 00:25:24 laud yes i do that i laud i laud so much usually you're the one busting out the obscure vocabulary words from as such a reader well i did didn't you hear how much i just lauded clearly i went up to you you lauded so much even more than dave did that's what i want you to take away. However many lauds you got, you got more from me. All right. What can people do if they want their own questions answered? If you would like to be lauded, go to softskills.audio and click the ask a question button where you can fill out our form. Thank you so much to everyone who does that. We laud you for taking the time to write your questions. We love hearing your
Starting point is 00:26:13 stories. They are always just, they are the most joyous part of my Friday. Every week reading what you've written in thank you please keep them coming i would actually say we we laud your stories yeah i i that is accurate all right thank you for listening 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.