SO
Soft Skills Engineering
Jamison Dance and Dave Smith
Navigating Team Dysfunction and Career Growth
From Episode 310: Flip flop and architecture astronaut — Jun 27, 2022
Episode 310: Flip flop and architecture astronaut — Jun 27, 2022 — starts at 0:00
It takes more than blaming an outage on your two-year-old getting to the keyboard to be a great software engineer. This is episode 310 of the Soft Skills Engineering Podcast. I am your host, Jamison Dance. I'm your host, Dave Smith. Soft Skills Engineering is a weekly advice show about the non-technical stuff that goes into the technical field of software development and adjacent technical fields. Where do we draw the boundary? I is it like doctors that's a technical field technically, right? Right up to but not including accounting. Okay . And law. Well some kinds of law. Yes. Yeah, I wonder this has to have happened before, right? Someone has to have left their key their their computer logged in in the days of remote work, and then a kid comes up and just like drools on the keyboard and it happens to put like select update set ID equal one something like that. Delete from users semicolon Well with a million toddlers and a million drool patterns, you'll eventually get an outage. But also you'll get like a functioning Uni x too. Oh my gosh, this virtual memory allocator is so elegant. That's not what the show's about though. No indeed, no indeed. This episode is sponsored by Ravello. Revelo is a great way to hire engineers for your team. Go to revello.com slash soft skills if you need to hire folks, and we'll tell you more about Ravello later on. We also want to thank our patrons who support us at the level where we shout them out every single week. Thank you to Memster Josh, Owen Shardle, Craig Motlin, I Love Mavis, the Stochastic Parrot, Andrew Pollock, Arunduna, Koshocan, Ohio, Patron.com.au we're hiring, Irachan, Monkey Face Emoji, Jonathan King, testing is documenting.org, Oladopo Fadier, Will Angel, my neighbor has smelly feet, Nick Hathaway, Travis Sanders, Braden Kaynes, John Grant, Nick Cantar, and Philip John Basile. Thank you, thank you, thank you. If you want your name on this list or to just support the show financially, uh you can go to soft skills.audio and click support us on Patreon, and that goes to pay our editors, pay our hosting costs, and pay for Dave's expensive what what could it be? Expensive scale fighter jet replica hobby with built in with with real engines. Like one thirty second scale you got really into tensions.. Ye Yeahah. I got swept up. I thought you were going to say my scale baby drool pattern maker system that's like a mechanical turk for baby drool. Ah. Millions of babies at your service. Yeah, I think this is the beginning of a of a sci-fi villain origin where you think I just need a million babies you can find so that they're drooling on a keyboard. I need to harvest harvest some babies. I just have this call center and vision in my mind right now. Full of babies. Imagine the noise and the smell. As far as the eye can see babies. I mean you could you could so okay babies have lots of outputs right you could you could oh boy make a baby use drool and spit up and diapers and screaming and when they sleep and like, you know, just kind of as an entropy generator? Yeah, well well lots of different ones, right? So you have one infinite set of babies drooling on keyboards, and then another infinite infinite, it's the same babies, but now they're like screaming at microphones that turn it into keystrokes. Right. This way we have to kidnap fewer babies. W wait, I that's a good thing? Yeah. Well , okay. It's easier. Sorry. My moral compass is a little uncalibrated on this stuff. Okay. I'm on paternity leave right now. So babies are on my mind, and I guess this is my subconscious saying like I hate them now or something. I don't know. My baby's great. All these other babies though. Oh we better we better move on. Yeah . Okay . Maybe I should read our first question. Yeah. Get us out of here. Okay. This comes from an anonymous listener who says, Hey, love the show. I've worked for eight years as a software engineer for a large aircraft company. And while I had a great time there, I left because I was tired of working with old tech and wanted to learn new stuff. I joined a medium sized company working with lots of fun new tech, but after eight months I got the opportunity to get my dream job as a software engineer at a specific big tech company. That's capital B, capital T. Big Tech. The problem is that after I started on my dream job, I crashed really hard. The people and org are great, but the job revol ves around working on a large legacy product, using mostly old slash basic tech, and overall I've been feeling really unmotivated since joining. After four months, I was called by my previous fun job, and they offered me twice as much as I'm making at this big tech company to come back. I'm very tempted, but I'm afraid of screwing my resume by leaving so early. Should I toughen up and stick with my new fancy job or go back and make more money and maybe be happier. There's a lot of airplane metaphors here. We got crashing. Yeah. We've got a literal aircraft company. I guess that's not a metaphor. It's actually an aircraft. Yeah, unless their org chart is shaped like an airplane or something on purpose. We've got bad news about your team. They have to be dissolved because the landing gear are now out of out of alignment. Oh man. Interesting. I j the numbers here I that I'm imagining are just staggering. You went from working at an aircraft company as a software engineer, not exactly known for being top of the industry on pay for software engineers. Then landed a big tech job, which it undeniably has got to be a pretty big pay raise. Then double the big tech company's salary to go back to the aircraft company, that's gotta be like a triple pay raise from the original. Wait, is this uh I interpreted this as going back to the company before big tech. Yeah, that's what I interpret. Not the aircraft company Oh, let's see here. Because they they had aircraft, then another company that was fun, and then big tech. And I think this is fun job, meaning not my aircraft job. Okay, that that strikes me as a little more realistic . I'm like, wow, bo Boeing really got their crap together on salaries. Where where's all this money coming from? I we don't actually know if it's Boeing. I'm just that's the only large aircraft company I know of in the US. And I think this is that's all I anyway. Boeing or Airbus, I guess. But it's neither of those you're saying. Is a medium-sized company working with Funtech to go back. Oh yeah, that's very interesting. I wonder how much of a raise it is from their their previous salary at the medium sized company. Probably still pretty big. Yeah, I imagine it's more than they were making on their last stint there. Yeah, so I mean double the big tech company and undoubtedly the big tech company was a raise even from the medium sized company. So more than double, right? I mean, wow. That's crazy. Yeah. I've also not every big tech company pays really, really well. And a lot of them are also well compensated in equity. Yeah, true. Which is great if the numbers only go up and they have not. They have not gone up lately. They have finally not only gone up. Yes. It's been a good long run. It has. Turns out I wasn't a great investor. I just was born at the right time. Right. You all this time you thought you were just amazing at stocks. Yeah. Well all these stupid people haven't figured out the problem. You just buy stocks and then they go up. Right. And then you get the big deal. Yeah. Easy. And then you retire. Yeah. And then after that, you work for the rest of your life because you're never retiring As is traditional I have an unanswerable question which is do you think that do you think this person's unhappiness is because of this job? Like I I didn't look at when this question came in. It's pretty recent. There's a lot of reasons you could have crashed. And you you might be assuming I was happy before at this medium-sized company, I'm unhappy now at this current big tech company. Therefore, if I go back, I will be happy. And that might be true, but there might be other uh burnout can follow you. You don't always automatically just leave it behind if that's what this is. I see. If it's burnout. Yeah or or if it's if you're being followed literally by someone and that is stressing you out and making you crash, they will also be able to follow you. Like you're looking over your shoulder on the street and there's always someone back there with a with like a wide brim hat and sunglasses and a trench coat. Yep. Have have you heard of the movie It Follows? No. What's that? It's a horror movie. It's good. And they stole one of my nightmares as a child, which is that somewhere in the world there is a monster and it's just walking towards you. Okay. At at normal walking speed. And you don't know where it is, and you can't see it easily, and you can't have any warning but it's always coming toward you. But it it's always coming towards you. And if you move location, it just sli changes direction and starts walking. So you just have to keep moving. Yeah. So I think I I guess what I'm saying is if there is someone following you, then yeah, you gotta switch jobs because now they're they're coming towards big tech . You gotta throw them off. And and you're gonna have to keep doing this for the rest of your life. In in my nightmares they could walk underwater, so I would imagine them just walking across the ocean. The movie does not address that. All the all the monsters are within walkable distance of their prey. But well okay, in the next few years then you're gonna have to become a multi billionaire and get a ticket on the first SpaceX flight to Mars and just hope that monster can't walk through space. Or just like live in an airpl ane, right? Oh like Air Force One, just stay airborne all the time. The monster just walks below you on the ground. Yeah, I guess . Looking up. So we've dissected the meaning behind that childhood tra uma. Should I toughen up and stick with my new fancy job? I think you have a few options and one of them, the worst one is that. Big tech is big. The big part is part of the name, and it's true. There is probably lots of internal mobility there. So you could get a new job at the same company, which might be less frustrating. And maybe look a little better on the resume. Yeah. Because we've what we've got here is we have eight years at one company, eight months at another, four months at another. And now you're talking about jumping back to the previous company. Yeah. That doesn't bother me actually. Doesn't bother me at all It doesn't doesn't either. Like you you had to go experience some stuff and you learn things. And I'll and I'll tell you, like the the narrative here for future companies, like so the the question was, I'm worried about screwing up my resume. No way, not a chance. Because here's what here's the narrative. I stayed eight years at one job. I can do longev ity, no problem. And my second job that I left after eight months, they spent the next four months putting together an offer package to bring me back. They liked me so much. So that that narrative to me overwhelms any like job hopper narrative that might you might be worried about on your resume. Yeah. Plus, if you're worrying about screwing up your resume , it's for the company after this medium-sized company you might be going back to because they want you back. So yeah. That's true. And as long as you stay there, it doesn't matter what your resume says. Yeah. Yeah, I I would not be worried about the resume. You may never need your resume again. Oh . This could be it. Because the monster catches up to stay there long enough. Right. Exactly. I don't know. I I'm not seeing a lot of reasons to stay at big tech. Yeah. Some people are are enamored with the with specific companies. And that always fades. Like And that that seems to have been the case here, right? I mean Yeah I was a dream job I had a dream job to get a as a software engineer at a specific big tech company. And then when you walk through the front doors, you were like , not that great. Here is this pile of spreadsheets. Yes. Please maintain the VB script that automates this . It's true. A lot of big tech companies , they've they've got a lot more money than like a typical early stage startup or medium-sized company. And they get way more leverage out of their software engine ers. And so as a result, they can employ software engineers to do things that medium sized companies just couldn't afford to do, such as, listen, your job is to sit at this terminal and restart this service every forty five minutes because it's got memory leaks. We're just so busy doing other things that we need you to do this for the next few years. Two thousand nine Rails. Right. I mean the times the amount of times I've heard that kind of story, you know, we've well I'll tell you a specific one. We've got this PerlScript, you know, it's critical to our business function, and we have a whole team around this Perl script to just keep the darn thing running. No, you may not rewrite it. That's too much risk. There's too much money tied to this Perl script. So yeah. You just have to keep it running, fix bugs as they come up. And it looks like that's you. If you have enormous piles of money, you just keep adding developers as long as the marginal benefit is is worth it. And that means putting developers on some really boring problems sometimes. Very common. Where yeah, if if you have ten developers, you cannot afford to have one of them focused on like automating email spreadsheets to ping a dashboard somewhere to wake a VP up or I don't whatever dumb made up thing. Replace it with something useful but boring. Right. You you just focus on the core essential parts. But another interesting thing is is this question reads like they they wanted to work at this company, not at a specific on a specific thing at the company. It wasn't like they learned about some I don't know, some framework or some internal team that they knew about. Yeah, or some some project or something. It was like I I just want to go work at Feng. Oh not just but And Thing is a brand, right? I I like I like this company. Yeah, I like their brand. Not I want to work on this cool thing that I know that they have. And so maybe if you can find some of that it would be useful. But I agree with you, Dave, that there's no resume risk here. I think it's fine. Yeah. Now, uh what I would weigh here is not so much the resume risk. I would weigh the opportunity cost of leaving a big tech company where there even though there are lots of like boring jobs, just you know, to to paint a really wide brush here, which is what I'm reading into in the question, but also there are a lot of really unique problems that you can only find in big tech companies. And so that's the opportunity cost of leaving, I think, is that you're you'll never be able to work on one of those problems. Either it's at a scale that no one else does, or it's on a product that no one else could ever afford to build, you know, and maybe there's only two of them in the world, you know, I'm speaking from experience here. And that was awesome for me at least to work at a big tech company. And I and I suspect that's probably part of why this person actually went there. And so that's what I would weigh here is my job sucks today, but I might be able to find some other job in this company that's really cool and unique and fun. Weigh that against going back to my medium-sized job, medium-sized company, and making even more money. Like these are both pretty good options, I think. They are it feels like w one more wrinkle I will throw in is the the macro environment of how risk averse do you want to be and where do you feel like your risk is lower for if we're going through a tech downturn. In some ways a big tech company might be more stable, in some ways, it might not. We've seen lots of layoffs from well-known tech companies. So there's no guarantee of stability. But maybe you know something about the the medium-sized business and and their financial viability compared to kind of what you can think about with big tech. So I think we we are in a period now where you have to at least have in your mind a little tiny fraction of your brain thinking about what it what is the risk if if things go bad. Whereas before five years ago it was like how much of a raise will I get if I get fired from this job by by the ten different people competing for my hand. Right . Might not be like that today. It might just be like seven people competing for your yeah. Well you're a soft skills engineering listener, so you'll be okay. There'll be eight people. That's pretty sweet deal. Yeah. I think you should go back to your old gig though. It sounds like do you want to make more money and be happier or maybe get some big company benefits? But just I'm I'm feeling decisive. Go back to your old company. I'm with you, Jameson. Cool. Then we've done it. We've answered the question. Nailed it. Hey Jameson, have you heard how easy it is to hire engineers right now? Given infinite dollars, it is easy to hire engineers right now. Don't have those. Yeah, it's tough. I want to recommend a company that helps you hire engineers in Latin America. It's called Revello. Tell me about it. I've been hiring engineers in Latin America for the past two years, and they are awesome. I've worked with a few different companies who provide engineers from Latin America, but none of them were really great. I recently discovered Ravello. Ravello helps you find skilled software engineers in Latin America. They only provide full-time senior engineers with m at least five years of experience. They don't force you to pay for things you don't need like a project manager. This is really interesting. Their pricing is awesome because they charge a monthly fee and you know how much they're paying the developers, so there's not a lot of indirection there, which is not common. Sometimes you get these opaque invoices and you have to figure out how much is actually going to the developer, how much is going to the company. They do the sourcing and the vetting and you can interview the engineers before deciding if you want to work with them and they take care of payroll and benefits, which is great. Yeah, I highly recommend hiring engineers in Latin America. It's a huge untapped market for a lot of US companies. All of Ravello's engineers speak English, and the time zone is one of the big wins. If you're based in the United States, the Latin American time zones line up really well with U.S. time zones. You don't have that painful 24-hour turnaround problem when you have a question for an engineer on the other side of the world. Yeah. I worked with wonderful engineers that live on the other side of the world, and both of our lives were worse because of that. Someone's always up at midnight. So this is great. Check out Ravello today. You can go to revello.com slash soft skills to check it out. That's r- v-e-l-o. All right, should I read our next question? Go for it. This is from Johnny Three Hands. Okay. Hello, David Jameson. First time, long time. I'm six months into my first engineering job and loving it. Uh, until recently. My large team split into smaller teams. On my old team, we had lots of work to do and it was fun. My new team, however, is suffering from spin-up time. My tasks have shifted from clearly defined individual contributor-type tasks to amorphous research research tasks on large architectural decisions. After about three months of this, it feels like this spin-up time is never going to end and we just don't actually have much work coming our way. On the other hand, these are more senior engineering type tasks and I could probably learn a lot if I stay to see these through. On the other hand, I'm certainly not a senior engineer, and I miss spending my time coding. It was fun and I was learning lots from that too. I fear that I may be atrophying as Definitely be making more money elsewhere. Yeah. Should I stay and be patient, or is it time to take the magical SSE advice? Is the economy crashing. I need help. Thanks, you are the best. Johnny three hands. Okay, Johnny Three Hands. Uh okay, three hands. One hand. It's good to get exposure to senior engineering work. Other hand , I've forgotten how to code . Third hand, I think I could make more money somewhere else. And is the economy crashing? Yes. Uh it is . That's out of the way. So yeah, I I think trying to muddle through big architectural decisions with uh six months into your first software job tough is not gonna teach you much. So it is not surprising that you're having a uh I don't know feeling a bit adrift. There's a few things you could do. Uh one of them is is can you make the output of any of these decisions code? Right? Like if all you're doing is writing design docs and diagrams and and things like that, you you don't have a way to validate a lot of the assumptions in them, but often a proof of concept or a prototype is is useful in saying, I don't know, we think that using this uh using memcache will help us resolve latency by this much, or or decrease latency by this much, or whatever. Like can you can you turn that into a some code to write to get back into hands-on stuff a little bit? Yeah. And that serves two purposes. One, it it does the thing I just said where you're you're no longer atrophying. You are you're bulking up your code muscles, I guess. If that's the metaphor we're using. But also I think that's the most effective way often to make these architectural decisions is you have to try them out and and kind of see how they work. If you just wave a wand and declare this is how it is, you'll quickly find places where your decision and your model of the world doesn't fit the actual world. So if you can turn these into concrete things, you you might be able to get the best of both worlds there of this kind of senior level engineering stuff combined with writing code. I've heard a term for people who just do big high-level architectural things, but then are a little bit disconnected from the uh facts on the ground by by doing exactly what you said, not building proofs of concept, not writing code in the architecture that they're working on. And uh it's called architecture astronauts. I just googled it and I realized this is a Joel Spolski term, I think. I think he coined this term in 2001. Twenty years ago was a good time to start forming new terms in in this industry, it turns out. I feel like yeah, but I bet 20 years ago it didn't seem a good time. Oh yeah. Probably now is a good time too. That's true, because now we'll be twenty years ago at some point in the future. I can't say how long it'll take to be twenty years ago, but it'll happen. At some point, some unk nowable time in the future. It'll be twenty years ago. Yeah, so I I think what you're saying is do not fall into that trap. Like yeah. No matter what, you have to you have to be producing some tangible output. Yeah. Exactly. Especially six months into your career. I I guess I question how good your architectural instincts and decisions could be six months into your career. I feel like six months into my career I didn't even know the shape of the problems at all? I I wouldn't be able to even start. Someone would ask me how to make this faster, and I would be like I would like look up in my textbook about like loop unrolling or something like that. Why did we both go to loops? Yeah. Because that's that's what's slow. Right. Loops are always slow. So let's unroll them. Yeah, and then they'll be fast. Yeah. I wonder what the team composition is. Are are there more senior folks on the team? Is it kind of all people of similar experience levels trying to figure this out or 'cause I I would expect I would not expect a team of folks six months into their careers to be making these big decisions. I would expect to have more senior people. Maybe they're kind of very caught up in maybe they're not they're not like breaking problems down into something that you can work on though. They're just off on their own Yeah. I I'm gonna guess I kind of have a a theory here. It says my large team split into smaller teams. Sometimes when organizations split up, it's it's because the the team got big, which definitely happened here. We see the term large. But then you start trying to define boundaries where teams can be productive within those boundaries. And sometimes you just get 'em wrong. And you're like, hey, you, listen, we have more people than we know how to manage right now. So we're gonna break this down into smaller organizational units and why don't you just go handle like uh architecture? You know it's like I I've been in that situation where um actually i in during a college class I remember we had a team of three. We were trying to to build some some program to do something. And I remember feeling a lot of pressure to divide up the work into thirds. But it just didn't the work didn't want to be divided into thirds. You know? So I ended up we ended up dividing it up and into kind of false thirds. And someone got this job that just didn't even need to exist. You know, you work on this thing. And they're and I remember at the beginning I was like, hey, here's an idea. You work work on the data smoother. And they were like, what's that? And I'm like, you know, just like smooth the data . And I remember at the end it was like we put all the pieces together, the three pieces, and made it work together and and demoed it. And I was like, what happens if we take the data smoother out? So we did, and we're like, oh that's way better That's a little mini Conway's law in action there. Yeah exactly. That may be what's happening here. Maybe your team shouldn't exist . That's a morbid way of saying what I'm trying to say. That is a hard question to bring up though, because while I think an outcome of your team not existing is is like well you do other work at this company. There's always a little fear in the back of people's mind s that your team not existing means you don't have a job anymore, that the team ceases to exist by people being laid off or something like that. So there's there's often trepidation to say, uh, hey, we're not doing anything. Yeah exactly. Like are you all listen, business people, are you clear that you're paying us to do nothing? Oh, you don't say. Yeah . What if we just didn't pay you to do nothing? Exactly. Yeah, you they could pay you to do something or not pay you to do nothing. My annual bonus is secured. Yeah I'm struggling to turn this into concrete advice though. I guess besides my earlier advice of what is it? The astronomy ? Astron astronautery? Because astronomy is different from what astronauts do. Right. I guess they do look at stars. Yeah. That's the same thing. As far as I know, that's the same thing. Yes. All right. So go uh don't don't be an astronaut anymore on this team. I think you you gotta get somewhere where you're writing code all the time though. That's that's critical at this stage in your career. Yeah, I agree with that. But also making more money elsewhere. We've talked before about salaries there's this weird your your trajectory in salary growth is usually quite high at the beginning of your career, but also it is sometimes anchored by where you start. Yeah. If you can't get somewhere that that is not anchored by your current salary and you started low, then I what am I saying? I don't know. I think I'm just saying quit your job. Don't be more running elsewhere . And then and then if you get someone who uh if you get an offer that says, Well, we'll pay you 10% more than we are paying than you were making in your last gig, then Sometimes we try so hard to not be stereotypes of ourselves and we just try so hard not to say quit your job, but it's like, yeah, just quit your job. Well, get a new one first and then quit your job. I think that's that's our what we'll do to account for the times. No longer just quit your job and then like walk around whistling saying, well , let's see, in a couple days I'll go look for a job. Yeah . Yeah. I I think I think that's viable. So we've got do proofs of concept, maybe quit your job. Another thing I would do is I would probably sit down with the engine uh with the team leader, whether it's your manager or what, and just say, Look, I feel like our team's doesn't have clear direction. Can you help me? And and maybe maybe it's just you. You know, there's a possibility that you're just not seeing everything. So that's probably worth saying. And that saying we don't have clear direction and I'd like to have more concrete direction is a little easier than saying I think you're paying us to do nothing. Yeah, that's true. That feels like a yeah, you're you're bringing up a way to be more efficient. Way to improve the the way the team functions. Yeah. That's uh you know, and you could try all of these in a certain order. You know, once you pull the quit your job one, then you don't get to do any of the other options. So maybe put that one last. That's true. Unless you're a previous question asker who quit their job and and now one of the options is unquit their job. Yes, that's true. Alright. I think we've answered it. I think so too. Good luck. Good luck, Johnny Three Hands. May your hand count ever increase. I hope next time we hear from you, you're Johnny dozen hands. Johnny dozen hands. What can people do if they want their own questions answered? Go to soft skills.audio and click the ask a question button. Thank you so much to everyone who does that each week. You keep the show going with amazing insightful questions that we love reading. Thank you very much. Thank you so much. We'll catch you next week.
This excerpt was generated by Smart Features
Listen to Soft Skills Engineering in Podtastic
For listeners, not advertisers
All podcast names and trademarks are the property of their respective owners. Podcasts listed on Podtastic are publicly available shows distributed via RSS. Podtastic does not endorse nor is endorsed by any podcast or podcast creator listed in this directory.