Soft Skills Engineering - Episode 3: What to look for in a dev team

Episode Date: March 21, 2016

In episode 3, Jamison and Dave answer two questions: What should I look for in a dev team? I don’t get enough done at work. I work on a small team that has aggressive plans for de...veloping its product, but I don’t feel like I get enough work done or move fast enough for the company.

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to episode 3 of Soft Skills Engineering, a podcast with me, Dave Smith, and I'm Jameson Dance. And we're here to give you some wisdom or at least wisecracks about all the everything else in software development, not technical stuff, the softer side of software development. One could say we put the soft in software development, right? One could say, yeah. One could be wrong, but one could say it. One could actually only talk like this from now on and one will always use one every time one has the opportunity
Starting point is 00:00:35 and then one will appear smart to everyone. One's wisdom overflows. One, the floating spherical cube of destiny demands tribute. Pay tribute to one. By soft skills, we just really meant how to get your coworkers to pay you tribute. Yep.
Starting point is 00:00:54 A listener last week named Matt Ryan has shared some feedback with us on one of the ideas we had and it was about the topic of influencing your team without being the team lead and he said that in this context I think the question had to do with an idea air quotes that might be to do something differently on the team which can often be interpreted as we are currently doing it wrong and therefore sound like criticism rather than a suggestion for a different way to approach things expressing the idea to your lead directly meaning we talked about doing this privately right gives them a chance to have a meaningful discussion without worrying about the team losing confidence in their leadership or
Starting point is 00:01:29 dealing with the team dynamic where it appears that open criticism of the leadership itself is okay which is probably not what the person with the idea intended but can often happen if brought up in the wrong context so we appreciate that man that's good feedback i think that that's that's definitely true you can often come across as criticizing when really you're just proposing a new idea without necessarily criticizing the existing stuff yeah that happens a lot with code too where you'll pull up in some file and just like oh my gosh this is so horrible oh what kind of monster could have written that and you can you can improve stuff without like tearing down the person who built it earlier so definitely definitely seems like that kind of idea thanks
Starting point is 00:02:11 matt for your comments and if you would like to give us a comment be sure to tweet us at soft skills eng where you can find all of our old episodes as well as communicate with us your hosts your humble hosts except for one one one is not humble the unhumble one all right so on to episode three okay jameson what is our first question for today uh here it is so this one's pretty short it's what should i look for in an employer or dev team all right this is short but i think the answer could be really long well i mean you only have to list a few different brands of free candy you're good uh yeah candy bars or or like genres of candy is that a thing
Starting point is 00:03:02 you could go with like your yeah your or your hard candies you got your wonka brand uh that's pretty much all i look for how about i actually look for employers that do not provide candy because that means that they're not trying to get you fat and and unhealthy um no this is a really good question this like so many other things comes down to personal values and i think it's worth um you sitting down and thinking of what your values are because there's there's kind of a spectrum yeah uh and you can make trade-offs along the spectrum if if you're really interested in money um then you'll probably have to trade that off for some things maybe location or the problem domain or or control over the project or
Starting point is 00:03:56 something like that uh if you're more interested in career growth or working with specific people i don't know there's just lots of trade-offs i think i can talk about what i look for personally Um, the, the things that are very important to me in a workplace are, um, I would say kind and, and smart people is the number one thing. People that are smart and can teach me things, but that will, uh, be easy to get along with and that I can have good relationships with. Um, and, and not everyone values that as equally. Some people value being challenged more and kind of having, having more conflict to produce
Starting point is 00:04:35 good ideas. And I've found that I just don't work well in that way. You don't like just tons of conflicts and fighting? Well, physical fighting is okay. Like if you just put on the sumo suit and just battle it out to determine who gets to pick the front end architecture, that's fine. No, I mean, I would say I value more collaborative environments over more aggressive competitive environments. I think most engineers are in your camp. Really? Because that's not what comes up in all the hiring posts I see.
Starting point is 00:05:05 it's all about like are you the ninja rock star champion godlike commander of the universe who can slay crush everything like who wrote those though uh some somebody someone in the marketing well somebody that works at that company right and that influences the culture uh well they may influence yeah i don't know i mean you're right i i do i hate those write-ups yeah in my experience like i'll see one of those billboards like are you an amazing ninja you know and then you go into the place and it's like these three unassuming software developers who are just like mild-mannered and you know i'm like wait these aren't ninjas well yeah rock stars that's uh once they get on stage they are these are their alter egos is what you're saying yes yes uh yeah
Starting point is 00:05:52 so so kind of the collaborative and and um and i guess environment focused on on learning and growth that's probably my number one thing that i look for and then the rest is just i think there are lots of signals that yeah a company values engineering and and will not be kind of a slave driver or just a kind of bad place to work for so this is a tricky balance because you don't you probably don't want to work for a company where the engineers are on this pedestal and everyone else kind of resents them because they get treated special yeah but you do want to work somewhere that understands that software is is different from an assembly line and you can't just like make people work longer hours or yell at them to work faster things like that so some idea of
Starting point is 00:06:37 software processes some some technical understanding they don't have to all be technical people but but just that the culture is is open to technical people doing good work yeah so i have a on this topic, I like to go super broad and then really narrow and specific afterward. My broad top three big things are, and they actually come from my current boss, who's very wise and experienced. His name is Lauren Larson. And he says three things. Number one, you'll be able to learn, which I think is on your list too, Jameson. Number two, you're passionate about what the company does, their mission. And number three, you'll be able to be on the cutting edge, changing the world in some way i don't want to just work for like a me too shop that just does you know
Starting point is 00:07:26 what someone else has already done well we're just going to do it again and try to take a slice of that pie you know um so those are i i think my top three when my boss vocalized those for me i was like yes that's what i've been thinking for the last 10 years but i've never really said it out loud like that sure um and then after i dig in on those three big things those are usually pretty obvious by the way um the much much more subtle and hard to figure out stuff is basically all comes down to one question which is how much dysfunction will this company have and every company has a certain amount of dysfunction in my experience and it's just a matter of figuring out is it a tolerable dysfunction will you be able to influence the dysfunction to make it better
Starting point is 00:08:07 or is it just awful right and i've got like a bazillion questions i asked to do that but So that's a really good point. Uh, I think a lot of people maybe suffer from grass is greener syndrome where they know very clearly what's wrong at the place they work and they imagine a place that doesn't have those problems and they forget that they're trading those problems for some other set of problems. So yeah. Can you talk a little bit about how you dig into the, the kinds of dysfunction that's there? Yeah. So one of the best ways to identify dysfunction is to talk to people in different roles at the company and ask them the same question and see if their answers align. So I usually talk to three different types of people,
Starting point is 00:08:49 call them personas. One is obviously you'll meet the other software engineers who will be your peers. You'll meet their leadership, like maybe technical leads or maybe their managers, maybe like director level people. And then you'll, if you're lucky, you'll get to meet company leadership, like executives, VPs, depending on the size of the company, it could be like a lower level manager, like a department manager. And I like to ask them some of the same questions. And the top one I ask is, how do you know what to work on each day? If that's what I asked the engineers. And I asked the management, how does your team know what to work on each day? And I love hearing the disparity between those things. And like if the manager describes a process or
Starting point is 00:09:30 methodology that just totally does not agree with what the engineers say then you know you've got some pretty serious dysfunction oh we follow the the seventh seal of the agile scrum band uh minor chord methodology to the letter we're very good at this and then the engineer's like i don't know i just kind of like google search our internal wiki or something i work on whatever the support team tells me is the most pressing fire at the moment uh well it depends on whether marketing or sales is tapping me on the shoulder that day exactly that's a good evidence of dysfunction now if you get a pretty consistent answer here and and that if they both also identify where their processes are weak in the same ways that's an excellent sign that your
Starting point is 00:10:18 management and your engineers are all on the same page and they're working on fixing things and improving things. That's a huge point. We've been doing a lot of interviews lately. And several times candidates will ask, what's the worst part about working here? Or what's something that you need to improve? And I feel like I try and answer that really honestly. And I think that's a good way. I mean, if they say there's nothing, then you know they're lying. Or just clueless. Yeah, that's true. Or maybe they just don't care. But that can be a good window. Maybe they came from a really crappy job and they're like yeah great well i mean i haven't been on fire yet so things are relatively okay all right and then if and so have you ever been at a at a place like doing an
Starting point is 00:11:04 interview and you ask what's the worst part about working here and they just give some like really awful embarrassing answer uh you know i haven't and that could be because maybe i've screened places that i interview at or it could be because i'm just easily deceived and they're like uh this guy, he'll just believe some fake answer I give him. But yeah, I think just asking that question, you'll get some information. It might not be what they tell you. You might get other information than what they say, but you'll get some idea. When I was on the answering end of that question for several years at my last company, I noticed that the interviewers would start settling into a routine because we started to expect that question. And so we, you never want
Starting point is 00:11:49 to share the stuff that makes you really uncomfortable because a lot of times it's personal um so i've actually found that question to be not super effective really really disclosing yeah bad stuff um because like especially if it's a panel interview if there's like three or four people and you ask them what do you not like about it oh then they don't they don't really want to say well it's actually the guy sitting right next to me that i hate you know like he's the bad part of this company we don't do panel interviews so i i can freely bad mouth everybody that's great that's great no i well i i can talk about some of the things that so i i love the place i work and i i would recommend it to i think they do a lot of things right um we are a small
Starting point is 00:12:28 team that's still growing and kind of figuring out how to deal with chaos well though so i think most of the most of the weaknesses are around some lack of process or some kind of holes in our communication. Um, but I, I feel like I answered that question pretty honestly. I don't know. Yeah, that's cool. So, um, another question I like to ask, not because there's a right answer, but because it always turns into some really interesting discussion is do you write unit tests? And I asked this to the engineers. Um, Oh, and this is another great one to ask the leadership like do your engineers write unit tests anyway um and basically i try not to make any conclusion on whether they say yes or no about the quality of the team but it turns into good it
Starting point is 00:13:18 can turn into really good conversation like um you can talk about their philosophy on unit testing like see how much they've thought about it you can figure out how expert they are with their tools you know am i going to learn from this team or am i going to be the one that's going to be like well do you even know what a unit test is you know yeah you can also maybe find out how um i'd say dogmatic they are because unit tests can be one of those things where exactly you you can just be frothing at the mouth in love with them you can hate them uh and and i personally i don't get along super well with with really dogmatic teams i like i tend towards the more pragmatic end um not that unit tests are bad but just that yeah if if the idea or if the attitudes towards
Starting point is 00:14:03 technology choices are are like there's one right way to do it and anyone that doesn't do this is wrong then yeah that that might not work for me when i'm talking to a team and they say um we've chosen to do x with unit tests and we have the following data points to back up this decision i get really excited sure even if the answer is we've chosen to not write unit tests at all yeah and here are our reasons that's great even though personally i enjoy writing unit tests and i find them to be beneficial for me i would be happy to work on a team that has strong evidence for why they do it the way they do it yeah yeah that's a good point yeah i guess you're looking for for evidence that they've thought deeply about stuff so um i've got like a dozen other
Starting point is 00:14:44 questions and i'll just i'll probably leave a note on our twitter page about uh this article that i wrote on the topic that's got like a whole bunch of questions it's like a laundry list you can print out and bring with you to a job interview to look for a lot of this stuff so it's a really long topic i could literally talk about this for hours and you will right now for the next few hours just kidding i hope you have a long commute i think that's a signal that we're gonna leave some of that to to readers to pick up later and move on to the next question right i think so okay do you want to do you want to read this one dave Yes.
Starting point is 00:15:21 Oh, so today is a day of short questions. So today's question, the second question is also very short. Stated simply, I don't get enough done at work. Oh, and there's a follow-on. Yeah, there's a little more description. Yeah, let me read that again. I don't get enough done at work. I work on a small team that has some aggressive plans for building a product.
Starting point is 00:15:39 This product is very important to the company, but it is also large in scope. I feel like I'm never getting enough done at work. How can I be more efficient and productive with my time? well have you considered typing faster like that's what maybe take a maybe change or change editors every couple days to find the editor that makes you the most productive yeah or devorek keyboard yeah i've heard devorek can help you a lot i've heard that um getting one of those keyboards that's like curved and three hundred dollars i think those are also important oh and if that doesn't work there are other keyboards you can try as well that might help
Starting point is 00:16:21 you go faster uh before you i know james and you have some great answers to this but i gotta say that when james and i were talking about this question earlier this morning i uh i said i don't have a problem with this and then i spent the morning thinking about my life oh my gosh i'm so much denial i have all these problems um i was like i don't have any experience with this so not true that sounds like the kind of thing that mere humans struggle with once you've ascended to the dave plane of existence you leave that that petty stuff behind one does not suffer one always gets more done at work than one plans uh yeah this is this is a big one i say that about every question i'm gonna stop saying that that's forbidden they're all um i think the fact that
Starting point is 00:17:16 you're asking this reflects that you have a desire to improve which is cool yeah um congratulations for me i think that there can be uh maybe two main ways to divide up maybe performance or efficiency issues and one is like a motivation problem and one is a more tactical problem so i it's tactical or strategic maybe all right uh the strategic stuff is like burnout or feeling overwhelmed or a lack of direction or things like that or boredom like i'm not challenged yeah yeah to me there's definitely a sweet spot of where something is challenging and will will make you grow and you'll have to stretch to get it done but it's not overwhelming like there's no way you could comprehend ever accomplishing this and and if you stray too far to the boring end or to the
Starting point is 00:18:08 overwhelming end of that it can be hard to be productive um so if if you're bored uh just throw in a new framework and spice it up a little bit no if you're bored you can you can do things to find more motivation um if you are overwhelmed then you probably need to talk to somebody about maybe getting some technical direction or finding ways to break the scope down a little bit or i actually think in both those cases you could talk to someone um if you're bored your boss needs to be the person to know that like hey i'm not being challenged can you give me something harder more challenging what if the boss is like cool do this in half the time then and then i got an idea do your same job in less time yeah why don't you just work faster that's challenging
Starting point is 00:18:54 right i would i would hopefully not respond that way but i do think though that you owe it to your leadership to let them know like you're not getting your full potential out of me and i could do i could be doing more if you gave me a more challenging assignment yeah and hopefully they'll know that doesn't just mean accelerate your current pace and now you're challenged that's challenging but not always in the best way yeah um but the the like burnout and overwhelming thing though i i definitely feel like if you work for a good team that you'll have lots of people willing to help you with that definitely um i guess you can it can be worrying you can feel like you're admitting weakness where yes you're you're revealing that you're not as competent as
Starting point is 00:19:36 people think you are or something but i think that's uh i think people respond pretty well to to those like human moments when when you're not if you do it when like the day before the deadline like uh this actually turned out to be hard and i didn't do anything because i was stressed out then people probably won't respond very well yeah you do need to nip this in the bud quickly you certainly don't want to let it sit for too long yeah but if if you know that you're going to struggle with this and just ask for help i think people will respond pretty well to that they can they can also be a little dismissive because it's like you know it's like we'll just do it you know and i've seen that go down and then that can can generate like a shame spiral where you're like
Starting point is 00:20:15 well i tried talking to them and it didn't work and you know yeah so that can be hard um i have seen that happen but i think generally though you're right people are supportive and want to be helpful yeah um so that's kind of the strategic level like get your motivation worked out and then the tactical level is like how much time are you spending in meetings are you being distracted by the environment you work in an open office plan and you just hear the conversation and like go over towards where it is all the time do you yak shave a lot do you like tweak your linting rules and then go update the whole code base to match the new rules or something like that not that i would ever do that or ever have do you have aggressive calendar slack and email
Starting point is 00:21:02 notification settings that are constantly popping up oh yeah do you have to make that number go down yep yeah do you do you have personal interactions like do you have facebook and other things you know open all the time that you're constantly checking on like do you have muscle memory i would say that takes you to social media or your youtube channel or whatever it is you know yeah and i would say put in place aggressive barriers to keep that stuff out of your face when you're supposed to be focused and productive some of this stuff makes me feel so bad that we're so spoiled like if you were working in a factory and you're like let me just take half an hour out to check my facebook it nope fired right yep but but we're like oh i'm feeling a little down at work today i just need to
Starting point is 00:21:48 recharge and then you like go play super smash brothers for four hours or something i don't know yeah we are yes we live in just the golden age of privilege it is incredible yeah uh but don't don't go play super smash brothers for four hours because that probably is not a good use of your time unless you're the developer building super smash brothers yeah that's true in which case It'd probably be hard to be pretty productive. Actually, no, I want to, hmm, hmm, hmm. I want to push back on the thing I just said. Because there's the whole idea of like the shower epiphany, right?
Starting point is 00:22:20 Where doing something else besides just sitting and staring at your computer can often help solve a tricky problem that you're stuck on. I have found that for me, playing video games just turns my brain off completely, including the subconscious part that's supposed to be stimulated. Okay. I'm sure for some people that works fine. So it only happens in the shower. yeah literally go take a shower okay which is why you have a cubicle slash shower so i have a funny
Starting point is 00:22:48 story about this not okay not about showers when i first got out of college for the first seven or eight years actually out of college i was working in programming jobs where i literally was required to track my time to the six minute interval and we had to put in like a time sheet tenths of an hour yes one-tenth of an hour okay that's why six every day we had to fill out the sheet to say what projects did you work on how many hours did you work on it and it was the kind of job where you you had to hit this certain number is 40 hours of time every week it's because we were contractors and so we were all very cognizant of the time we were spending on things that were not like obviously billable work and i as a result of those seven or eight years in this practice i
Starting point is 00:23:34 got pretty good at not being distracted at work like i was pretty much focused because i like i had this countdown going and i thought to myself as soon as i hit 40 i can go home you know like i'm out of here um and uh and so i left early on fridays a lot and stuff like that but anyway i think that really helped like being able to track that and so i hated it i absolutely hated tracking my time like that but i think at the same time it developed a sense of work when you're at work play when you're not at work in my own mind if if you have never tracked where each minute goes in the workday you should try it at least once because it is revelatory it is and i've got this tool called rescue time i was just gonna say rescue are you a user of rescue time i have used
Starting point is 00:24:19 it and and then i stopped because it made me feel bad depressing yeah well i've been using it for two a couple years now and what it does is it it runs on your mac and it tracks your windows like what application is in the forefront and the window title so if you're like on a web page it knows what page you're on uh if you're like using a terminal it knows you're doing that and you can categorize how your time is spent and i was amazed at how many hours i spent every week on my laptop you know it was a lot and that it doesn't even count time spent on my phone which i also spent a lot of time doing but the other really insightful thing is it told me like all right you spent like five hours watching netflix this week like that's ridiculous to me like that for me that was just
Starting point is 00:25:01 like oh my gosh that's so much time yeah but it also tells you like you spent this much time in vim this much time on your web app that you're building and that all counts as like development time and that was really cool to keep track of so yeah i highly recommend it yep um so so that's kind of the broad level what are you focusing on what are you spending your time on and then there might be one more level to that which is uh how how important are the things you're focusing your time on because you can be in vim all day and yep get a lot of stuff done and have it not be useful at all for the product absolutely um so how do you deal with that problem to make sure so say you're working hard you're not really distracted you're motivated uh how do you make sure that
Starting point is 00:25:46 you're you're working on the the things that will push the product forward the most or whatever your your development goal is i don't do that i just do linter stuff okay chief linting officer my code base is literally nothing more than es lint rc files just a bunch of examples of violations oh man this really gets to the crux of it though your question this is really hard to answer and for me and my teams an effective daily stand-up meeting is how i do that because i found that talking to the rest of the team and reminding each other about what we're supposed to be working on
Starting point is 00:26:25 and what's most important that is uh how i do it i've never been able to really do it on my own um and keep track of it and i've never been in a place where i've needed to like in a freelance job or like you know self-employed yeah i uh I think that makes a lot of sense where I guess it depends on your ability to, to honestly say what kinds of things you've been spending your time on. Yeah. Maybe just the feeling though, like what did I do yesterday?
Starting point is 00:26:56 Oh, I did. And then you like shudder a little bit. Cause you realize that you didn't get anything useful done. Maybe that's the thing you need to respond to rather than telling the team team. i got nothing done i don't know i don't know either but i i know every tracker that i've used like to-do trackers and rescue time and stuff like that i've never really um
Starting point is 00:27:21 i've never really had one that says keep help me keep track of my to-do list and also help me mark like the importance level of the things i need to do yeah which i think would be really cool A thing that I started doing a few months ago was keeping like a developer diary, where it's where I write down just those random technical things that you learn, like, oh, here's how you do this weird thing in SAS that I had to Google. But it's also it turned it's turned into a way to plan out my day. Or when I start up my workday, I pull up in the diary, type in here's the stuff I want to get done. And then I type in all my notes and stuff. And then at the end of the day, I look back at it and look at what I got done. and sometimes there's a legitimate reason like oh there's a fire in prod or this new feature request came up but that's that's really helpful um to for me to try and keep myself on track when i do that well one of the things that some of my team members have done is they'll send me like a weekly email just as their manager they'll say hey i want to send you a weekly email and just say some of my accomplishments and um that gives them a chance to reflect like you're saying
Starting point is 00:28:28 and be accountable too because they'll say things like next week i want to achieve x you know and they'll write that down out loud and uh i'll read it and respond every week like hey great job you know i saw this and that and have you looked into this and i try to be engaged with them so that they feel like it's a dialogue and that they're actually being accountable instead of just like doing almost like rubber ducky status reports you know like you've heard of rubber ducky debugging um i think that i think that can be pretty helpful too but again it's deeply personal yeah like different people will have very different styles that work for them yeah but the it seems like the broad messages are um take care of your your motivation make sure that you're not
Starting point is 00:29:07 wasting time and then have some way of checking up on your progress i guess on things that you want to accomplish is that a good way to summarize it do you think i think so i think so cool and i wanted to go back just a little bit to the tactical thing um because i have had a friend of mine you know he was really struggling with this this has been a couple years and he said you know what am i doing wrong i just can't get anything done i'm constantly working on like non-work stuff at work and i said well tell me about your environment and and sure enough he had all these like alerts set up to be notified when things happen in his personal life messages from friends from family and uh you know even just like open source projects that he was
Starting point is 00:29:45 participating in those notifications were coming in in real time um and so basically he showed up at work and surrounded himself with non-work distractions and then spent the whole day being distracted and then at the end of the day feeling frustrated with himself and so his solution i think was really tactical it was look just shut all that stuff down and have a clear separation of personal and work at least for a good chunk of the day if not the whole day while you're at work and then set aside time to make to make those things happen so you don't you know because that's important to a lot of people and they they want to participate in that maybe it's lunch hour maybe it's evenings maybe it's mornings um but his solution i think was really
Starting point is 00:30:21 tactical and i think we could all do with that it's nice to just once in a while step back and say all right what's all the crap that's getting in my face every day yeah you know yeah cool well we have answered the question oh yeah now you will get enough done at work yeah having just listened to this episode you will be fine but do not listen to this episode at work instead of getting stuff done you've only fallen further behind oh no great well i think that about wraps up the episode where can people find out more about our show they can follow the twitter account at soft skills eng um that's where we'll post announcements about the show we'll have links on there to all the different places where you can listen uh you've clearly found it already
Starting point is 00:31:08 somehow but congratulations yeah you have arrived if you want to find it in a different way then check out check out there and then if you have questions that you want us to answer on the show you can uh you can send them to us there we'll actually we'll open up the dm so anyone can dm us if you don't want it to be public yeah absolutely um and then we'll we'll make sure to respect your privacy and not shout your name out loud to our literally millions of listeners literally millions times 10 to the negative seventh power yes we uh now we should take the next 30 minutes uh for our sponsors oh wait oh wait we don't have any sponsors shout out to uh my parents sponsoring my life but the powder mcbiscuits a few years yeah great i i think
Starting point is 00:31:55 that means we're done all right we'll catch you next week thank you bye everyone see ya

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