Soft Skills Engineering - Episode 344: Showing impact without hiring and over over over engineering

Episode Date: February 20, 2023

In this episode, Dave and Jamison answer these questions: I’m a senior front end engineer at a medium sized tech company. During the good times of limitless tech growth, a common way f...or engineers to grow our “impact” (an important criteria at many companies for promotion) was to find ways to lead/manage more people, whether this was becoming a manager and having more direct reports, or becoming a tech lead and mentoring more people, especially interns and junior engineers. Now, with many companies doing layoffs and hiring freezes (mine included), teams simply aren’t growing and there just aren’t as many people to “impact”. What are some other ways to have more “impact” and grow my leadership skills? Both for hitting promotion criteria, but also for my own growth as an engineer that would like to be a manager or staff engineer someday. I am a very senior engineer at my company. There is an engineer on the team less senior than me, but not under me on the management tree. This person is well regarded in the organization, but has a strong tendency to over-engineer things. Normally I don’t mind a little over-complexity if it means that the person leading the project is taking ownership/accountability of the feature. But with this individual, they tend to be put in a place to make sweeping decisions that broadly impact systems when it’s clear that they don’t really have a full picture of what’s going on. To make matters worse… when I raise these points directly, the person will usually offer to accommodate my concerns by further over-complicating their solution/architecture rather than stepping back and picking an approach more appropriate for the problem. Show Notes This episode is sponsored by the original podcast from Red Hat, Compiler. Listen to Compiler: https://link.chtbl.com/compiler?sid=podcast.softskillsengineering

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than being a great engineer to be unemployed engineer oof this is soft skills engineering episode 344 i'm your host dave smith i'm your host jameson dance soft skills engineering is a weekly advice podcast for software engineers of all employment levels and i guess this is my way of just saying sorry to all those who have lost employment recently however with some of the severance packages that i've seen advertised it might be a little while before you actually lose income like several more months yeah i mean i guess if you're going to get laid off being handed a big pile of cash it's not the worst way right there are worse ways to get laid off and some people definitely get those worse ways not everybody gets those those juicy severance
Starting point is 00:00:52 packages that's true it's rough out there also i've recently learned just for your fun and knowledge that a huge proportion of people laid off from some of these big headliner tech companies are actually not software engineers. I saw someone do an analysis and they concluded that it's actually not even a majority. In fact, something like 20% or something, which I found surprising. I guess it kind of makes sense if a lot of the growth, I think, for example, Amazon grew enormously, but they probably didn't double their engineering team. A lot of it was maybe on the logistics or warehouse side or something like that yeah maybe all i know is it makes perfect sense to comfort my own biases that you would not want to lay off engineers yeah surely
Starting point is 00:01:34 we're fine yeah that's the message here surely surely everything is fine as it has been in the past as it always has been and always will be yeah i want to thank our sponsor this episode is sponsored by compiler which is an original podcast from red hat discussing tech topics big small and strange you'll hear more about them later all right i want to thank our patrons who are contributing at the level where they get a one-time shout out they are joe grossberg grossberg probably sorry joe and our weekly shout outs are anthony ongaro kent c dodds oladapofadiyi monkeyface emoji ilove mavis santa hopar jonathan king connie lee bartek Tatkowski, Nick Cantor, Ira Chan, Jenny Kim,
Starting point is 00:02:19 John Grant, Ganon Denhouten, Ohio, not to be confused with Gashokton, Ohio, Kyle Boz, Brayden Keynes, The Stochastic Parrot, Valentin, Adetafold, Cody Sale, Noah Frazier-Logue, Will Angel, Travis Sanders, Ernga,
Starting point is 00:02:35 Andres Realis, Alice Jost, Nick Hathaway, Craig Motlin, Owen Chartle, testingisdocumenting.org, patreon.com.au, we're hiring, and Philip Jambaseel. If you'd like to join this crew, go to softskills.com. audio not scoff skills although i just jameson i just thought of a spin-off podcast all right about scoffing to the domain name registrar okay quick onward to the domain
Starting point is 00:02:58 uh if you'd like to join these folks go to soft skills.audio and click the support on patreon button and a big thank you to everyone who's done that i'm looking up canandin hooten ohio and it's possible that one one thousandth of the population of that whole town is a is a patreon supporter oh it's a real place look at that a small little place i'm sure we pronounced it i'm sure i pronounced it wrong yeah but on the upside it's not like there's that many people from there to get mad at you for pronouncing it wrong so it's fine all right oh should i read our question yes all right this is from a listener named raymond i'm a senior front-end engineer at a medium-sized tech company during the good times of limitless tech growth a
Starting point is 00:03:44 common way for engineers to grow our impact was to find ways important criteria at many companies for promotion was to find ways to lead manage more people whether this was becoming a manager and having more direct reports or becoming becoming a tech lead and mentoring more people especially interns and junior engineers now with many companies doing layoffs and hiring freezes mine included teams simply aren't growing and there just aren't as many people to quote impact what are some other ways we can have more impact and grow my leadership skills both for hitting promotion criteria but also for my own growth as an engineer that would like to be a manager or staff engineer someday ah yes i have heard so much about this recently
Starting point is 00:04:24 have you heard about this trend jameson or this kind of trend reversal of recent months the trend reversal of teams not growing or of that affecting kind of promotion yeah so just i guess both you know the fact that most company most tech companies at this point are not on the same aggressive growth trajectory that they were two years ago yeah and so the obvious way to show impact is gone you know the obvious way used to be 47 engineers do my bidding i am so impactful yeah and now it's everyone's gone and i don't know what to do like i don't know how to demonstrate my impact the one number i had yeah yeah you can't just point to a number of dollars like right look my revenue yeah my the revenue i brought in when i hit my sales quota or often you can't it yeah
Starting point is 00:05:15 that's the dream most of the time in some ways but yeah it's more disconnected than that hmm well to answer your question i've heard of the first concern of yeah like growth has has slowed i haven't heard about the second one specifically but it does make sense and i mean i i've lived this so when i was at a big tech co and i was looking for promotion opportunities i remember front and center on my promotion material was the number of engineers that I had helped grow the organization to. It was just so tangible and so concrete, but it was also artificial. It's like, hey, I hired all these people. It's a brand new area of the product. And I had essentially free money coming in to pay their salaries. And so it was very easy to hire them
Starting point is 00:05:59 and grow influence. But is it really influence? Did I actually influence those people? Did I actually influenced the product in a way that actually generated business or value you know and it's also like really somebody else couldn't have also hired people with free money like right exactly yeah here's four million dollars to show yeah it's tough to show how that is like unique to you specifically look i took your four million dollars and i bought a whole bunch of nikes look at all the impact and influence i had on these shoes they are beautiful yes sneakerhead thought leader yes i think you are asking yourself this question probably your company is asking itself a similar version of this question which is like wait without free money how do we grow how do we
Starting point is 00:06:47 do anything yeah so this is not a unique problem to you this is one of the one of the kind of trickle-down effects of of changing tech climate it seems like actually in the united states at least the economy seems to have had some encouraging signs but i think there's certainly been a shift in in tech is not back where it was a year ago for sure yeah maybe it's a bit of a realization less than a change in in material conditions so ask your ceo what their plan is for your company and then do that for your career to show impact that's my advice yeah excuse me how are you going to grow the company with or how are you going to show impact from the company without endless free money coming in yeah and how would i do the same thing right and your ceo might very well say my
Starting point is 00:07:38 job for the next two years is to keep this company from dying that's hard to i mean it's hard to get a promotion because you survived yeah probably your ceo won't say that even if they're thinking that's true because that's true they they like to speak in more inspirational terms about the unique opportunities ahead of us but that is very possible oh man there's also i mean that is kind of a flip side here where if there are layoffs probably the total amount of work has not decreased like there's there's more stuff to do and certainly not the per capita amount of work right yeah yeah exactly yeah like there's uh there's opportunities for impact out there it might be more like take over this thing that that the team was laid off for or i don't know step in
Starting point is 00:08:31 and fill some of the gaps that have been created yeah like head off disaster like oh hey i just found out an entire team disappeared there is now a piece of software running without attendant attendance and they had a process where they had to restart it every two weeks or it crashed and i just found out about it and today is day 13 of 14 their software gets tired right like it needs to rest like we all do yeah and we all get two days at the end of every week yeah think of how tired the garbage collector is it's been running non-stop all that garbage actually the problem is the garbage collector isn't doing anything and that's why it has to be restarted every 14 days yeah
Starting point is 00:09:16 it gave up it was laid off the garbage collector was laid off i was just thinking about all of the memory that is supposed to have been freed but there's this lingering reference to it somewhere so the garbage collector doesn't collect it and instead we put in place a process to restart it I mean, I think that's called Ruby in like 2007. Yeah. Restart the process every hundred requests. Every day. Yeah.
Starting point is 00:09:47 Actually, that is a real thing. A lot of these container services that run these languages in many forms, not just Ruby, but they actually have a configuration where you can specify how many web requests you want them to handle before restarting the process. I'm like, why does this exist? You wouldn't want to get them overwhelmed. Yeah, exactly. it's because i mean turning it off and on again is a universal solution at all levels of
Starting point is 00:10:10 abstraction yeah everywhere on the stack it makes sense yeah i had an idea and then i started talking about ruby what was my idea okay here's here's my idea i knew in this time of constrained resources if you can show impact on revenue or increased efficiency like large impact on cost cost reduction you can show you're doing yes more with less or the same amount with a lot less yes or somehow despite the downturn in in uh like in in tech in general here's like look this part is going better because of me look at my all my revenue um i was that's i was gonna say the exact always important but it's gonna be more important now um i was just gonna say the exact same thing take all those charts that you've been using to show your impact where they go up and to
Starting point is 00:10:58 the right you gotta do a total paradigm shift and find cost charts that go down into the right that's what you need now yeah i mean especially in in startups growth is always more attractive than cutting costs because there's this vague idea that like and we'll figure out how to cut costs later once we grow enough but it's it's i don't know if you can go clean up a whole data center worth of of instances in a cloud somewhere that weren't important then but now are are that's a very tangible impact you can show sometimes it's easier to know like what specifically can i do to cut costs i i i think if you're talking about promotion and and growth though it's gonna have to be on the order of like hundreds of thousands of of dollars like if you go turn off a service
Starting point is 00:11:44 that costs 60 bucks a month i don't know nobody's gonna care so the magnitude will will need to be large, but it's possible. It's possible those opportunities have not been explored yet because of it wasn't worth it before. Now it is. Yes, absolutely. And I do not underestimate the value in this economy of reducing your company's costs because it really can make a big difference, especially if you're a smaller company and you know things. I promise you, you as an engineer know things about the costs of operating your software that other people probably don't know. And you may be assuming that the costs are the way they are and they've been carefully reviewed and optimized and they cannot be improved. But don't make that assumption
Starting point is 00:12:27 because there's a very good chance no one has ever looked. Because in the last 10 years, no one had a reason to look. Now they do. So I totally agree with you, James. And I think cost reduction is a huge one. Just go open up your AWS console and start poking around at the bill and asking questions on the other hand i'm going to undermine my own advice probably the vast majority of your costs are employee salaries so there might be a limit to how much say you reduce your aws cost to zero maybe that buys you like i don't know another month yeah yeah exactly those two people might not be at large though yes now they're uh going back to computing on pieces of paper like yeah like it started out as the other thing another way you can do this is to identify
Starting point is 00:13:17 like whole swaths of things that you are doing that you can stop doing to invest more in important areas often it's it's hard to it's painful as well to look at like a project that's been going on for a long time or i don't know a product that's that's been invested in and is doing okay, but asking, what if we didn't do this? And then put all that effort towards something that seems more important or feels more successful. And I'm just going to guess that that kind of question you're asking is maybe above the pay grade of the question asker, but that's something you could actually bring to the attention of your leadership. Help them understand the cost of operating the software they have so that they can make decisions about the software they want to
Starting point is 00:14:00 have yeah that's that's definitely on your leadership's mind or it should be but i think your perspective as an operator of the software can be useful as well maybe there are maybe the ceo assumes oh we we can't get on without the foobar service right we've always had 10 people working on the foobar service and you know really like i don't know we could have two people working on it yep and suffer these costs that are worth it and congratulations you just caused eight of your coworkers to get laid off. Yeah. I mean, that is a possibility. Tread cautiously. Okay. Well, I think, I mean, some of, some stuff hasn't changed, right? If you can show impact on business outcomes, if you can show we built this thing and then it, it, I don't know, sped up customer
Starting point is 00:14:49 acquisition or like the more you can tie it to concrete things, the more important, the more impactful it is and and and more the more the better of a case it is for promotion that's true regardless of it is what is going on in the economy but you that might be your only option now instead of kind of look at look at all these people i helped hire right exactly with that being gone look at all these people i helped hire to cover up the fact that i didn't do anything else this year you know yeah i mean it is it has been interesting so we've done some hiring freezes uh Or slowdowns at my employer as well. And boy, does hiring take a lot of time.
Starting point is 00:15:28 Yeah. So there is some like added efficiency and focus that comes from saying this is the team we have. And we're not going to spend like a quarter of our time growing the team or trying to grow the team. It'll be interesting when that. I feel like it'll be like when some of the pandemic restrictions got relaxed. and people went back to parties and had to figure out how to be social again. I feel like some places might have to figure out,
Starting point is 00:15:55 oh yeah, how do you interview again? How do you be a business? Yeah, how do we do this? Yeah. I think the name of the game for the next little while is focus. Choosing to focus carefully on the areas that yield valuable outcomes
Starting point is 00:16:08 and avoiding areas that don't. And sometimes it's not even a matter of bad versus good. It's just high value versus less high value. And I can't give specific details to this question asker, but that's the mindset that I would adopt right now. Yeah. All right. Have we answered this question? I think so. Good luck. Have you heard about the podcast from Red Hat called Compiler? Yes. Red Hat Compiler just launched a new series called Reroll, where they describe different jobs in a software company, starting with the CTO, then architect and more. They've not mentioned
Starting point is 00:16:40 the office prankster yet, which is a miss on their part. It's an essential role at any startup. That's true. They also have a series on software technology stacks describing databases, programming languages, front-end frameworks, back-end technologies, and even test frameworks. It's a pretty cool series. Compiler comes to you from the makers of Command Line Heroes and is hosted by Angela Andrews and Brent Simineau. Listen to Compiler on Apple Podcasts or wherever you listen to podcasts. We'll also include a link to this show in our show notes. Do you want to read our next question, Dave?
Starting point is 00:17:10 Yes, I do. This comes from an anonymous listener who says, I am a very senior engineer at my company. There is an engineer on the team less senior than me, but not under me on the management tree. This person is well regarded in the organization, but has a strong tendency to over engineer things. Normally, I don't mind a little over complexity if it means that the person leading the project is taking ownership and accountability. but with this individual they tend to be put in a place to make sweeping decisions that broadly impact systems when it's clear that they don't really have a full picture of what's going on to make matters worse when i raise these points directly the person will usually offer to accommodate my concerns by further over complicating their solution rather than stepping packing picking an approach more appropriate for the problem oh man ah what we lack is a generic plug-in framework for the concern accommodating pattern off to build that and then the idea will fly free oh and then i just realized in order to build that plug-in framework i need a plug-in
Starting point is 00:18:16 framework framework so that i can produce these plug-in frameworks more efficiently because i'm constantly needing great plug-in frameworks yeah isn't it isn't it amazing how easy it is to overcomplicate things yeah and it's fun sometimes too fun like a lot of the appeal yeah like a lot of the appeal of software is is you're you're you're putting together these imaginary puzzles you're building these systems and and i don't know it's it's fun to tinker with stuff and and i suspect the person you're talking about doesn't think i'm going to overcomplicate this they they might think like this abstraction here will make this this future problem easier to solve or avoid i don't know like they probably have a reason but also it's easy to think of reasons to do stuff you
Starting point is 00:19:03 want to do when really like you just want to do it because it's fun yeah because i was like i like working on this i don't care about the outcomes yeah i love that you came up with a joke about complaining to someone about them being overly producing over complex solutions by producing just the exact perfect overly complicated solution ah i'm just relishing in that beautiful thought thank you i i i appreciate that dave that makes me feel good you're like i've thought a lot about this i have a couple suggestions one suggestion is a refocusing on getting something to production and and building upon that part of what is happening here i think is is your co-worker is is designing software because they're attempting to anticipate what the requirements are and
Starting point is 00:20:02 that's always hard and having a firm dose of reality in the form of like people or systems using your software in in a real environment is is a good counterbalance to your imagination of what the requirements are not every problem lends itself to this solution but it's i think it it's easier it applies more widely than you might think like i don't know say you're building a database right you might think well it's hard to ship a mvp of a database but now i have to think of how you can ship an mvp of a database in real time hang on give me a second i mean and maybe you'll say like i don't know we we need we want a process running on a server by the end of the day and maybe it just like pipes everything to dev null, but there's, there's something running somewhere
Starting point is 00:20:50 like the, the, that feedback loop of, of getting something out and, and iterating upon that instead of trying to, to complete all of the requirements maybe ahead of time, or, or, or let me try this again. Hang on. I'm going to use an example at work recently. So a team at work had a project to build and the way they went about building it was like put out a mock of the project and then gradually kind of fill in pieces with real functionality all right where the mock was not it was not just like a visual like a ui mock there was there's some apis that had hard-coded responses and like things like that but but at every step of the process the team was trying to think like, how can we deliver this and make it more real rather than how can we
Starting point is 00:21:49 exercise this code in production? And that had a very powerful impact on the design where we ended up doing some pretty different things than we were originally considering that we thought would be important at the beginning of the project because we realized, oh, we don't need to do this. Turned out, not only were they not important, you didn't even need them. yeah we didn't need them it was good enough without them or a new solution that was easier appeared when we when we got into production that kind of thing so so i think i'm rambling a lot but the point of my ramble is real information about real usage earlier can can help avoid over-engineering i agree i was thinking that anytime this person has an idea that you think
Starting point is 00:22:28 is over-engineered just send them a link to a video of a rube goldberg machine that feels a little passive aggressive i mean you could take it as passive aggressive or you could take it as a real awesome system that like you could actually find a whole collection of like 10 different rube goldberg machines from simple to extremely complex and then send them the one that best represents their particular solution today yeah there is a way to do this wrong i'm going to preface what i'm about to say with that but okay constraints in the form of like goals for when to ship by can be helpful here if you want to ship a thing in three weeks then there's a limit to how much over engineering you can do ah this again this can turn bad and you can get into just like sprint
Starting point is 00:23:18 furiously and never build good abstractions mode and and just drown in tech debt but yeah a goal date i'm not using the word deadline because if you're saying we want to ship in three weeks that's a thing that you said so it's not really a deadline but okay but that can that can help clarify what's important and and what isn't and and what you can add later and depending on the company and and the problem domain it's possible that one of the outcomes here is like nobody ever uses this thing yeah it is possible in which case any like the most important thing to find out is does anyone care um and and any over engineering is just a huge waste because if the answer is no then you want to know that sooner than later true i mean that's if you have like a large
Starting point is 00:24:04 established business with a clear need of i don't know if you're like updating your your fleet of servers to a new version of linux or something like that then that's that's not like an mvp kind of yeah well what you're saying yeah i could over engineer it what i'm saying is is that's not like a startup like see if the market wants this thing type of situation but in that case i would say like i don't know get one server upgraded today and see what that took and then like don't if you can't start until it's all done that is a problem are you still there dave i just got a message about being disconnected from the internet all right well have we answered the question i think so i mean have we it was more of a philosophical question
Starting point is 00:24:51 that was rhetorical you're saying your question of have we answered the question was a rhetorical question yeah it was just a polite way to get you to say yes oh well i'm not gonna say yes i'm gonna say no because i have another idea okay so we've talked about kind of how to change the the incentives and system around this person but the time-honored tradition of just talking to them is also on the table have you considered saying hey i've noticed you tend i think i see a tendency to over engineer stuff yeah like it's it's one thing to say this solution is over engineered and it's another thing to say you as a person have a problem you know yeah and that's certainly harder to say but you are a very senior engineer at your company i think part of the job is to use
Starting point is 00:25:49 that super seniority to to lend your wisdom to people and see things that they might not be able to see because maybe this engineer doesn't doesn't see that it's called mentoring right that's what it is yeah there's a lot there about kind of the relationship and trust to build to make that go over well and uh we're gonna skip that yeah just assume that's all there already yeah i'm sure you'll do great but yeah never never underestimate the kind thoughtful direct approach of of i've seen this pattern can we talk about it yeah i i agree in a way the fact that you're not their manager you're not in the management hierarchy for them but are just very senior that that might make this easier because it's not like you coming down on them to get them
Starting point is 00:26:37 in trouble it's more like a yeah you're helping from the side that's right and i and i would couch it in terms of i'm trying to couch it in in um the motivation of i want to help you have a more successful career and i believe that you have a habit that is going and maybe even a blind spot that is going to limit your success so this isn't me just coming down on you because i don't like your over-engineered designs which i don't but i also want you to be successful yeah all right now we've answered the question i'm not even gonna leave room perfect for doubt no i'm certain we've answered the question certain 100 certainty achieved dave what can uh what can people do if they want their own questions answered go to soft
Starting point is 00:27:22 skills.audio and click the ask a question button where you can fill out our little form and we must say from the bottom of our hearts thank you thank you so much for all the people who submit questions every week we love you we love your questions and you have our commitment to try to answer all the questions one day i think we some we might just like try and crank them out real quick on our deathbed though quick pull up the spreadsheet of my dying breath get out of the way family i've already said goodbye there's something i need to do before i go quit your job quit your job quit your job quit your job quit your job maybe we should just answer them in the spreadsheet and just send it out to the world
Starting point is 00:28:02 okay all right that sounds like a plan thank you for listening we'll catch you next week

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