Soft Skills Engineering - Episode 56: Keeping Meetings On Track and Designer-centric Culture

Episode Date: April 18, 2017

How do I keep meetings on track? I work in an agency with a designer-centric culture. How do I make myself heard? Dave and Jamison answer these questions: ...

Transcript
Discussion (0)
Starting point is 00:00:00 It takes more than great code to be a great software engineer. This is Soft Skills Engineering, the podcast, episode 56. I'm your host, Dave Smith. I'm your host, Jameson Dance. Soft Skills Engineering is an advice show where developers write in with questions and we provide answers. But nothing technical, strictly the soft side. It's also weird. We did a live show last week. and it's it's weird to be back in the comforting embrace of my screen away from people
Starting point is 00:00:30 the solitude the embrace of solitude yeah i think i forgot to have stage presence because i'm so used to recording this in my office and i can just like stare up at the ceiling while i think so i probably weirded out a lot of people that were there but thank you all for coming yeah it was a great show and uh i actually had a lot of fun and the audience participation was kind of cool too yeah we didn't even think about it but we just asked questions rhetorically and then people answered them we're like huh oh good answer yeah thanks well i'll see if that works today right now just throw out an answer and maybe someone will pop their head into your office yep yeah uh yeah do you want to read our first question dave yeah sure so uh here we go it says
Starting point is 00:01:13 lots of my meetings seem to have that one engineer who is dead set on pointing out esoteric error conditions that drag the meeting into a rabbit hole of unimportant discussions how do i keep meetings on track while still balancing a healthy respect for the people who want to voice concerns how do i do this without shutting down legitimate discussions and important cases case in point twice this week i've been in a design review meeting where an engineer dominated about half the meeting with error cases that turned out to be unimportant what's worse this engineer is very experienced and has lots of influence i heard other engineers complain later that the meeting time was wasted because we didn't get to discuss some of the most important parts of the design
Starting point is 00:01:53 i'm still pretty new but i'm experienced enough to know that this engineer was wrong to drag the meeting into these rabbit holes what should i do i've talked about before how i'm famously grumpy and impatient in meetings so maybe if you just amp that up and just glare and just i don't know what a grumpy aren't there like little angry clouds over grumpy characters and cartoons or get a cardboard cut out of an angry cloud and just hold it over your head yeah hold it over your head or the anime teardrop is that when they're angry that might be when they're surprised yeah or happy yeah that might be mixed messages anyways just an aura of imminent violence that could solve your problem i'm gonna guess that if someone is derailing a meeting this bad
Starting point is 00:02:42 they're probably not paying attention to your aura your aura isn't strong enough in the book snow crash one of the main characters has a giant tattoo on his forehead that says poor impulse control um so maybe you need to do something like that it's like hey i'm capable of anything if you bring up this little tiny linting error one more time in the meeting yeah your face will be a linting error. Oh, don't do that. Yeah. This is, this is tricky because it depends on your role in the meeting. If you're a manager, it's a lot easier to feel like you can step in and ask people to keep it on track without offending anyone. And even then you still might offend someone, but there's at least some expectation of, okay, like this person can do
Starting point is 00:03:28 that. But if you're a team member or a junior team member or something, then you might worry about people feeling like you're overstepping your bounds or something like that or maybe you're just wrong like maybe these are important rabbit holes that need to be gone down you just don't have enough context to know what's important and what's not have you ever heard that rule well rule is a strong word have you ever heard that guideline about good code where all of the code inside a method or a function is supposed to be at about the same level of abstraction nope i only write terrible code so okay that's a thing uh like if you have some code for reading and writing files i don't know it shouldn't be diving into like low-level bit twiddling and then file system
Starting point is 00:04:13 manipulation okay i don't know it should all be about the same level of abstraction and anything lower or higher should farm it out to a different function that you make sense yeah i think that so i think you can kind of apply that same principle to a meeting that the meeting should have a purpose and and things related to that purpose should be at about the same level of abstraction and if you dive really deep into something that's a good sign that it needs to be in a different meeting oh to not derail things too much does that concept of keeping things at a cohesive level of abstraction have a name probably if it has a name it would be so much more powerful to use in a meeting because you could say hey i think we've we're violating the
Starting point is 00:04:56 x principle i can't tell if you know the name and you're trying to lead me to think of it remember five minutes ago i didn't even know what you were talking about that's still true yeah i'm sure it has a name i just can't think of it uh someone please tell us what the name is yeah because you could drop that name and even in the beginning of the meeting you could set up a ground rule to say hey uh for this meeting we're going to abide by the x principle and we're going to keep the conversation at this level of abstraction yeah and i don't know that that has to be an absolute rule there might be some meetings where you say we are going to solve this problem and we're going to go down as many rabbit holes as we need to solve it all the way
Starting point is 00:05:34 sure sure i think for most meetings that's but in that case you're just saying that for this meeting we're going to go all the way down the abstraction stack yeah yeah right well especially they mentioned a design review meeting which i imagine has lots of different people in different roles and sure the deeper you rabbit hole on engineering stuff the more people you're leaving out that don't understand or care about that yeah yeah exactly you're wasting more time yeah i'm actually super sensitive to this um when i start making comments in meetings uh i will often preface them with apologies do you do you ever do this where it's like i'm really sorry if this is the wrong topic for this audience but dot dot dot and then i launch into my my thing right
Starting point is 00:06:18 you just say it anyways yeah of course that's why i apologized it doesn't count you apologize yeah exactly that's like if you put a comment above the function it's like hey i know this is bad yeah good luck then it counts as good code the following is a hack i apologize yep this is so maintainable suddenly um but but anyway that that's what i do and so i think i think maybe some engineers are more sensitive to this than others because i could imagine other engineers well i can't i don't have to imagine i've seen this it's like they have this notion that they're they have discovered a hole that needs to be explored and solved and and it seems to be very important but
Starting point is 00:07:05 it turns out it's not especially for this particular audience like it's very hard sometimes for some engineers to uh what's the word like balance the importance of the thing that they are bringing up against the particular audience that they're bringing it up with like can these people actually solve this problem yeah yeah we spend so much time thinking about the right way to do things and and it can be easy to get stuck on the correct way like capital c correct and and not think too much like you said about audience or about context or about the cost of correctness yeah yeah i remember there's some little internal api thing that we were making at my one of my first jobs and uh someone submitted pull requests to change it and i found some like little security
Starting point is 00:08:02 bug that if two things happen within the same millisecond then and like they had already hacked into our vpn and a bunch of other stuff but anyways under a very specific set of circumstances like bad stuff could happen and you probably felt very proud of yourself at that i was so proud i was like this cannot stand it's irresponsible and and to change it would have taken a lot of work and i was uh correctly ignored i believe like that it doesn't matter but but i was i i felt myself get trapped by this idea of like this is what is right and people need to know and and it's not an effective use of my time yeah that's true but only in hindsight i just ignore all security things so to avoid that problem you solved the meeting problem though i well there
Starting point is 00:08:52 are different meetings now security postmortems are a little different yep so do you think that the uh when time elapsed for you did it suddenly become less important like in hindsight were you able to look back and say it wasn't that big of a deal uh yes 100 that also looking at wider um pieces of the system or having responsibility for more people i was able to recognize like i don't know just help me put it into perspective like we have bigger issues to deal with then yeah then you're one millisecond hacked vpn security bug yeah yeah so i wonder if i mean there's there's a balance there because sometimes those are real very important things that pop up as little tiny things and then you realize nope this is a big
Starting point is 00:09:45 deal but so i'm not in that case i've seen this concept called uh parking lot in a meeting have you ever seen this uh-uh so this is where like the meeting has a purpose i've seen it used in daily stand-ups um the meeting has a purpose in the case of stand-up you know you're sharing status you're identifying blockers and other things and it's supposed to be pretty fast but then if someone has a topic they want to go deep into you have this thing called a parking lot and you just like write it on a whiteboard you write the word parking lot and then as people bring up topics or think of them they just write they just walk over to the whiteboard and write them down and then the meeting just progresses normally and when you get through the main
Starting point is 00:10:21 business of the meeting then at the end you visit the parking lot and say okay what topics do we have and i've noticed that sometimes people will write down a parking lot item but then by the time the meeting is finished uh they'll they're like oh never mind that got resolved you know and it's like it just naturally happened uh because that you know it was just going to happen anyway and so we avoided derailing the meeting by simply making it a little bit more asynchronous and deferring deferring the uh basically we use lazy evaluation for meeting when yeah okay so so the parking lot is stuff that you think you want to talk about but you're going to hold it until the end exactly okay so so people aren't like responding to what you write with answers
Starting point is 00:11:07 they're just adding more topics when they go right it's just a list of topics okay interesting and i was thinking maybe you could even impose your own little personal parking lot where maybe an issue occurs to you in a meeting and rather than raising your hand and speaking out right away you just write it down on your notes and wait make sure that five minutes go by before you bring it up after five minutes if it still seems like a pressing concern then maybe it's worth bringing it up to the meeting group you know like a self-imposed cool down period yeah how will people know that you're smart and important though if you don't stand up and interrupt them with your concerns i think you may have just found the crux of what's
Starting point is 00:11:50 actually going on in this college situation um there act there is this this idea in fact i was reading an article just yesterday that said like how to um oh what was it it was like how to participate in meetings and one of the objectives was to make yourself look smart like the author just came right out and said it and i just kind of props to them for admitting what everyone thinks already that's true right like on the one hand good congratulations but on the other hand like it just made me feel a little bit sick because it was like what is the purpose of a meeting really is it just a bunch of engineers who are on the same team to come together and and uh like one up each other with how smart they are or are you really trying to solve a problem
Starting point is 00:12:37 like what where's the focus yeah so that made me sad a lot of these suggestions um would be easier to implement if if you're in a position of authority you can just say hey we're keeping this meeting at the same level of abstraction we have a parking lot for ideas at the end that don't fit into the agenda uh please give it five minutes or whatever i mean what do you do if if you're just a humble everyday team member and you see this derailing happening you just get up and leave you just walk away yeah but or flip the table on your way out and then you know just to make sure people know i thought you were going to say flip the situation and take the other person out i stand them up and march them out of the room okay so let's say you're you're a humble
Starting point is 00:13:25 engineer maybe you're a little less tenured than the other people in the meeting this is where you employ in my opinion the tactic of the question where you ask like hey is this like basically you're just trying to baseline hey is this normal like trying to come across as you're curious if this is how things are supposed to go and you can use your newness your new status to um kind of play dumb a little bit and like maybe it's really clear to you that this meeting is off track but if you just ask the question like hey is this the right topic like are we are we doing what we need to do here just want to make sure i understand you know um suddenly people might get introspective and go oh yeah you're right we're we're off track instead of asserting
Starting point is 00:14:11 it right you ask it yeah you got to be a little more indirect maybe i mean it sucks that it is that way but i think people respond better when you ask rather than just like saying you're off task yeah i think that could definitely work especially if uh it feels like this kind of thing happens a lot with kind of the the alpha engineer types where they're smart and sometimes difficult to work with and so you might have to handle the situation delicately you might also just be able to say like hey i feel like this is off task some companies have a culture where um everyone participates at kind of the same level in meetings and there's not like the boss meeting runner person it's just everyone gives feedback and and gives input and then you might
Starting point is 00:14:59 you might just be able to say hey can we do this a different time and focus on the main thing yeah yeah well did we answer it um i think so it's hard it's a hard situation but yeah solvable solvable with the right level of rage yes with the right level of rage and facial tattoos all right question answer i will read the next question i have worked for several agencies with very designer-centric cultures in these cultures developers are treated as second-class citizens reduced to digital construction workers whose concerns on the product are not given the same consideration as those of the designers i believe much of this to be subconscious and i do not like to think of us as warring parties, but I really don't enjoy when my concerns as an engineer are
Starting point is 00:15:47 not given their proper weight in collaboration. I strive to be upfront when pointing out significant technical challenges, but also gain little to no traction. I've failed so often that I've learned the most effective method for moving a designer off of a bad idea is to build the broken idea and let them use it. Once they see and experience the broken idea, they generally change position and the product gets better. I've found no better strategy for handling this situation. My question to you is how do you handle this matt that is like maximum passive aggressive right ultimate maximum passive aggressiveness would be to purposefully build a broken version of an idea that could work because you don't like it okay good and then say like hey look it's it's broken
Starting point is 00:16:28 this is like one step away from that yeah don't do that uh that must feel awful to build something that you know isn't going to work but you just kind have to crank it out anyway yeah that's yeah you just doomed work this is not completely doomed because it's theoretically helping make the product better but yeah but it's just feel it's like a lot more effort than you think it should be put in because you could just say yeah it's not going to work or it could spend two weeks building it and show you yeah so i've never worked at a place like this where design um felt like it ran the company and the developers were second-class citizens i have worked at places where everyone besides the developers were
Starting point is 00:17:13 second-class citizens and it sucked yeah yeah it's yeah i get the impression that's pretty common actually yeah me too i don't know what to do about it but it feels weird um so i i guess the point is uh welcome to the rest of people's jobs in the tech industry this is how like sales and marketing and and qa and support all feel at tech companies just soak it up and develop the empathy so that later when you're on the other side of the equation you aren't a scumbag yeah yeah i'm i'm pretty sure medium sure that the design team is not actively trying to be scummy um how do i put this i feel like i've seen situations like this where um there's some conflict between two groups in the company and and i would suspect that design
Starting point is 00:18:12 has some complaints about engineering like your complaints are they don't listen to our product ideas and so we do extra work and i i bet there's also some complaints about how i don't know the the engineering team never builds the right thing that we tell them to build or they they push back and make us take too much time because we have to go through all these cycles or something but i feel like there's this kind of this communication mismatch where uh it sounds like you have tried already to just say hey i would like to give more feedback earlier in the process and they just might have said no or not done it but it still feels like there might be some room to sit down and say how do you feel about engineering how how how do you feel about working with us what is
Starting point is 00:18:56 upsetting to you and and have an open conversation about it and as part of that you could share this feeling um if the goal is to build better stuff faster it takes a long time to build an idea completely even though you know it's going to be broken and have all these problems so you could save a lot of time if you give feedback earlier and there's probably some things that you could do that would make design happier also so there's some kind of give and take there yeah yeah if you discover their their issues they might be more motivated to um to respond positively to your suggestions yeah totally i i have seen this uh this kind of situation where i've been in the engineering shoes and i've been working with a designer the designer gave me some mock-ups or
Starting point is 00:19:45 some wireframes. And I like I immediately latch on to a problem that I that will cause a usability issue. And the designer is working at like a very high level of abstraction, usually, like user goes here, user goes there, then this happens, you know, and, and I'm thinking, okay, well, what if that first step goes wrong, then the second step needs to change in these three different ways, you know, and the designer just hasn't really considered that. And so to me, it's like, it comes to my mind immediately, right? And I start identifying all these problems. and sometimes i think i get impatient with people because i don't like the idea is fully formed in my own head but i haven't taken the time to really explain it in a way that will be concrete and clear
Starting point is 00:20:25 for the designer and that may be the situation here especially since uh this listener has gone to the extent of actually building the broken thing to show them like sometimes you do need to show them but maybe you could show them in a way that doesn't take the full project time to show them the broken thing you know like whip out a quick prototype maybe do some pictures you know who knows but make it concrete because sometimes this feedback will be clear in your mind but it's just not clear in the other people's mind yeah that that makes sense and and that could help build up more trust too if you do that enough times faster then they might start to require less upfront effort to prove that your concerns are valid yeah exactly and and maybe so like i was
Starting point is 00:21:13 thinking to myself well why don't they prototype this and you know maybe the designers should be prototyping and then i thought maybe this developer is the prototyper so like maybe the designers are coming to you with this expectation that you'll whip it out quickly and then any problems will become obvious and then they'll iterate on the design so like maybe from their perspective everything is working perfectly you know you just didn't realize that you actually are a prototyper not a product developer yeah and and again that's another argument for sitting down and talking about this explicitly i i love that this question asker said they don't like to think of us as warring parties because it's so easy to just put up your walls and i don't know form your
Starting point is 00:21:55 tribe and say engineering is being stymied by the designers who don't respect us and then you grumble about it among yourselves and then you hear the designers grumbling about it and suddenly there's politics and you're not working well together so i love that instinct to avoid that because that's good i i think it's uh it's not the default it will require active effort but if you can do it you'll work so much better together if you have more trust between the two groups yeah Yeah. So at a previous job, I actually had a little bit of a similar situation. And what happened was product managers and UX designers would crank out these really high fidelity mock-ups and wireframes. And then as developers, we would just sit back and build them, you know,
Starting point is 00:22:46 pixel for pixel. And like, they would be super proud if we cranked out a pixel perfect implementation of their designs. Like it was, they were just so happy with that. And so we got this incentive system where our job, where we were rewarded, was to crank out something that exactly replicated what they came up with. And it got a little bit of a vicious cycle because we turned off our critical thinking skills. And we got to the point where we were just building exactly what they said because that was both the least friction and had the highest rewards because we were both really happy with the outcome. um but we just stopped giving critical feedback in the early design phases and uh i think in the end the product suffered as a result of it because we kind of shut off shut that off i've uttered the phrase uh like assembly line programming or something like that you just take
Starting point is 00:23:38 trello feature factories off a board or yeah yeah in a negative light but it also does sound comforting yeah there's a very clear marker for success which is not is the product doing well with users is the company doing well it's like am i completing these very clear tasks fast yeah yeah like does the product match the spec yeah yeah that's that's a lot easier to measure than like are we making money yeah or do people like it yeah like i remember that at one point there was a bug that a customer reported and i went back to the product spec and i was like nope the spec says it's supposed to work that way so you can't log this as a bug in our bug tracker you have to make it a feature request i probably defeated that customer yes we win gotcha that is the worst
Starting point is 00:24:28 yeah yeah it's definitely a lot more effort and not every engineer has to be super product focused but i think an engineering organization should be product focused overall which requires uh better communication because you if you're going to give critical feedback you have to make sure that people aren't offended and that they understand how to take it and i don't know yeah it's just more complex but it feels like it results in better products i don't have any hard data on that it just sounds better sounds good feels good must be true yeah when yeah my gut says it's right your gut does pretty good things though i'll be honest i mean it digested half a pound of popcorn yesterday so that's pretty good yeah it's doing well
Starting point is 00:25:13 when when i talked to my former engineering leadership about this like feature factory situation that i thought we were in you know they were like aghast you know like no engineers have valuable input into this process and we absolutely should not have them shutting down their critical thinking skills just because a product manager or UX designer has presented like a high fidelity design. Instead, they should absolutely be critical and help contribute to this design process. And I would bet that in this situation, even though you're at an agency, if you went to leadership, you might be surprised to hear their opinion on the situation. That's a conversation I would have. Like I would say, what do you see the role of designers and what do you see the role of
Starting point is 00:25:58 engineers do you see engineers as implementing the designs or collaborating with the designers to build the best product some of it might depend on the kind of agency as well there are some agencies that do marketing sites or they're a lot more content focused and then there are some agencies that do more kind of contract product development and it feels like the back and forth iteration between design and engineering is a lot more important in while still valuable in kind of the content site model it feels a lot more valuable in the product development model yeah yeah if you're trying to build a better product faster for a client uh it could save you money and you could have higher margins and and get a better reputation and stuff but if if you're
Starting point is 00:26:45 trying to make pretty things quickly um then then design kind of does run the show there and that could be the case here yeah in which case you could apply soft skills engineering go to advice quit your job and get a new one one question i have having never worked at an agency is what what do you like about it um i i would love to hear this from listeners who've worked at these kind of design focused agencies because it seems like it would be hard to get satisfaction in lots of small tight deadlines of like we got six weeks to crank out this thing for a movie launch and then we're building this new site for an e-commerce company and uh like fast iterations high pressure it just seems
Starting point is 00:27:38 unsatisfying to me but there's got to be something interesting and exciting about it yeah i don't know um i think some people use it as a stepping stone um like it's not a permanent position for them it's like training maybe yeah like i mean it is a really good way to learn how to ramp up on projects quickly and just crank them out so that's true now there's that um but yeah i don't know i don't personally know any developers who work long term at an agency and the stories that i have heard involve a lot of turnover and even for designers too for that matter maybe it's like boot camp for for designers and developers where you just push really hard and then everything afterwards is easier but i don't know because i've never done it uh have we answered this question
Starting point is 00:28:25 i think so okay what was our answer um i'm trying to think back basically by my boot camp analogy i think there's a few parts like first of all is um try to find more concrete clear ways to express your concerns with the design earlier in such a way that the designers can understand them without having to go through the whole build of the product yeah like lower the cost of building that prototype that shows them your concerns yeah exactly yeah yeah that makes sense um and then the second one is talk to your leadership and see if this is actually the relationship that they want maybe maybe it is maybe it isn't and that'll tell you a lot about what you should expect yeah i think the third one is you want to develop trust with the design team and so you might need
Starting point is 00:29:18 to explicitly sit down and discuss this as a problem and and figure out what their problems are also yeah i think if you do that it might it might unlock some issues that you can resolve that will help make the situation better yeah okay we have answered the question question answered where can people go if they want their questions answered dave they can go to soft skills.audio our home on the web where you can ask a question by clicking on the ask a question button you can fill out as much or as little detail as you want we have been getting inundated with questions actually the last couple of weeks so sorry if you haven't heard from us uh we we're trying to process the backlog but um it's actually a lot so that's a great problem to have and we're super
Starting point is 00:29:58 happy to hear all these crazy awesome questions also follow us on twitter at soft skills eng and tell your friends and we have stickers if you want some just send us your mailing address you can send us like a post office box or something if you don't want us to know where you live which i totally understand and we'll mail them to you we i sent out a batch of uh stickers last week actually and we'd be happy to send you some more and you can put these on your laptop or on your face and um anywhere Yeah, anywhere you want. They're really sticky.
Starting point is 00:30:29 Yeah. They literally stick to things. They stick good. And, you know, you can hand them out to your friends. Maybe you run a meetup and you want to hand them out. That's cool. So just let us know and we'd be happy to send them to you. All right, we'll catch you next week.
Starting point is 00:30:44 Thanks, bye.

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