Soft Skills Engineering - Episode 84: Shy Developers and Outsourced Architecture

Episode Date: November 23, 2017

This week Jamison and Dave answer these questions: I work with a very shy and anxious remote developer. How do I work effectively with them? Our manager is outsourcing the core architecture of o...ur next products to an offshore team. How do I tell him I think this is a bad idea?

Transcript
Discussion (0)
Starting point is 00:00:00 It takes more than great recursive descent parsing skills to be a great engineer. This is Soft Skills Engineering, Episode 84. I'm your host, Dave Smith. I'm your host, Jameson Dance. Soft Skills Engineering is a weekly advice show for software developers about non-technical topics. What motivated the recursive descent parsing thing? I have no idea. It just came to my mind.
Starting point is 00:00:21 It just takes more than that. It does. I mean, it's kind of a baseline, I guess. Have you thought about all the times that recursive descent parsing failed you in your quest to make your team work more effectively? I realized I was always using recursive ascent parsers, which was totally wrong. It just keeps adding more and more parentheses. Well, maybe it'll work someday.
Starting point is 00:00:47 We just need bigger machines. It's parentheses all the way up. I think if we get a big enough machine, it'll work. Would you like to read our first question today? I would love to. This is from an anonymous listener. Hi, Dave and Jameson. Thank you for sharing your insights.
Starting point is 00:01:03 I love your show. We love our show too. Thank you. That was very egotistical of you. I'm just confident in you, Dave. Oh. I work on a team of four remote developers, all of whom are productive, kind, and humble.
Starting point is 00:01:19 One of my teammates is very shy and anxious. They almost always join meetings with their camera off, rarely speak up in discussions and give very sparse feedback in code review i've always accepted this is just the way they are however i found it harder and harder to empathize with them and have been frustrated by what feels like a one-way relationship am i wrong in expecting them to contribute in ways that they are apparently not comfortable with if so how do i manage these expectations if not how do i encourage this person to put themselves out there thanks for any wisdom and hilarity you can provide uh those are high bars well they said any yeah none is technically any also
Starting point is 00:01:57 have you considered that you are part of a sophisticated turing test experiment your co-worker is a chatbot is that what you're saying yes with a very quiet chatbot yes with limited audio capability i haven't looked deeply into chatbots have has anyone just tried to make one that's very shy probably i know they usually talk a lot yeah i was gonna say no and it's pretty easy to tell yeah probably not actually now that i think of it a shy chatbot would get like no engagement yeah but maybe it passed the turing test so we're building a new customer service chatbot and we're thinking it ignores you yeah we're gonna go with this shy model it's called dev noel have you tried surprising them by going to their house and appearing behind
Starting point is 00:02:51 them in the middle of a call hello i'm just here to get to know you better like when you have the hiccups and you want someone to surprise you maybe it's like that you're shy you just haven't been shocked out of your shyness that's right it's just that's a temporary state they're just waiting for someone to scare them yep i know when i feel anxious what i really need is someone to deliver a just a bone chilling amount of fear to me and then that helps me overcome the anxiety wow i feel so relieved now yeah well it's like a sneeze that you have coming on and then you just get it out of your system just need a good fright well now that we've had a good hearty laugh at this person's expense
Starting point is 00:03:44 have you been in a situation like this dave yeah i um i feel like many teams have at least one shy engineer who has a hard time either vocalizing themselves well in in a group setting especially in a group setting you know it's the person you always have to say hey could you speak a little louder sure but i don't think i've had one who is universally quiet in all communication modes like here we're talking code reviews which i assume are written uh meetings which are interpretive dance yeah yeah sure yeah um they're not written typically they'll be you know quiet in one mode and vocal in another mode so this sounds like universally quiet you know I don't offer code reviews I don't speak in meetings and I don't even turn on my camera I don't think I've
Starting point is 00:04:43 had anyone quite that extreme yeah I mean often if people are anxious in social situations text is better for them sure and then remote could help yeah so I have worked on a team with lots of remote people and i've been in this situation especially when you're in a meeting and you're trying to get feedback from people and you just feel like there's just nothing coming yeah it's just you talking to yourself yep and i at least begin to feel like they all think i'm an idiot and that's why they're not talking because they're just so disgusted with me i won't even i won't even honor this guy with a response yeah yeah or if you're trying to solve a problem it just feels like it's all on you and you're just talking to yourself with a crowd of people listening in and
Starting point is 00:05:29 yeah it's not a fun situation so i can can understand why this doesn't feel great one thing that we did to try and help with this was we we banned people from turning their cameras off in meetings this i mean you need to be careful not to make this feel heavy-handed and authoritarian because it kind of is heavy-handed yeah a little bit but the purpose of it was to help make sure people feel engaged and remote work is easy to disengage right from easier than in person yeah if you're in a meeting it's a little more obvious if you're just totally spaced out not paying attention but if your camera's off you turn your microphone off and then you just pull up mind sweeper and just sweep some minds for an hour don't say anything and people are like oh i guess
Starting point is 00:06:16 they're just shy like nope saving the world saving the world for minds yeah uh yeah so it's not i mean it's not just like distractions like that but but seeing people's faces helps promote connection and that's an avenue for signal you see their emotional reactions to what you're saying and you can get a little more insight into how people think and how people feel you're opening a channel yeah it's very helpful for remote stuff so maybe don't say we ban cam we ban you from turning your camera off but you that might be a thing you approach uh talk about how important cameras are and especially for remote work and remote teams for sure sounds good that's one way to back into the problem i was going to propose a slightly more direct approach okay where you confront the person
Starting point is 00:07:07 maybe stamp your feet and you know shake violently and ask them why they're so freaking quiet all the time like like yell at them yeah exactly you're just so shy and i hate it but but seriously i i do think that um if i were in a situation like this and i had dealt with it for a long time and i could see that it was harmful to them and their participation in the team i probably would approach them and i would say something very non-threatening like hey i i've noticed that you seem to participate a little bit less than some of the other team members in some of these dialogues we've had um you know is everything okay like are you know how is that what's going on um yeah and just see how they respond and maybe they'll if they trust you and
Starting point is 00:07:57 you do this in a non-threatening way maybe they will confide in you that there actually is a real issue with that they have that makes it difficult for them to do that that's one possible outcome or they might just say oh i didn't even realize i was doing that i'm just really comfortable letting other people take the lead on these things and i didn't really see a need to insert myself and yeah you know those are two very totally viable outcomes that could happen and i think that's a conversation i would probably have in this situation the question asker mentioned unmet expectations well they didn't say unmet but they mentioned expectations a few times and i think that's the crux of the issue is you have expectations they might not understand those
Starting point is 00:08:41 expectations and you don't know what their expectations are so yeah i think if you just talk about those openly you can determine if those are correct and if those are expectations you both share and are okay working with the bad outcome is for you to feel like you feel now where you expect them to behave in a certain way they don't know that they don't behave that way you get frustrated um and that's very common that happens all the time but they might like dave said they might have no idea so if you lay out your expectations clearly and especially if you if you make it clear that you want them to contribute more because you value their input you said that yes they're shy and anxious but they're also productive and there's probably
Starting point is 00:09:24 more they can contribute to code and architecture and helping other people on the team Yeah, that's a really good point. I've actually, now that you mentioned it, I've had two co-workers who I've worked with who were super productive, quality engineers, but in social situations with more than two or three engineers in the room, they would be very quiet. and they would just sit back and play a very passive role and both of those people i gave the feedback to in like their we had regular feedback in my last company and so i could say you know here's something i would recommend you improve you have good ideas but you need to make people aware of them by either participating more actively in these discussions or by verbalizing them in text form and email or whatever but i want to hear more of your ideas so that you can contribute and we can all improve and i think when people hear that that you think they have
Starting point is 00:10:14 valuable things to contribute it gives them license to actually make you know to participate even if it might have been uncomfortable for them yeah if if they're anxious or shy or nervous about looking dumb um that might help if you tell them you think they have good ideas i've actually been in similar situations where there's someone on my team who's brilliant and they were also kind of shy and reserved and and we had to tell them we want to hear what you say because you're usually right so so speak up if you think you have a good idea and they actually improved a lot and it was i mean they were great to work with before and it was even better to work with them after no that's awesome that's a cool story one more comment on expectations the last thing you can do if you're
Starting point is 00:10:55 not comfortable with the things we've suggested so far which about half of what we've suggested that i hope you're not very comfortable with is uh back on the on the thought of expectations is you could recalibrate your own expectations and if this person has no other issues with their work then maybe it's no big deal maybe this is the way they participate and it's just fine and you can say hey i can accept them for what they are and i heard i heard here in the comment let's see it's getting harder to empathize with them so i'd like to just zero in on that for just a minute I think maybe you need to try to form more of a multidimensional relationship with this person that extends beyond just the immediate work that you're doing right now. Try to get to know them, figure out what their interests are, and maybe they come out of their shell and have a whole other side that you've never met simply because you've never been on a topic that really gets them going, you know?
Starting point is 00:11:55 Yeah, that makes sense. This is one of the benefits of the much maligned team building exercises that teams can do. And I think it's really good for a team every six months to a year to do some kind of outing where you go out and do an activity together. It could be as simple as bowling, but it's something that will force the team to get to know each other outside of the single dimension of software engineering. And it makes empathy much more easy and accessible when you know that this, when you recognize this person as a multifaceted human being like yourself who has complexity and
Starting point is 00:12:31 needs outside of work and i think that may be one thing that's lacking here yeah that makes sense good advice dave oh thank goodness i'm so glad you said that have we answered this question i think so shall i read the next one yes this comes from an anonymous listener as well it says i am the only outspoken developer working in a flat organization of 25 developers our new manager is trying to make our code bases and future work consistent one of these goals is to create a generalized architecture to use across all the apps however we as the employees do not get to define this architecture it is being offshored to a team in india that our manager has worked with in the past his reasoning for doing this is to get it done quickly and leave the mid
Starting point is 00:13:21 to senior level developers free to do other things but this means the core to all of our future apps cannot be determined by us and it kind of wrecks my morale ultimately i'm feeling burnt by my manager and not trusted despite him referring to me as a good developer it feels like it's a loyalty first mentality with my manager where my life will go wonderful if i just say yes sir to everything but this is not how i operate uh it giggled a lot to myself while you're reading this it's just so bizarre working in a flat organization with a manager and junior and senior developers where the manager decides what we do wait a minute this is a flat has plenty of problems uh those are not usually problems associated with flat oh man organizations though
Starting point is 00:14:08 good observation yeah this is weird yeah it's so bizarre usually usually anarchy is like the the mode yeah it's usually chaos and and no expectations and hard to figure out what decisions are and how to make them sounds like a lot of decisions have been made for you and you can't question them which doesn't feel very flat to me this is only flat in one way which is we're saving money on middle management yeah it's flat in that you have no support oh this is weird okay yeah what do you think about your manager outsourcing the next generation architecture for your software uh it sounds bonkers this is yeah this is bizarre this is really weird i i mean to leave the mid-senior level developers
Starting point is 00:15:02 free to do other things what what are they doing closing tickets with the rest of you yeah they're they're actually really efficient at fixing bugs so we need we need the mid-senior developers all in on bug fixes while this outsourced team creates the foundation of our technology of the next round of bugs you'll be fixing yeah this i i hope there's some detail that's missing here because this sounds just so wrong i don't think outsourcing is inherently bad i've never heard of a team that outsources the core of their technology though unless it's the only team member like if if all the engineering is outsourced that's one thing but if you already have an established team you have 25 developers
Starting point is 00:15:51 yeah well especially since this looks like it's a new outsourcing relationship where it had come from a previous engagement with this manager someone he'd worked with before it's like i'm gonna bring those that team back in yeah maybe they did really good work with him last time which is fair enough but maybe that's he plans to replace you i mean it could get more in affairs maybe there's some kickbacks going on right oh gosh maybe he gets money from this team for funneling business to them geez but only architecture work yeah where he gets more money for architecture work and less money for well-defined tasks and bug fixing yeah that's That's like 90% a joke.
Starting point is 00:16:34 I don't, I only a little bit suspect that. Okay. So I have a counter proposal for you. Go to your manager and say, we as flat organization of developers have decided to outsource management to this great team in India that used to manage. Oh yeah. That's amazing. Hmm.
Starting point is 00:16:59 Hmm. I mean, what do you do in it? Honestly, it sounds like garbage. and and pro-tip is always an option pro-tip do not go to your manager and say this sounds like garbage just leave him a recording of this episode on his desk where we accuse him of felony fraud and tell him his idea sounds like garbage um we're we're great you best not do that either yeah okay okay what yeah what do you do besides quit because quitting is the easy obvious like sure that would solve some problems right um what do you do as as an employee in this air
Starting point is 00:17:40 quotes flat not actually flat but not in the way that flat organizations aren't actually flat way um wow i would go to this manager and ask what is going on what is your motivation here how can i best contribute in this new world of flat plus outsourcing yeah we can call this core sourcing well my project got core sourced so i'm stuck in the flat org but yeah i would i would go to the manager and say what's the motivation here what's the long game where do you see our team in 12 months you know where do you see this uh india team in 12 months what's the outcome you're hoping for what you know why did you what was the great experience
Starting point is 00:18:31 you had with them in the past and does that actually translate here surely before this decision was made because there's money on the line there had to be some kind of approval from someone so this idea was pitched at some point to some leader in your company and that leader was aligned and somehow this got green lit so that means that there's some kind of paper trail probably they could at least explain his rationale there's probably a slide deck or something somewhere you could at least find but remember it's flat oh crap so it could be it could be like your co-worker that you're sitting next to who's the leader that approved it the junior dev that was just hired send out an email to your teammates be like hey who approved
Starting point is 00:19:15 this yeah and they'll go like oh crap i thought i didn't realize i was the only approver his reasoning for doing this is to get it done quickly and leave mid and senior level developers free to do other things so that that reasoning is one i've heard a lot for outsourcing it's very rarely applied to core architecture but i have heard that tactic of we just really need to get this thing done we need our team on other stuff as a motivation for outsourcing i just don't understand what what other stuff they're doing that's more valuable than the future of your platform i feel like i feel like we had a caller who um wrote in with a similar concern i don't know maybe a year ago or so who said that uh like the next generation products being developed by
Starting point is 00:20:03 this outsource team oh yeah by contractors right but it wasn't the uh like it wasn't like an architecture or a code standard it was more like the next gen product and um yeah we're being left here to maintain the old one and maybe this is a precursor to that maybe maybe your product is yeah maybe your product is on fire and they know that um they need you to keep the lights on and fix bugs and put out fires and meanwhile they want to develop the next generation and so they can't afford to take you off the firefighting so in come the contractors sure i can see why this would wreck morale because it's new no matter what it is it's new exciting stuff that you don't get to work on that someone who isn't part of your group gets to work on right someone from the
Starting point is 00:20:47 outside uh so it could feel like you're not trusted i can see that yeah me too how does the rest of your team feel about this it sounds like you are definitely bothered by it but does anyone else care do they not worry about it i mean bad decisions happen all the time i guess so it's not weird that someone made this decision that seems bad to us but it does seem weird that no one seems to care that much about it yeah you're the only one maybe they just don't appreciate the gravity like you do yeah or maybe you have an inflated sense of anxiety like i do you get paranoid whenever a decision is made by management on any subject yeah what they didn't outsource our architecture to the team overseas oh no we're doomed
Starting point is 00:21:39 the flat thing really makes it tricky because normally the way you decide stuff in flat organizations is consensus it's not actually flat though so if you go around and talk to all your co-workers and you organize a mob and then have pitchforks and get all upset then then i don't think that will go well because that's not how this decision was made i thought when you said if you organize a mob then you just created a hierarchical management structure where you're in charge oh yeah that's true you've replaced your manager you you've anointed yourself middle management over the mob pirates have a word for that as well a mutiny that's right oh you're right yeah punishable by death by the way well that's true i think the core thing of deciding what to
Starting point is 00:22:28 do is how willing are you to push back on your manager and and how willing are you to leave if they don't change because you you could kind of organize opposition to it and make it a big thing and bring a lot of uh in a way that makes them not feel defensive bring a lot of data that that shows hey this is a bad idea everyone will be sad you'll lose employees they could fire you they could do nothing they could change their mind it it is going to be a lot of work i guess i'm just wondering i mean is there is there any other outcome besides trying to convince the manager not to do this with with i don't know i whatever it is it begins with a conversation with this manager i think and you might just be uh confused you might not have all the complete story about
Starting point is 00:23:19 what's actually happening you know yeah i think i'm more willing than you are to slap the mutiny button let's do this took away our free startup water mutiny insta mutiny there's a startup idea it's like meetup.com for mutinies okay organize internal rebellions at your company for only 29.95 a month per rebellion yeah yeah so i think you're talking to the manager ideas is good i don't see it changing just the way this question was worded i feel like this seems like a pretty done deal that the manager seems pretty excited about and maybe i mean we're filtering that through a lot of lenses but but i don't see you saying why are you doing this resulting in the manager
Starting point is 00:24:19 having an epiphany and saying this wrecks my team's morale and and it makes them sad and it might be better to go slower but have the team own it or whatever the trade-off would be but i well i guess you said the other outcome is you understand some context you didn't yeah i don't feel like i have anything useful to say here okay that's what i'm realizing after rambling about this question a lot all right except the pitchfork thing that was pretty useful yeah i mean that's that's generally useful anytime anything doesn't go my way i reach for the pitchforks the first thing i reach for yeah i have a lot of pitchforks all right well should we call that one answered put on your i mean i stabbed it with a pitchfork
Starting point is 00:25:01 yeah that's my go-to solution put on your mutiny hat and grab your pitchfork all the tires of my cars are all flat because every time there's a problem with my car i just stab with pitchforks it hasn't worked yet but maybe next time it will i just need to stab some air into the tires okay good luck i'm sure you'll solve this problem absolutely one way or the other oh yeah this will not be unsolved for long yeah if your morale is wrecked yep that's true uh yeah usually i just stab my morale with the pitchfork it gets better until it re-inflates okay um we got a lot of questions oh thank you for that it was like quadruple volume this week
Starting point is 00:25:54 we are overwhelmed inundated even and we want quadruple that next time that's right keep them coming hockey stick growth yep so keep them coming yeah thank you so much for those questions if people want to send in questions dave what can they do go over to our website at softskills.audio and click on Ask a Question. Also, on that same website, you can see every episode we've ever published. You can stream them right on the website. And we added a comment feature,
Starting point is 00:26:19 which I had forgotten about for a while, and I just went back and perused a bunch of comments. There's some very interesting content there where people have added extra points that we forgot or corrected us on things. It's good stuff. So if you have a correction or a note or something you want to add to a discussion,
Starting point is 00:26:33 go hit us up there at the bottom of each episode page. You can put whatever comment you want. Within reason. Yes. there are limits you probably can't like paste the text of i don't know the brother's car into the comment box you could try it would be too long you can test discusses front-end validation algorithms all right i think that means we're done we will catch you next week see ya

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