BrandGhost

UNEXPECTED People Can Be The BEST Partners In Software Engineering

Have you ever worked with teams where you feel a lot of friction? It's totally normal, unfortunately. This is common when attempting cross functional collaboration with cross functional teams. Friction can arise for many reasons, but ultimately, I feel it boils down to ONE thing. Let's see how we can transform friction into powerful partnerships! Have you subscribed to my weekly newsletter yet? A 5-minute read every weekend, right to your inbox, so you can start your weekend learning off stron...
View Transcript
so for the past three years I've been working remotely for Microsoft and this past week we actually had a lot of people traveling into the office it was a really good opportunity for people to meet up now I have this one particular team that I work with and we have a lot of friction in the work that we're doing so there's a lot of emails and stuff that go back and forth and you can tell that people aren't totally aligned on what they're asking for what they need and you can kind of feel the friction in the messaging so this past week I had a meeting scheduled by this team where they invited me into the office and I got to meet with them so the way that this worked is that I went into a meeting room that was kind of hidden within a little team neighborhood so kind of felt like a little back meeting room I sat down with one person and then the other person from their team joined us and right away I kind of felt like okay it's two against one like what's gonna happen here because like I said we've had some friction working together so I'm already a little bit nervous but here we go and the first thing that these two say to me is thank you so much for your partnership so right away I I go from being like Oh my God I'm really scared I'm really nervous about like how much they're going to be grilling me how frustrated they're going to be when they're talking to me and the first thing they say is thank you it caught me off guard but to be honest it was really relieving and they started explaining that in the past little bit of us working together when I started actually chiming in to participate in some of the activities we were doing and trying to get some alignment they actually really valued that partnership they started to actually feel heard now throughout the rest of this meeting one of the individuals was extremely passionate in what he was talking about because we're working on a project together and he was looking very serious and he was looking me right in the eye and his voice kept getting louder and he kept seeming more angry but I was sitting there wondering is this individual actually mad at me because I think we're agreeing on the same things and it turns out that by the end of the meeting he ended up saying again thank you so much for all of your help and I realized despite the roller coaster of emotion and all of the energy in the room that they were actually very happy to be working with me so I wanted to share with you this story because I wanted to talk about building Partnerships in software engineering today and I think that this is an important topic because a lot of the other content that I put out is about programming but you've probably seen other videos where I do try to bring in software engineering topics and I think that this is a really good one because I'm not going to talk about code at all today I want to talk about working with other teams and finding Partnerships in the least expected places so I'm going to give you a little bit more context about my interactions with this team so that you can understand the landscape that we're working with so my team operates as a platform I actually have a couple of teams that I manage that operate as platforms and the way that this works is that we have other partners that use these platforms and depending on the platform part and the teams these interactions and relationships can look a little bit different with this particular team their team had expectations about how our platform was operating and the things that we on my team would be responsible for and conversely my team and how our platform Works had different expectations about how this team was integrating with our platform you can already see that if we have two different perspectives here it's a great opportunity for friction to arise and I think historically what had been happening was that you know an email chain would start and you could tell that the people were kind of frustrated with something that was happening and this is normal right when things are happening that are not expected people get frustrated it's not like they're yelling at us or anything like that but you can kind of sense that people are unhappy about how things are going and that's totally okay but this type of thing seemed to be continuing on and to layer on another facet to this we actually had another project that we're collaborating on and in this particular case it was another opportunity where this team was depending on us and this is a particular project that from my group's perspective I'm sort of leading this effort I'm not leading the entire effort I'm just one part in the larger effort but from my platform team's perspective I have a responsibility here so this team that I was just referring to was coming to me sort of having a lot of issues in what was going on with the project and that's kind of the lay of the land before we started kind of working together and making things better so I want to walk through something that happened I want to say for me it was almost accidentally but it was about transforming this relationship that felt like a lot of friction into something that I feel like is extremely positive for both of us and we feel like we have a really solid partner working on this project and our efforts together going forward so I would love to take credit for this like I went into this scenario being like oh I totally see what's happening here I'm gonna make everything better but like I said it was almost accidental but for me I was focused on kind of what I think is just you can just use air quotes here like doing the right thing so what I started to observe was first in this particular project that I was responsible for I started to notice the friction specifically coming to me right when the other friction that I was talking about with the broader team was coming up this is something that I felt like okay there's other individuals that are dealing with this they're navigating it I can't possibly be in every conversation and I have full you know confidence that other people on the team are navigating these things so be it but on this particular scope down project that feedback was coming directly to me and I started to notice that it was repeated and it was getting worse so the feedback that would come to me I could tell a lot of frustration a lot of opportunities where it felt like hey like we expect this of you and why isn't it happening right like isn't this what we agreed upon and I started to realize that we were not having clear enough communication like those expectations weren't being set and what I wanted to call out and change was that we were doing a lot of communication about these things over email and I said okay I think the first step that we want to try taking here is actually getting on a call together because however we're communicating right now doesn't seem to be effective and I'm not saying that email Isn't effective in general or chat messages aren't effective but in this particular case it felt for me like we kept doing this same pattern and it wasn't getting better and it's not like I wasn't receiving the emails or they weren't receiving my responses it's not the technology was failing I think we were just using the wrong tool so what we started doing was getting on some calls and saying okay like walk me through what your expectations are here because clearly like we're both feeling friction we want to address where these missed expectations are and as we were navigating this we started to realize that in this particular project this team had expectations of us that they also had expectations of in the broader scheme of things and those expectations actually did not hold even there so this was interesting we started to identify that the partnership between our team like that interaction the integration we have we actually already had a misalignment in the broader scope never mind even for this particular project so this is really interesting because now we could go looking at this from multiple perspectives one was for moving this project forward and the other was just in our normal interactions we have some gaps that we have to go figure out and I wanted to call out this part in particular because I think it was a good opportunity for my team and their team to realize oh crap like some of the things that we're feeling friction about we actually realized that the other side sees it a different way and we actually are hearing and seeing their perspective now not just reading emails and being like oh these guys again or from their perspective like these guys never listen to us we started to understand where those gaps were and I think that they appreciated that we were willing to take some time to actually address working through these gaps it wasn't a matter of like Hey we're busy and you guys are clearly in the wrong about these expectations like go deal with it and it also wasn't the opposite end of the Spectrum which was like okay we'll drop everything and make things better it was in the Middle where we said look we see things differently clearly so let's make sure we spend some time we'll spend extra time together we'll sit down we'll talk and we'll start going through these different expectations that we have in all of our integration parts so that was the first part I think they really appreciated that the second part was more specific for this project that I'm responsible for and really what's happening is that the misaligned expectations are actually starting to gate their ability to deliver things in this project as well so given the scope of this project there's going to be different um uh I guess influences of pressure right like people have expectations on my team their team is one of the teams that has expectations and you know they're trying to meet deadlines and things but I have other stakeholders that are depending on me as well the same thing applies to their team so you can imagine not only are they fresh frustrated that they're getting blocked by my team and specifically for me but they're also getting other people asking them like what's the status of this because you're blocking us it's kind of like a chain reaction of like you know I need something from you because I need to give that to someone else just for the scope of this project so because they had dependencies on me and the progress that I was having was actually holding them up we decided that we'd have more conversations about specifically how we're going to work together to address the issues and this started by us working through a particular Challenge and they were proposing a solution that they felt would work well for them and from their perspective it would actually work well for other partners that we're interfacing with and not just them but as we were working through this we came up with a couple of different like short-term medium-term and long-term strategies and what we realized was that currently no other team was in a position where they were bothered by the status of the project they might have a similar dependency on us but in terms of the urgency see in the timing they were able to continue on and at the pace where we were willing to solve the problems that we're working through for this particular team the team that called me in to feel like that interrogation that totally wasn't an interrogation they had a dependency and an urgency that was a lot more immediate in fact they were completely blocked from making any progress until they had something in place so this part of this interaction actually involved us kind of navigating some different solutions to these challenges like I said these different time Horizons and what we discovered is that for their solution that they were proposing it wouldn't be sustainable for us but we did agree that it would make sense for them to go with in the short term and of course while this wasn't a situation where it was like Hey look you know my team is going to do all the work for you to worry about it so sorry it was really a kind of a situation where we were like this doesn't really apply but we'll work with you on coming up with the solution and we all agree that it makes sense for you guys to go work on and they did and it worked and they were happy and the other reason that they were happy is because we had this other part to the conversation which was hey look we understand this is a temporary thing we have these two other plans coming up that we think are going to help alleviate that pressure for you so it was really this balance of like yes we hear your challenge yes we appreciate your solution Your solution is not something that's going to be sustainable for our team so if you want to go with that we do think that we have these two other follow-up Solutions and we tried to give some timelines that we think when we deliver on them they'll help you as well and we collaborated on this right so it wasn't in isolation where it was just like you know go away you go figure it out not our problem we had conversations about it we exchanged a lot of emails and some designs and we worked on it together ultimately they implemented it and ultimately they unblocked themselves but we did work together on coming up with what we thought would be a good path forward and I feel like this part was really a start of forming this partnership where we were transforming some of this friction into like a positive momentum uh the point that I made before was about transforming some of the communication style from email into calls I think for us that ended up working really well and going forward I've noticed that there's been a couple times where an email will pop up and it's like hey like you know same pattern like this isn't working or what about this I thought we had this expectation and I'll put my hand up right away and just say hey let's get on a call right because I think that for our teams working together we've had just challenges with emails conveying the right meaning the right urgency and the different expectations that we have okay so how can you apply this in your software engineering if you're working on teams or if you're experiencing friction with different teams I think fundamentally this all comes back to expectations now a lot of you don't actually know that I have a podcast it's called Dude where's my code we had to pause it for a little bit just because my partner had some really exciting life changes in the beginning of the year we're going to revive it soon but one thing we talk about in Dude Where's my code episodes almost all of the time is expectations we talk about software engineering management and expectations come up non-stop it's like one of the key sources for friction unhappiness whatever it happens to be disengagement it's it always comes back to misaligned expectations because people have a different Viewpoint and when that's not being met that's when the friction starts to kick in right because you're expecting something that's not actually what's either reality or what someone else is working on for alignment so if I'm working in this direction and you're working in that direction but we both expected we were going this way like it's not going to feel good for either side right now when it comes to expectations and friction and working in teams I think that when you start to experience friction with other teams instead of going to this place where you're like I don't know like creating an Us Versus Them dichotomy where it's easy for you to talk with people on your team and be like oh these guys again or you know I hate working with this team or these guys are annoying whatever right instead of going to that and I feel like that's kind of a normal tendency as you know as humans when we're getting frustrated by something it's easy to be in that position where you're like you're frustrated by it right you just don't want to deal with it they're going through the same thing they're having the same type of experience where they're like oh man I hate reaching out to this team these people never respond whatever right you have friction that's being created try to lean into how do we align on expectations because I can almost guarantee when this friction comes up whatever teams that you're working with it's probably because expectations are different now when it comes to aligning on expectations think about like I was going through your Communication channel this team was repeatedly trying to reach out to us expressing frustration expressing where they felt the expectations were misaligned and I think that the reality was that the email was not delivering the um sort of the the intent of the message is strongly as it could have in a conversation so no fault of theirs but that was the one subtle change that I feel like I made which was if we get on a call so we have a different mechanism of communicating I think that the urgency or for the um sort of the magnitude of the friction will come through a lot more clearly and I strongly encourage you to think about when you're experiencing friction with other teams like think about how you're communicating right um me I'm just going to make up another example maybe it's someone on a different team is always shooting you a message on teams or slack or some other messaging platform and you're getting frustrated by it because you're like why why is this person always messaging me like go deal with it some other way right like that's already an example of friction where you're like I don't want to deal with this but you could take the time to align with that person who probably has different expectations like hey look I can reach out to this individual they're easily accessible I can express my frustration or my challenges and I have a hope that they'll help me that's their expectation and yours is quite the opposite where you're like you know there's a good mechanism of communicating for this like raise it to um you know an email Alias whatever take the time to align with them instead of just going to this position of this is frustrating I don't like it and I truly think that when we focus on things this way you can actually find some really powerful Partnerships with people and teams that you never thought that you would align with and it sounds a little bit extreme I don't mean to say that this other team that I was referring to at Microsoft that I saw them as the enemy or anything like that certainly not the case but there was a lot of friction I'm not going to deny that and I don't think if I asked them that they would say that things were perfectly smoothly the entire time so I think that my point here is you can find some really good Partnerships when you have two groups or more two or more groups that are experiencing friction together because if you start aligning on how do we get through this friction you actually get positive momentum from both sides or if there's more than two groups you know all sides involved and in our particular case what started to happen is that we're now rallying together around common challenges right this team's depending on me I'm telling them I'm blocked and now we're able to work together to go to the next set of challenges as a cohesive group not just a matter of like okay you go deal with it they're very invested they're a primary stakeholder they're like hey look we'll help now that we know what the problem is or the challenges will help you get to that resolution and again I'm bringing this up because you can find these opportunities where you have you have frustrated groups whatever it happens to be and you Channel all of that like friction that's kind of slowing both groups down into positive momentum to go tackle other challenges together so I realized that some of this might sound like it's kind of like maybe it sounds a little bit silly like I'm talking about you know changing friction into positive momentum and it's like we're just talking about software engineering here like it's not really like that complicated but I think it is I think that the most complicated Parts about software engineering are nothing to do with code nothing to do with programming and quite frankly nothing to do with technology I think Engineers are brilliant people they can solve all sorts of problems I think they're highly motivated to do so and software Engineers especially by creating code and automation to do that I think the biggest challenges we face in software engineering come from sort of The Human Side of Things how do we interact together how do we align with people how do we get the same expectations and how do we work cohesively together on common goals especially when it feels like we have different priorities so I hope that you found this helpful I did want to walk you through a very real situation that happened to me recently because I thought it was a really cool evolution of you know teams that are experiencing friction and then coming together to actually Channel all of that into a really positive partnership where I honestly feel like I can go to them and I have full support that they will back me on trying to tackle challenges together so thanks so much for watching I hope you found it useful and we'll see you next time thank you

Frequently Asked Questions

What should I do if I'm experiencing friction with another team in software engineering?

I recommend leaning into aligning on expectations. When friction arises, it's often due to misaligned expectations between teams. Instead of creating an 'us versus them' mentality, take the time to communicate and understand each other's perspectives. This can lead to powerful partnerships.

How can I improve communication with a team I'm collaborating with?

I've found that shifting from email to calls can significantly enhance communication. Emails can sometimes fail to convey urgency or intent clearly. By having conversations, you can better understand each other's expectations and resolve issues more effectively.

What is the key takeaway from my experience with building partnerships in software engineering?

The biggest challenges in software engineering often come from the human side of things, not the technical aspects. By focusing on communication, understanding, and aligning expectations, you can transform friction into positive momentum and foster strong partnerships.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload