Soft Skills Engineering - Episode 87: Pushover Coworkers and Productivity Metrics

Episode Date: December 14, 2017

This week Jamison and Dave answer these questions: My peers give up and say “have it your way” whenever we have technical discussions. How do I get them to be more vocal about their opinions? ... I like the idea of measuring things, but metrics seem easy to game. How do I effectively measure team and personal productivity? Jamison cites this tweet and this blog post about examining your own productivity.

Transcript
Discussion (0)
Starting point is 00:00:00 It takes more than a Turing-complete constraint-based layout system to be a great software engineer. This is episode 87 of the Soft Skills Engineering podcast. I'm your host, Jameson Dance. I'm your host, Dave Smith. Soft Skills Engineering is a podcast where we answer all of your non-technical questions about the technical field of software engineering. That's right. And Turing-complete constraint-based layout systems.
Starting point is 00:00:21 I don't even know if they are Turing-complete. I just assume because they're... Isn't the proof of Turing-completeness just like, it's pretty complicated, so probably. They can probably do everything a Turing machine can, I guess. Yeah, that's what it is in my head. Anything I don't understand. So this constraint-based layout system, is this CSS? No, CSS is not a constraint-based layout system, I believe.
Starting point is 00:00:44 What is CSS? Is it a different category? I think so. I think I've heard these words. I don't understand them super well. I know iOS has one, I think. oh i think it's about where you say like i i want to constrain these elements to have these widths between them and then it kind of like lays everything out automatically in hard to predict ways yeah yeah
Starting point is 00:01:11 okay cool uh but this is very technical and this shows about non-technical things so we should talk about those let's just take 20 minutes where we just listen to the sounds of me let's just go into a deep dive just switch it up jameson's keyboard sounds like when he's googling things he doesn't know about yeah we we know the listeners listen to this show for hard-hitting totally non-expert off the top of our head off the first page of google search results technical information in the dark we have no personal experience with yeah that's what they crave we're just humble servants we're here to deliver what you crave um speaking no real real quick we do not want to answer our first question
Starting point is 00:02:02 yet i wanted to say uh shout out to people who have been leaving comments on our website for each episode and taking the discussion in new directions i read through a bunch of the comments recently and was as usual both surprised and humbled by how little jameson and i know about anything y'all are smart good work that's great yeah it's really it was a frequent and necessary reminder about how limited our scope of existence has been and it's great to hear what other people have to say about these topics so go check it out at softskills.audio you can click on an episode and scroll to the bottom you can see comments that people have left very interesting yeah for sure all right do you want to read our first question dave yes this cause sorry i'm laughing because i
Starting point is 00:02:49 remembered how this individual asked us to pronounce his name it's david okay not david david okay david um david writes i've been working on a project for the past year with two other senior developers one of them is the lead and the other is my peer we all have a lot of respect for each other's opinions and resolve our engineering disputes amicably my problem is that sometimes my peer will just give up saying have it your way i want to have it out with them and evaluate each solution on its merits i've considered staying stand and fight you mangy cur but then i looked up mangy cur and decided against it how do i get him to be more vocal about his opinions so that i can prove to him that i'm right
Starting point is 00:03:36 i assume that last part is a joke it has to be it was in parentheses so that means joking right yeah and david sounds like a jokester because his email address was david normally but that's okay we like we like jokes that's why we do this podcast that's right is this like a deep embedded advertisement for whatever fast food company says have it your way is that still is that mcdonald's burger i i don't know is this one of those native yeah are you like a sock puppet for big fast food big burger yeah big burger part of the big burger conglomerate probably because if so that will be several million dollars please that's right and that will be seven several million dollars wasted
Starting point is 00:04:28 what are you talking about i could really go for a good have it your way brand burger at a local establishment right now delicious there are some cultures where where uh there's lots of vigorous debate and i think those have problems all of their own but one of the problems usually is not like people don't stand up to each other and express their opinions all the way sometimes actually but i i guess the flip side of that is if you have a culture of people being really nice and kind and communicating well with each other um sometimes the sometimes the instinct is to smooth things over which might mean that uh some discussions don't happen as vigorously as you would like and i i have been the smooth over a lot i'm definitely a people pleaser and so i feel
Starting point is 00:05:23 Like if there's a technical discussion that I have opinions about, but that I don't necessarily feel like is worth yelling about, or we're just going in circles or something, I'll just kind of back off and be like, well, it's not that big of a deal. I think it should be different, but whatever. But have it your way. Yeah, but. And then there's a glint on my teeth and it makes a ding noise as I smile and give them the finger guns. and then burgers drop from the skies. So I understand where your co-worker is coming from, I think. Have you ever been on the giving end of this?
Starting point is 00:06:07 Like stay and fight? Where I wished people wanted? Yeah, actually. There's one specific co-worker. Well, it wasn't quite... It did kind of work out like this, actually, sometimes. There's one specific co-worker who... I've talked about him before.
Starting point is 00:06:21 He didn't speak up as much as we wanted him to, the whole team, because he was just a little more shy, a little more reserved. Very, very, very, very, very, very, very smart. And we had to tell him, like, please tell us what you think when you think we are wrong and when you disagree with us. And he just started doing it more based on feedback we gave him. And it was very helpful. it wasn't it wasn't as much about debates as this question is that was more about um just feedback and architecture discussions and things like that so i have been on that end and and i have yeah i have been on the other end as the person who just kind of backed off a little
Starting point is 00:06:59 bit i worked with a a guy who was very tall and very large and had this like giant viking ponytail sale oh and smoked hand-rolled cigarettes and was very nice but just like an imposing human you know so like like as soon as he walked in the room you were like um you just have it your way okay anything you want on your hamburger sir so did he like you want a taco on your hamburger sure i'll do it have it your way buddy have it your way so like did he did he just say things and you were like yep we should definitely do that no no it wasn't quite like that it wasn't just like me cowering before him it was like we had some different backgrounds technique technology wise we had some different opinions about the
Starting point is 00:07:52 right way to do stuff and uh i just found myself deferring to him a lot both out of this desire to like smooth things over and not caring that much and also like he's just i don't know just just a imposing human um who wasn't definitely not trying to be intimidating or anything but that that does affect how people interact for sure yeah and i think our technology decisions and our technical output was worse for my behavior even though it was the most comfortable thing to do at the time wow dang so look yeah looking back i would do it differently now but i was just a young lad just going with a young burger king sales associate making my way in the big city with the wonderful opportunities afforded me by the company so you're saying you probably could
Starting point is 00:08:42 of course corrected something that turned out badly but you felt intimidated into going along with the yeah and it wasn't a huge disaster we just we just ended up with things that i wasn't happy with and that caused some friction with the rest of the company some of it was around technology choice it was just this weird one-off kind of frankenstein thing um that we didn't know how to operate very well and so it was yeah it was was more tactical like the way we did things inside the inside the code we were working on together wow that's very interesting so so i i think if i was in that situation again i would have just talked to him explicitly and said like hey i feel weird about how we work together i i feel like i need to kind of like back off and let
Starting point is 00:09:21 you get your way more but i don't think that's the right thing to do so i i'm gonna try and discuss it more i'm gonna try to i'm gonna try to stand up to you you big bully yeah and and uh knowing him i think he would have been fine with that i think he would have he would have appreciated that it wouldn't have been awkward um he's like you are literally the first human that's ever stood up to me what how dare you do you see how big i am no don't you know that i roll my own cigarettes again very nice yeah so i i've been weird thing i've worked with a couple of people who one person in particular who was uh uh the kind of person who would give in a little bit too quickly um and at my last company i remember uh several occasions where i was discussing an idea
Starting point is 00:10:08 with this person and at strange points in the conversation at least unexpected for me he would just say yep okay that's fine and i and to me like we were just barely beginning to explore the surface of what we needed to cover to make a good engineering decision and he would just like insta cave you know just boom caved in and even even in situations where i would ask him about how something works or ask because i was curious about something you know and maybe we were trying to make a decision together and i would have a bunch of questions for him he would just kind of be like oh no you know what never mind so i saw this pattern a few times and the thing is he was a really good engineer and super smart and uh had a good reputation over many years
Starting point is 00:10:55 of making good decisions and i really looked up looked up to him so when i saw this behavior it struck me as very odd so what did i do well i confronted him about it over chat i i said hey i've noticed a pattern where i'll be asking you a question or we'll be discussing something and you kind of like end the conversation and um i think we should i just i didn't really go i didn't really spend too much time like asking him why or what i just threw it out there and said i think that's going on i didn't really well i didn't i don't remember asking what's going on i just kind of said hey i'd like you to uh follow these conversations with me all the way to their conclusion and not you know cut cut it off um and it would even
Starting point is 00:11:40 happen when he would come to me with a question where i would you know his question would be something and i would start answering and then i would ask him some follow-up questions to clarify things and and he'd be like oh never mind never mind you know so so um i in hindsight i probably was intimidating to him and it turns out that you can be intimidating without intending it at all were you peers at at the time we were probably not peers i think i was probably his manager in a managerial reporting hierarchy sure so i could see why that would have imposed like a some kind of pressure that i didn't even realize i was imposing did you see the same behavior with other people no other developers no i didn't and and that's why this one stood out to
Starting point is 00:12:28 me sure so i don't think i was universally imposing but i i certainly think that i was in this case targeted you you understood his psyche and knew how to break it down childhood fears humiliations you you have subtle hints to his his lost childhood toys on your clothing yep anyway um i i'm trying to remember it's been enough years now that i don't remember but i think things improved after that where he was more willing to engage in the conversation all the way to the end at least i don't remember an instance of him withdrawing abruptly after that conversation sure sure yeah so maybe just just hanging a lampshade on it just being open about it and saying hey i've noticed this yeah and please stand up to me more okay whatever you say
Starting point is 00:13:25 i know like you're you're in this bad situation already right so it's really hard to address it but yeah yeah without making without making it worse yeah did i stand up to you right oh go go ahead nothing it's just you go ahead oh uh some of it could just be communication style so i this doesn't happen to me much for technical things but for non-technical things i have a really hard time pushing back and disagreeing and saying things i think people might not like or agree with in person like in the moment it's much easier for me to do it in text um kind of asynchronously where i have a little more time to think it over so it could i i mean you don't want to constrain all your communication this way but it it could be easier for for your co-worker
Starting point is 00:14:18 to do it if you talk it over in text format maybe you have a design document or you do it over chat or something like that um maybe you are the large and intimidating one have you tried being smaller maybe come in on your knees or something or yeah yeah yeah do that or i know they have um you can have like platform shoes to make you a little bit taller um so they probably have shoes that make you a little bit shorter yeah probably imagine that exists just the opposite of a platform yeah it's just yeah yeah and i mean the platform goes down then you're a little shorter so try that maybe like suck in your gut a little bit make yourself look look you don't have to just be shorter you can be you can be have smaller width smaller volume overall it's like the
Starting point is 00:15:08 opposite of a puffer fish yeah maybe where suck your cheeks in where like horizontal stripes or something isn't doesn't that make yeah yeah or or like wear camouflage so it's hard to tell where the boundaries end of your shape and then you kind of blend it into the outside to stuff around you and then maybe assume you're smaller um yeah but just just be smaller speak speak quietly not too quietly because that's intimidating to the co-worker who only whispers why are you whispering i believe our our deployment process could do with some changes like oh no i'm gonna get stabbed does it need human sacrifice well yeah i mean i think it's worth just talking openly i have seen that work
Starting point is 00:16:08 in other in cases yeah i've seen that work and when i've been the person who didn't stand up enough that's what i would have tried um but and you should this needs to be resolved because what i you know jameson's example from a few minutes ago is totally representative of what i've seen which is that the more back and forth discussion you have about important decisions the better the decision becomes now obviously there's diminishing returns here but if you if the conversation ends prematurely you're more likely to make a bad engineering decision yeah and it's possible to build up resentment about this too to feel like um things are moving in a direction you don't like and you didn't get to or weren't able to influence it like you would want yeah so over
Starting point is 00:16:56 time it gets more and more frustrating that that finished product doesn't have your input even though the other person might feel like they're trying to give your input it's it yeah yep exactly it's a resentment breeding ground yes that is a good way to put it all right just talk to him that's our advice um have we answered the question i think so should we go on to our next one let's totally do it i will read the next question this is from a listener named ryan moore he said it's pronounced ryan as in ryan gosling and more as in roger moore roger so it's pronounced roger gosling yeah no i like the idea of measuring things but i also feel like work metrics are easy to game and hard to make indicative of actual quality work being done and product being produced in
Starting point is 00:17:48 particular i worry when the data collected leads people to choose work that will bump stats rather than lead to a better end user experience or more maintainable code what kind of data do you think is useful to collect in terms of developer activity. Can you share some examples of ways you've been able to assess your own and your co-workers productivity? I'm interested in this both on a team level and a personal one. How can I get better if I don't have a way to track what good is for myself? Is trying to turn the complicated and messy thing that I actually do all day into trackable data-driven domain a fool's errand? Absolutely not. It's not a fool's errand. All you have to do is count the semicolons that you and your co-workers type and I'm telling
Starting point is 00:18:27 you that is the metric i use prettier so when i write javascript i don't type any semicolons and it puts them all in for me um so you have defeated my system my perfect metric is defeated do you remember we we did talk about productively a while ago and we came up with a number of keyboards that you own or something right yeah as like the null metric so it has to be better than that that's the baseline that was episode 79 i think what how do you know that my mind is blown right now well how do you know that all i know is there was a title there was a question titled developer productivity so i just went out on a limb oh are you looking at our trello board yeah okay i thought man i thought it was like a
Starting point is 00:19:15 memento thing where you had them all tattooed on your body or something i also have that but those those are harder to search they only show up under uv lights yeah so that's the baseline better than mechanical keyboards that you own that's right so i like how it split into personal productivity and team productivity because i think you can afford to be much more dystopian about personal productivity metrics totally because you're doing it to yourself so like if you measure the number of times you get up and talk to your friend it's not gonna make you i don't know you can't fire yourself over talking to your friend too much although you could bring that to your boss at annual review time and say you know just so you
Starting point is 00:20:01 know here's my dashboard yeah i i should probably be fired i'm really into quantified self i quantified the number of tweets that i read each day and it gets real high sometimes yeah so i I think it's wise to split those up because you can be much more aggressive and get a lot more info that feels a lot less evil about yourself. Have you done any personal productivity tracking stuff just for yourself? I have. About two years ago, I started using a tool called Rescue Time. Yeah.
Starting point is 00:20:35 We may have talked about this on the show before. I don't remember, actually. I love it. Absolutely love it. The way it works is you run it on your computer, so it only tracks time spent on your computer but it will categorize things based on the window titles of the applications that you're using so you can even do it down to the website name so certain websites can be categorized as productive and others can be categorized as distracting
Starting point is 00:20:59 and then each week you get a productivity score which tells you what percentage of your time was spent on productive things and distracting things and how many hours you spent on your computer and let me just tell you that for me was the eye-opening metric it's just the number of hours on your computer yes so many so many more than i expected how about you what would what did you find when you started using um yeah i've used rescue time and yeah i found that i'm not very productive according to rescue time that's probably the most invasive one i've used i've also done other things i've tracked the number of commits and number of pull requests closed a number of issues closed and stuff just
Starting point is 00:21:40 for myself um i think i did i think i did one other thing i have like a little text-based to-do system i use sometimes and for a while i just tracked like some little metrics off of that it was it was very very simple just like parsing this text file um i don't think i've gotten too fancy though and i haven't i mean there's so much data like i i read a blog post about a person who just recorded all their keystrokes for all time oh my gosh put them in a database and then they like mine them for patterns and and i don't know there's some interesting things they looked at i thought you were gonna say mine them for passwords oh no i mean hopefully you know the passwords that you're typing in let's that's that could be very sensitive data and very damaging if
Starting point is 00:22:23 it got out right oh for sure yeah for sure um there's there's also you know a lot more hopefully about the impact that your work has so so there's there's two sides to it there's the input there's what you put in and then there's the effect that it has on the code quality or the product or the end user um ryan talked about those two things and i think it's really um measuring what you put in is is pretty easy it takes some work but there's a lot of tools to do it measuring the output is like the purpose of a business almost measuring the effect on users like that's that's hard and i don't know how you'd tie those things together because i think to some extent they're not linearly related i think it's possible to just crank out a bunch of features and have users not
Starting point is 00:23:12 care no for sure it's possible to sit in a hammock all day and think real hard and then type for like 20 minutes and have people just have their minds blown yep there's research behind that one too in fact that there was research that i read from amazon and microsoft that found that like two-thirds of the features that they produced either had a negative impact on the user or had no impact on the user at all and it was only one-third of the features produced that actually gave benefit to which i say well you got to produce all the features in order to get those one-third what if we just only do the good third it's problem solved yeah so so that gets into like product development and and i guess they're yeah
Starting point is 00:23:53 they're all kinds of metrics around user engagement and activity but i think linking those back to specific individual developer it's very difficult yeah that'd be hard there's so many steps that go into it from design to development to like review and mentorship and other people might throw in ideas even if you're the person that types the the characters exactly so even even code authorship might not be the absolute truth for sure for sure and say maybe someone built the platform that you are using to to stand on the shoulders of giants you know yeah yeah i mean there's it's super complicated to trace that back yeah i think there are some areas that you could attach metrics to and then optimize those but just getting the broad the grand unified theory
Starting point is 00:24:37 of like how good is your work for the company and the code base i think that's a little tricky I think so, too. I think the best you can do is more simple metrics that tell you more direct things about what you're spending your time on. Like, how many bugs did I fix? How many lines of code did I write week over week? And then those things, even those things are not absolutely useful. They're usually only useful relative to each other over time. sure you can identify trends in your own life like oh i typically write this many lines of code this week was an anomaly hi because i you know copied and pasted a 10 000 line library into our code base or something you know sure i experimented with amphetamines at work turns out the short-term productivity gains are astounding but then you might also see uh declines that you think are you know might be indicative of something else like oh i haven't written any code this week and that's very unusual for me what's
Starting point is 00:25:34 going on in my life and it might i think what happens is it act can act as a circuit breaker to stop behavior that you know isn't helpful to your own well-being it'll help you notice it before it becomes uh burnout or some other negative effect i experimented with amphetamines at work turns out the long-term effects on productivity are also astounding Yeah, I think if you are working on developer facing things, it can be easier to measure the impact of your work on your users. Say you're trying to build a better deployment pipeline or something like that, then it's easy to assess metrics on specific targeted tasks like that. How many deploys do we have? How long does each deploy take? And I think those are good productivity metrics for that task. Or if you're building a component library or something like that, you could think like, how much custom code does someone have to write to finish a feature?
Starting point is 00:26:39 How much custom UI code? So I think in more targeted tasks, you might have better metrics, but just overall, yeah, that's real hard. Maybe ask the product people. Maybe they have it all solved and we just don't know because we don't ask them about it enough. That's probably right. Someone else knows the answer. They're like, oh, this is easy. all you do is blah so can i can i make a weird meta comment about metrics and personal tracking
Starting point is 00:27:05 sure i believe that we use metrics for things that are too hard for us to understand directly so for example like say you're trying to measure engagement for your user base if you knew all of your users you wouldn't have to measure engagement like you would just know but but we no single human being can take like a million people's lives and fully synthesize that in our own brain so instead we summarize their behavior through these numbers that are proxies for their actual behavior right so it's kind of it's kind of like the map is not the territory thing i don't know what that is what is that as i understand it it's kind of talking about abstractions and how you make a map and the instant you make a map you have made an abstraction because you've lost data and there's
Starting point is 00:27:58 this trade-off between making a more accurate map and like recreating the physical world that it is a map of so you have to leave information out in order to make it useful but then you have missing information okay yeah so it's like uh yeah like it would be impossible to identify the political boundary for every grain of sand right so you draw a line and some of the grains of sand are like not exactly in that line and right is that yeah yeah it's yeah it's kind of about um models and how they reflect reality yeah they're always abstractions of reality and so if a model tells you something that doesn't mean like that's how reality is that means that's what the model tells you that's exactly right and that's exactly the thought i'm thinking and it when that's why we
Starting point is 00:28:42 use metrics because especially for like large user bases there's no way to track that um and there's no way for a single human being to fully synthesize the behavior of all their users but if you only had one user and you could watch them every day all day you wouldn't need metrics really right i mean maybe for remembering over time you'd need to look back and do that but but i'm getting to a point here which is that maybe numerical metrics are not the best way to track your own personal productivity and this week i started doing something new which i didn't even realize was related to this question until just now, which is I've started writing journal entries every night,
Starting point is 00:29:21 actually every morning. I picked up this idea from a little workshop that I've been taking each week through my church, and all my life, people have said, you should write a journal, and I just never did. And so I started writing down my thoughts each morning, just like, what are some of the things I did yesterday? What are some of the decisions I made?
Starting point is 00:29:38 How do I feel about them? And you know, I found that I got a lot more clarity about what's going on in my life than i ever did from things like rescue time or other metrics that i've used to collect and so it's kind of an alternative approach and maybe maybe it's a complementary approach but i think that when we're measuring our own productivity we don't necessarily have to resort to metrics only so you're talking about using narrative a little bit more yeah exactly like um it's kind of like self-reflection more so than just saying well the numbers say i'm happy so i
Starting point is 00:30:11 should be happy yeah you know yeah i like that i i have a developer journal where i talk about um work stuff it's cool it's kind of a combination of things that i'm doing things that i've learned and just how i feel about work stuff and i found that very helpful i think a key point you hit on is is this is very useful for personal productivity because you have the whole story right and it would be very easy to produce a very biased narrative about a team's productivity because you you don't have the whole story there and it's subject to all the biases that people are subject to but i like that idea sprinkling a little bit of a little bit of narrative a little bit of a little bit of qualitative you know yeah yeah yeah i think the dream is you get a number and then you make that
Starting point is 00:30:58 number go up and that means everything is better yeah exactly and that's that's hard to do it's just crap it's not it's just to answer the question that the person wrote uh is it a fool's errand um yes absolutely for your own personal happiness finding a metric or even a small number of metrics that can uh measure your own like productivity and happiness is just i think it absolutely is a fool's errand you think it's worthless not worth doing at all no i don't think it i think it can have value as one item on your palette of many ways of tracking your own productivity and personal you know personal well-being okay but you're saying as the as the true measure yeah yeah so i i think i agree with that i think i think i agree it can be helpful but it's not
Starting point is 00:31:46 like like like we were saying earlier the map is not the territory yes and also a metric won't ever tell you what's important to you right like the metric just measures actions but how do you actually find out like what do i really want to achieve what's important to me that's pure self-reflection totally qualitative right yeah yeah that's true we're getting a little philosophical here yeah wouldn't want that would it be an okay time to transition over to measuring the productivity of your team uh sure yeah we could talk about that so earlier you said that it's okay to get really uh you didn't say orwellian what did you say dystopian yeah dystopian orwellian is dystopian
Starting point is 00:32:29 that's right i think you're right it's okay to get really orwellian on your own self but with a team that's when you need to get really dystopian microchips implanted in the skin yes like smart carpet that tracks where everyone walks absolutely microphones i mean well there already are microphones everywhere so we live in that reality welcome to the future but you just need to ask them for their data and then mind that mind all their cell phones for locations all yeah okay so we've got that plan another plan is i think there are two approaches one is you talk very openly with the team about what the metrics
Starting point is 00:33:20 are in order to get their buy-in, in order to make clear that you don't want these things to be biased or drivers, but, and they're not going to affect directly hiring or firing or salary or anything like that. And that way you hopefully avoid some of the negative effects of metrics on, on your actions. Another approach could be to keep them all secret and try and avoid the negative effects of metrics on people's actions by having them not know the metrics. That feels a little weirder, like you're a spymaster.
Starting point is 00:33:54 But I think if you use them responsibly, then maybe the outcome is okay. How do you feel about those two options? I think that there's probably a hybrid approach that's best for many teams, which is that the team agrees on what's important to the team and they strive to achieve that and they have a measurable way to achieve that.
Starting point is 00:34:14 and i wouldn't even call that like a metric i would call that like a goal you know and you use metrics to achieve that goal because again metrics can't tell you what's important they just help measure progress towards something so i think i think it's really good for teams to have goals and really good for them to have nice measurable easily quantifiable and clear uh metrics for lack of a better word to know how they're doing toward that goal absolutely but then so goal is the broad thing and metric is how you're doing towards your goal exactly you're saying yeah exactly but then also i think management needs certain tools at their disposal to be able to quantify how well their people are performing and this is where you get into really dangerous territory but
Starting point is 00:34:54 also really valuable information so i mean story points is the big one right um i i don't think i've ever felt like story points were used well around me but that's a metric that almost everyone tracks and i think if you use them for feedback well they could be maybe more than more than useless it's a pretty high bar actually the bar is it has to be better than the number of mechanical keyboards you own and i think it potentially could be better than that how could you see that's the thing with metrics is more than useless is a bar but it's so easy for a metric to become actually harmful right yeah it is and there's this really fancy law called good hearts law that says when a measure becomes a target it ceases to be a good measure which means that
Starting point is 00:35:48 when someone knows that they're being measured by a certain metric and that they will benefit by that or that it's an important metric um they will then start targeting that metric instead of the thing instead of focusing on the goal the metric was meant to measure they will focus on the metric yeah have you ever seen that happen at work i don't think we've ever done metrics rigorously enough for that to come into effect well the way i mean the way these things usually happen is like management leaks that they pay attention to some number you know and or they'll say something like well that'll come up in his review you know and then you're like oh that's a target right yeah i mean it could be the giant wall-sized dashboard of a bar graph of commits
Starting point is 00:36:32 across the team there's each person's picture underneath the bar the the commit leaderboard exactly um one of my friends ryan florence when he was working at a local company called instructure he was on a small team they wanted to measure their productivity so he just made a little dashboard and all it was was the number of tickets closed each day and it would just show each person's name and a giant number next to them the number of tickets stay closed and i think he found that helpful and it was also very much self-imposed but also that could totally affect how you approach tickets you could try and close them early you could make them smaller so that you can close more tickets and even if you are aware that
Starting point is 00:37:15 you will not be judged in in this case it's a self-imposed metric i think just the fact that it exists could bias your behavior unconsciously absolutely you you might act differently in ways you don't perceive as doing deliberately just because there's a number that you can make go up. In fact, why do we like making numbers go up? Yeah, we do. And I think a lot of people are extrinsically motivated by that. Not everyone. I think some people are more intrinsically motivated, but some people love to push that bar upward. And when management signals that that's important, you want to do it because you want to please your company. Like your management has said, this is important. So you say, okay, well, I'm going to focus on that. I'm going to do that.
Starting point is 00:37:57 That's obviously important. I think some people are a little bit more negative about that. And they assume that humans must be inherently selfish because they're always trying to game the metric system for their own selfish game. But I think that view is mostly crap because I think what happens is when a company's leadership signals that something is important, that most people will respond by trying to become excellent in that thing. And that's why Goodhart's law, I believe is good hearts law because people really want to do what's right not malicious it's just yeah yeah it's not selfish it's that I want to do a good job and my company has told me that this is how I define a good job so I'm going to do that now having said that there definitely
Starting point is 00:38:36 are people who respond to the metric for selfish you know basically for selfish marketing reasons where they say I just want to look better than my peers and we track those people in this chart over here we have metrics on how many of them exist and what their effect is on the company yeah so i mean yeah we've talked about tickets closed uh story points commits pull requests are there any other there are other tools you could look at oh yes there certainly are knowing all the trade-offs associated with them right and and before i enumerate some of my favorite terrible metrics that i use to measure people's uh personal self-worth people's value yes humans let's make that clear yeah i will say that all developer productivity metrics are proxy metrics so you
Starting point is 00:39:26 have to be very careful there are no direct metrics of a developer's productivity just absolutely none it's not like that so instead we use proxy metrics and we must be very careful about how we apply them so um you can use lines of code and i think that as a as a leader it's good to know how many lines of code people are writing of course there has to be a story behind that and you better you better be familiar with the story and not just the number because the number can be easily gamed not even intentionally not even maliciously and also not all lines of code are created equal so you know it has huge caveats but as a broad stroke you can use it to see roughly what's going on in a developer's world at work you said tickets i like to break that up
Starting point is 00:40:10 into like features delivered and bugs fixed which i think is really useful another one that i really like is how many code reviews did a person ask for and how many code reviews were sent to a person to get their feedback because that's a proxy for trust between the team if they are going to the same people over and over it's a signal that those people are trusted and their opinion is well regarded on the team and like how many comments do people make on code reviews do they are they active in the code review system or do they never make comments and then of course on a more anecdotal front i like to use just anecdotal peer feedback where i ask people how are they doing and they can just tell me in story form not number form uh how they're doing and the combination of
Starting point is 00:40:55 all of these things even still doesn't paint a complete picture you as a leader have to be plugged in and know this person's story in their day-to-day life but it can supplement that picture i think there's a an interesting tweet by a guy named dan lu he cited someone's blog post about personal programming productivity and this person ended up recording themselves program so they would just turn on a screen recorder do their work and then watch it oh my gosh look at things that they saw as mistakes they look at where they got stuck they look at where they ended up too and then look at kind of the path they took there so maybe they were working on this gnarly function and they kind of poked around for a while and they ended up with something clean, but like
Starting point is 00:41:38 they took some detours and they tried to use that to, to basically do deliberate practice to allow themselves to improve. That's awesome. What was the outcome? They felt better. I don't think there were, I don't think there were metrics around it. I can read you the headlines though, eliminating distractions, getting into the habit of getting into flow, scheduling my day around when I'm most productive, being patient. Those, those were the the h2 tags in the article so i think those were kind of the behavior changes that this person made interesting so there weren't numbers attached to it but ryan brought up the idea of like how do i improve personally if i'm not tracking things and this is one approach and it gets into the the
Starting point is 00:42:19 broader question of how do you practice stuff at work um yeah there's there's deliberate practice and then i forgot what the other term is just incidental practice or something it's kind of where you just like do the work without trying things deliberately to improve at it. And the value of just doing the work is not really very high. Any improvement that happens there is much smaller than people deliberately trying to improve. So I think another broader point is you don't just improve automatically by experience if it's not experience that you're using to try to improve, if that makes sense. That's awesome. That's very interesting. I've never been that deliberate about my about practicing my craft yeah neither have i all i yeah just made me feel
Starting point is 00:43:05 real bad that was the outcome of this also i i want to try it someday do you think that if you watch yourself make mistakes and then watch yourself recover and and get to a better outcome that you could somehow prevent yourself from making similar mistakes in the future in software development i know there are things i do that are very inefficient and dumb and bad and i also know you don't need a screencast to tell you no no i also know i don't know what they are oh i just know that the way i work is not optimal i think some of it is like there's a journey you go through to get to the right answer and i don't know that you can always just skip the journey and just sit down and think the right answer but i i think i think there has to be stuff to improve on i want
Starting point is 00:43:51 to believe that i think i haven't done it pretty much a master jameson i mean what yeah how could you get better i did stream myself programming on twitch once and that was very stressful how long uh it was like two hours or something wow okay i was just making an html page which is not just like doing layout stuff which is not something i i enjoy that much so that was also pretty stressful i recently heard someone doing uh small programming challenges and streaming it while they do it as like a newbie they aren't they were not newbies but they were saying look as a newbie you might want to watch how an experienced person writes code here you go sure there's actually a few programmers that stream on twitch and i found it pretty interesting to
Starting point is 00:44:32 look at them just watch how they do it i've never had the patience to do that long to stick with that though i mean yeah yeah like you get to watch someone sit and think a lot congratulations congratulations anyways that's that's one approach to look at improving your own personal productivity i will i will link the tweet and the article in the show notes anything else you want to say on this topic oh i don't think we can underscore enough how tricky metrics can be especially for measuring other people so tread with caution if you do this and um be sure you have the full story before you make any important decisions based on metrics which are inherently proxy metrics yeah this is a fascinating and deep subject and my tendency is to kind of dismiss it
Starting point is 00:45:15 as useless but i feel like i could be missing out on some value yeah yeah because of that it's it's just easier to say oh it's all garbage than to explore and get good at it i think one more thing i'd say about it is one problem with over metricizing over quant quantizing is that the verb yeah probably quantitizing over numbering a someone's work is that you might crank up the efficiency so high that there isn't really time to sit back and think ever and a lot of time the concrete value to users and customers like we said is from sitting back and thinking doing less work but it's more important work and if all you're doing is heads down trying to make all the numbers go up you might not sit back and think like what if we threw all this away and did this simple
Starting point is 00:46:00 thing instead so if you do have pretty intense metrics make sure you leave room for that kind of behavior as well awesome all right question answered where can people go if they want to ask a question like this they well don't ask this question we already answered it but if you want to ask a different question go to softskills.audio that is our website there's a big old button on the top ask a question uh you can put in as much or as little detail as you like you can give us your name you can give us a pseudonym you can um give us a series of unpronounceable characters like prince did with his name and we'll try and figure out pronunciations for emoji if you do that and and yeah we'd love to answer your questions thank you so much for sending them in we are
Starting point is 00:46:43 slowly working through them all and we hope to work through all of them and then at last we will expire our life's mission complete i look forward to that day on that happy shining note i think we're done all right next week bye

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