Soft Skills Engineering - Episode 187: Interview insanity and making up for lost time

Episode Date: December 9, 2019

In this episode, Dave and Jamison answer these questions: Hello there! To say things pretty directly, I hate the recruiting process in software engineering, especially coding tests on wh...iteboard during interviews. It makes me very nervous and I already missed a job opportunity because I could not handle my stress correctly. Plus I think that the problems asked in those interviews are irrelevant to the day-to-day job, which means that I need to study again sorting algorithms and tree balancing every time I want a new job. How do you deal with those interviews? Do you do heavy preparation? Do you think that the interview process is stupid too? Should the permanent access to StackOverflow be stated as an elementary dev’s right :D ? Thank you very much, keep on the excellent job :) I’m in my mid 30s and have been coding for about 20 years, I have a non-technical bachelor’s degree and have had a fairly varied career. I did freelance web development work throughout college, and then after college had a couple of different jobs as the sole in-house web developer for two different small media companies. After that I spent some time running my own web dev/design business with some partners, freelanced some more, and then finally decided to get on the career track about 4 years ago. At that point, I ended up taking a remote developer job at a small company of about 8 people with no real hierarchy or management structure and worked there for 3 years. About 6 months ago, I moved on from there to what now feels like my first “real” job at a tech focused company (still remote), and while I’m happy with the work and compensation, I’m realizing that I’m at the bottom of the software developer hierarchy and there are many people above me who are a fair bit younger and, I assume, less experienced than I am. I don’t mind being subordinate to younger devs, but I do feel like my career is a good 5 or 10 years behind where it should be because until now I haven’t worked in an environment where it has been possible to earn a senior, lead, or management title. I’ve been coding for a long time and am very interested in moving up the ladder, leading a team and working more at the product level. Do you have any advice for how I can accomplish this quickly and make up for lost time - especially considering I’ve only been here for 6 months?

Transcript
Discussion (0)
Starting point is 00:00:00 it takes more than adding here be dragons to every diagram you see on the office whiteboards to be a great software engineer this is episode 187 of the soft skills engineering podcast i'm your host jameson dance i'm your host dave smith soft skills engineering is a weekly advice show where we talk about all the non-technical things that go into the technical field of software development and dragons and dragons i've seen some architecture diagrams that certainly look like medieval maps before we knew the earth was round yeah and like there's just like a line and on the other side of the line it says cloud yeah exactly it looks it looks menacingly like the entrance to a cave there's like a big scary monster that's labeled like multi-region failover or
Starting point is 00:00:51 something i still remember my favorite architecture diagram from like i don't know this is like 10 years ago before the word cloud was in wide use people didn't know what it meant but not super technical people i found in my company thought that it meant basically like something i i don't even know what they thought it meant but they kept putting it in this one diagram for the system we were building and it and it it was like this is where the cloud is and here we'll uh we'll we'll write to the cloud exactly and it turned out it was actually the home of like they thought it basically they thought it meant something we don't have to build but it turns out that we actually had to build some of the most complex and massive requirements of the system were inside that cloud
Starting point is 00:01:34 and they just completely got set aside because they got labeled as a cloud once it gets to the cloud it's all solved for you that's right that's what we all know do you want to talk about our great patrons yes i want to thank everyone who is contributing at the level that gets them a weekly shout out they are vinlock matthew voidovich bartek tatkowski the agile ventures charity braden canes ted nugent crash bandicoot zach grannon john grant maple syrup louise santos nick kantar taras haruk steven armand lee sean sunny tie britney ellick sonic the hedgehog Ivo Robotnik, Florian Tadso, Philip, John Basile, Chris Hogan, Luke Bayliss, and Stanley Tactical Radio. If you would like to support the show, you can go to softskills.audio and click support us on
Starting point is 00:02:17 Patreon and any dollar amount greater than zero will get you access to our Slack community, which is really, really fun. Every week, lots of good stuff happening. I learn stuff from there all the time. Also, this episode is sponsored by Vetteri. Vetteri is a platform for getting hired as a software engineer. We will talk more about Vetteri later, but thank you to them for supporting the Okay. I am going to read our first question. This is from a listener named Marion. Hello there. Hello, Marion. To say things pretty directly, I hate the recruiting process in software engineering, especially coding tests on whiteboards during interviews. It makes me very nervous and I already missed a job opportunity because I could not handle my stress correctly.
Starting point is 00:02:57 Plus, I think that the problems asked in these interviews are irrelevant to the day-to-day job, which means that i need to study sorting algorithms and tree balancing every time i want to look for a new job so how do you deal with these interviews do you do heavy preparation do you think that the interview process is stupid too should the permanent access to stack overflow be stated as an elementary right of developers thank you very much keep up the excellent job oh do i think the interview process is stupid too yes yes i do i definitely do The thing is, well, yeah, I like the idea of a software developer's bill of rights. And one of the things on that list should be, you will not make me do things in an interview
Starting point is 00:03:38 that I would never do at work, like artificially stand up in front of a group of strangers and code with a marker on a whiteboard with no access to a computer. And in like a hostile setting, it's like, quick, prods down. And the only access SSH is broken. But we have this like open CV computer vision recognition thing that can read a whiteboard and write directly to a program's memory space. And so we need you to write a workaround in marker on this whiteboard. Go! We're losing money every second. The pressure's on.
Starting point is 00:04:09 And I feel like that would kind of model a little bit the whiteboard coding section of interviews. Right. You mean you don't do that at work every day? I haven't yet, but maybe it's time to build some fallback systems that let me write whiteboard code directly into my running binary. That is such a good idea. Yeah, actually, I think it would be so cool to build a system just like as a mock of the whole, as a mockery of the whole interview process. Just like made out of interview questions.
Starting point is 00:04:36 Yeah, no, not only that, but like you coded them in with marker on a whiteboard that was OCR. This is like our Twitter clone that's built solely out of like graph coloring or something. Oh man, it would be so fun. Yeah, that would be interesting. I have thought about doing a talk called,
Starting point is 00:04:53 so I do a bunch of React stuff and I've thought about doing like React components that reverse binary trees or something like that. Just like stupid uses of UI frameworks to solve these dumb whiteboard coding problems. Yeah. Well, so yes, the interview process is pretty bad, but boy, it sure could be worse.
Starting point is 00:05:11 What if you had to do all of that, but you had to do it with a marker in your non-dominant hand? To prove you really know your stuff. Wow. If this candidate can code that well with their left hand, think what they can do with their right hand you're hired you gotta do princess bride style where you halfway through the interview you've drawn beautiful circles and arrows and lines and
Starting point is 00:05:36 then you say i am not left-handed and swap it over to your right hand and then they get even better your curly braces go from like unimpeachable to perfection seriously though i like is am i alone in just feeling like making people write a curly brace with a marker on a whiteboard is like just pure so dumb i've never seen i've never seen anyone write a curly brace that looks anything like a curly brace yeah mine's a sideways w oh man i just kind of gesture at it and say you know a curly brace wiggle the marker a little bit actually so my daughter is four and she's starting to write more and she does that for letters she's like i know an m has a bunch of up and down squiggles but she doesn't quite know how many
Starting point is 00:06:25 it has so she just kind of like scribbles up and down going from left to right on the paper that's exactly what curly braces look like on whiteboards yeah so she's ready for the interview process i on the other hand actually practice writing my curly braces with a marker and let me tell you they are better than any canada i've ever seen do you just go up and and erase the curly braces in their code sample on the whiteboard and replace them with yours yeah exactly exert dominance i just stand there with i just look down to the floor you've got a couple mistakes here let me just go up and tweak it and then you just swipe out the curly braces okay that looks better that'll compile with our ocr system
Starting point is 00:07:13 oh my gosh what if okay what if okay again the interview process could be worse what if they said all right here's a coding problem but you can only use binary trees to solve it it's fizzbuzz exactly parse this csv file you have no io you only have binary go i like it okay although i mean a lot of people complain about the whiteboard so why don't we take the whiteboard out of the equation and just say okay fine you can use a computer but it's going to be a dvorak keyboard layout so that would reject most candidates except a specific subset that has this very unique niche skill that doesn't really help you get better at your job yep which means it sounds a lot like a whiteboard algorithmic coding interview question i wonder
Starting point is 00:08:08 what the venn diagram overlap is between dvorak keyboard users and lisp users it's got to be high right i don't know why are the parentheses in a good spot or something no i just i just feel like people who are into dvorak they're into it because of like typing purity unencumbered by legacy you know and they're like and lisp is also unencumbered and it's just so pure and beautiful Maybe Haskell is what I'm really thinking of. There's few syntactical structures in the language. Yes. So do I think the interview process is stupid too?
Starting point is 00:08:40 I think that interview process is stupid. The thing about interview processes though is most companies are so terrified of a false positive of hiring a person that they shouldn't have hired that they swing way over to the other side and would way rather and kind of pick a process to reject people because they would way rather reject people that could do the job than potentially accept people that they feel like couldn't and i don't know if that actually works but i think that's the reasoning behind these kind of gauntlet type interview processes where it's not necessarily can you do the work as you will do it but kind of like testing your mettle i guess i frankly i'm surprised that it
Starting point is 00:09:17 is still this way because i would have expected market forces to correct this in the other direction because we have so like okay so maybe the mega tech companies have people lining up to apply for their jobs fine yeah i mean think think about if you're google they probably have thousands of applicants for for most positions so they just have to churn through them somehow although i guess it's really expensive to interview all those people too so they'd ideally churn through them earlier but still i'm surprised though because like the rest of the industry does not have people lining up at their door and like usually you have to employ a full-time recruiter just to get anyone to apply you know who's like reaching out to thousands of people just to get them to apply
Starting point is 00:09:51 for your job so i'm surprised that we haven't seen a correction here i i think it's just like everything in software it's it's not evenly distributed but i think there's certainly a cultural backlash against these style of interviews and i have seen it being more common to proactively talk about your interview process as a way of attracting candidates by saying hey we won't torture you come interview with us and you won't hate it even if you don't get the job we won't make you feel like a failure you know you'll get this nice gift card yeah you won't have to sit in front of the the council of elders and have them weigh your every you like put a marker up to the whiteboard and then look back over your shoulder look for frowns or nods and none of them
Starting point is 00:10:39 will erase your curly braces yeah yeah so that was a bit of a tangent but i i do think that specific style of process is mostly dumb but it's not the default in my experience for every interview i i'm thinking of my last interview cycle i don't think i did any whiteboard coding i did lots of real coding and i did some design on whiteboards but i didn't do any stand up at the whiteboard right by hand like parsable code yeah so i guess anecdotally it's it's going out but i also didn't interview at any of the big mega tech companies so and part of why too was like i don't know i don't want to have to go study for months to get a job i kind of need a job now so i have kind of a counter example here which is over the last three years i have
Starting point is 00:11:25 interviewed at two big mega tech companies and in both cases i just spent way too much time studying computer science topics and as a result my like level one cash in my mind was just like a bookshelf full of computer science topics okay and so as soon as a problem was presented to me i would reach for these the closest book on my metaphorical bookshelf and it was always some esoteric computer science thing so you did use binary trees to solve but it was ridiculous like i kept tying myself in knots trying to use these weird data structures to solve simple problems okay so we need a red black tree here exactly we're asking for fizz buzz so i mean it actually that it harmed me i think now huh having said that i think that just a basic
Starting point is 00:12:10 working knowledge of computer science topics would have been fine although frankly i was gonna say i never needed a binary tree but there was actually one instance where i interviewed at google a few years ago and one of the questions was related to binary trees and i thought i knew binary trees inside and out but they kind of put a twist on it and threw me for a loop and i just absolutely choked and i just basically spent 30 minutes kind of just like drooling and like my eyes went into two different directions and and the interviewer was like offering me all these really helpful hints but they just weren't penetrating you know yeah oh man it was so rough huh so like to me it was all about pressure because the very next day i'm sitting there at
Starting point is 00:12:49 my desk and i'm like oh yeah i got like all these great ideas you know i'm like oh this is actually a really simple problem i just couldn't figure it out with the time pressure i i'm trying to think of bad experiences i've had i had one interview that it wasn't it was more like can we explain to you this algorithm and then have you implement it it wasn't like can you solve this problem that the answer is is some algorithm now and i failed but it was also kind of writing code on the whiteboard so but they they told they just described an algorithm they said write code to do this sort of it was it was like loosely described it wasn't kind of all the way filled out but it it yeah i just i just crumbled under the pressure another interview it was a whiteboard
Starting point is 00:13:29 thing but it was like a puzzle question that i solved on the whiteboard and i am not great at puzzles and it turns out putting me in an interview in front of a group of strangers and on a whiteboard makes me worse at them so i also did poorly at that one and they were like and in your left hand hold this rubik's cube we expect it to be solved by the time your code is written that's part of our continuous integration process every branch must be must pass its tests while the developer is solving a rubik's cube oh okay so here all right we kind of trashed on on this thing on this concept of throwing computer science problems well maybe we did i don't know computer science is cool i like it and i think it's useful and it's not bad but the specific format of testing if
Starting point is 00:14:17 people know like this specific data structure by asking them to write code that uses it on a white board in front of a group or even just in front of one person is not great it also kind of depends on the company because you know funny story i was i was reading cracking the coding interview a couple of years ago, which is like the Bible for interview prep, which is, it's a really good book by the way. Yeah. It's great about just like the, if you like this kind of stuff, it's a really cool read. It is. And so I read it and I encountered this concept of topological sorting, which is where you put things in a certain order based on dependencies in a graph. And I'm like, oh, that's interesting. And they gave a few examples in the book of where this might be used in real
Starting point is 00:14:55 world. And then, so, you know, that just kind of came about during my interview prep. And then literally the next week at work we came across a problem we needed to solve on our team that involved topological sorting so i was like oh wait well wait maybe hmm interesting i just i didn't know what to say about that i i think you're right though that the more you know about it the it's like tools in your tool belt oh yeah arrows in your quiver it's like m&ms in your candy jar you'll eat them if they're there exactly and if they're not there then you'll just eat healthily and we wouldn't want that i think that's how the metaphor goes that's right so i had a good friend who got he loves computer science and he went back to school for a master's
Starting point is 00:15:38 degree just for fun and i've always felt like that was a great motivation to get a master's degree in computer science and i asked him like has it been beneficial have you used your education and he said he said well those are two questions and on the one hand yes i've used a lot of what i learned on my master's degree on the other hand has it been really beneficial i don't know like maybe i would have found alternate solutions anyway and maybe it didn't really move the needle that much but i thought it was interesting and it's very much like the m&m theory it's like if your candy jar is full of m&ms you'll eat them and i think if you know if your brain is full of red black avl self-balancing binary trees then you'll use those yeah i mean the linux kernel
Starting point is 00:16:15 does somebody had to know about those yep so we have tangented oh yeah so what i wanted to say about this though is that like i do find it frustrating that i have to refresh my memory on computer science topics. But in reality, I don't think you do if you have a reasonable foundation of like the basic data structures that are available in your programming language. However, in defense of weird computer science questions,
Starting point is 00:16:39 it is so hard to find a real world problem that is small enough in scope that it can fit in the context of an interview, but complex enough in scope that it can actually tell you something about the candidate's abilities. And that's where these computer science problems come in really handy,
Starting point is 00:16:54 where it's like, you know, navigate this binary tree, No, you don't have to worry about permissions issues. You don't have to worry about, are the IDs going to be null? You know, like all the normal things we deal with on a regular software project. Yeah, it's like the frictionless spherical cube of physics, or not cube. Oh boy. That's even better. It's the frictionless...
Starting point is 00:17:18 Spherical cow. I can't even talk. Yeah, the thing in physics, that thing, that ideal thing that doesn't exist in the real world, but they use in examples. the frictionless spherical cow in a vacuum yeah that's the thing also known as an ideal space cow am i having a brain aneurysm right now yeah where you abstract a bunch of things to make it easier to think about some core piece of the problem which i guess the core piece of the problem is do you know how to computer well why don't we just make that a yes no question instead
Starting point is 00:17:49 when so time to use our our platform to tell the whole industry what they're all doing wrong and then have them all listen to us yes one easy thing you can do to just instantly make this less horrible if you want to use these kind of questions is let people do it on a computer they type on a computer for their job they think about things by typing on a computer most of the time it's it's it's a more comfortable environment i think that's you should do that if you're designing an interview process and you really want to have these kind of test problems don't do them on the whiteboard if they're writing code do them on a computer i agree i agree that should be an option for every candidate well i'm giving other advice do architecture things on the whiteboard
Starting point is 00:18:28 that's what whiteboards are used for they're for like diagramming systems and designing things and stuff but you don't you don't go and implement it on the whiteboard after that so that's that's where it's useful so use it for those things that's where you would use it in the real world so what do we tell this candidate we've kind of used this question to just talk about stuff that we want to talk about as is traditional when that's true apologies one thing that we haven't addressed, which is how do you deal with the stress of the interview process? You know, like we've talked a lot about computer science and should these questions be asked and all that stuff. Yeah. Like how do you actually like de-stress yourself so that in the heat of the
Starting point is 00:19:05 moment you can perform? Yeah, that's a good question. I mean, some of that is on the on the interview process. They should be making most people don't perform really well under pressure. Some people do, but I would say most people don't. And that's not a that's not a characteristic you should be screening for in your average right technical interview so hopefully they're they're designing things to make them less horrible for you one thing that can help is finding out what's coming ahead of time not the specific questions that they're that they're going to ask but just that does help that does that does lower your stress level like oh this is just one easy plagiarism away from being solved yeah if you can find out what's going to happen in the interview
Starting point is 00:19:47 process so you'll talk to these this person it'll be about system design you'll talk to this person about algorithms like kind of broad overviews of what's coming next that can help and that's things that often people will know and in this interview session you'll be implementing the diffie-hellman key exchange using nothing but binary trees and that gives you enough to know that you're gonna crush it or you're just gonna skip that one and yeah i decline hope yeah hope it was a test of your ability to push back against unreasonable requirements another thing i do is i try to choose my interview timing such that i don't need the job desperately in other words interview before you're laid off or before you don't have a job and you know tell yourself look
Starting point is 00:20:34 this is just well let me back up rather than saying like i desperately need a new job just say to yourself, I am going to see what's out there. And if something really cool comes along, great. And if not, that's okay. And you do this while you're still employed so that you don't have tons of pressure on you to perform in the interview. And that helps a lot. I perform so much better when I don't need the job. Yeah. I'm going to talk about city league rec soccer for a while. I just need to set you up for where we're going. So I played soccer on a city league never in high school or for a varsity team or anything and i was like pretty bad and one year i got put on a team that was very bad and suddenly i was the best soccer player on
Starting point is 00:21:18 that team even though i wasn't very good but i got way better on that team because there are all these people that were supporting me and thought like oh you've kicked a ball before you are like unto Pele to us and and so I I like started doing a lot of cocaine and punched the ball oh no that was Maradona anyways okay there's something about people's expectations and how they affect you and that's that's a hard part about the interview process that you're not surrounded by co-workers who support you who want you to do a good job there are people who are like yeah show us what you got so I think I'm I'm long-windedly agreeing with you that the more you can take the pressure of performance off of that and you can say like whatever i'll get another interview sometime if i
Starting point is 00:22:00 if this one goes poorly that helps a lot related to that interviewing more often is also helpful when you've seen if you've interviewed twice for every job you have then then your sample size of what is out there is pretty low and bad interviews are a higher percentage of the interviews that you've done whereas if you've interviewed quite a bit then your bad interview is probably pretty bad but it's probably pretty far out on the bell curve you know like you'll see most interviews are i don't know kind of okay and some of them are really good and some small number are really bad but it's less terrifying if you have more to compare it to and if you've done more of them so you can imagine what's coming up more yeah that said if you hate this i just told you like
Starting point is 00:22:43 interviewing is miserable and painful to me so i will go expose myself to this pain and misery more often i i don't know i think it's still valuable even if you hate it and you might hate it less if you do it enough to realize like the world will not end and you can still get another job yeah great advice as usual there are some people who that is not true for though and and maybe this is their one big chance and i think maybe practicing and mock interviews could help in that case if it is really hard for you to get interviews if you're breaking into the industry or or there's some disadvantage you're working with then practicing in lower stress situations could help so that you have some muscle memory and some brain memory to fall back on practice those curly
Starting point is 00:23:25 braces exactly yeah but if you just find a friend and say hey like can you practice giving me an interview for an hour like they do at your company or whatever then i feel like that's a thing a friend would do oh yeah if you had access to a friend like that that'd be great yeah cool all right have we answered the question we have hey jameson before we go on to our next question did you hear that one of our Slack community members just got a new dev job with a $50,000 raise? Yeah, that was wild. They used a service called Vetteri. Vetteri matches developers with employers based on what you want, like your location, salary requirements, and technologies you want to work with. Yeah, so I actually signed up myself, and within a week, they sent me a job opportunity.
Starting point is 00:24:03 The hiring manager wrote me a very nice note, and the salary was actually amazing. I was pretty impressed. I don't know. I'm a pretty big fan of my current job search process, which is quitting my job and then asking strangers on Twitter if they know anyone hiring for COBOL. Okay. So once you sign up for Vetteri, you actually get a dedicated consultant assigned to help you tweak your profile and find the opportunities you're interested in. And the best part is you get those pesky salary requirements out of the way early in the process. No more going through the whole interview process, only to find out that your expectations are way off. Another thing I like is that there's no coding test to get started. And as much as I
Starting point is 00:24:39 love balancing binary trees on a whiteboard under time pressure that's a pretty cool thing if you're thinking of taking the soft skills engineering advice of quitting your job you should check out veteri go to veteri.com soft skills to sign up that's v-e-t-t-e-r-y.com soft skills and if you use that link you'll help support the show and if you get a job through veteri you get 300 bucks thank you so much to veteri for sponsoring the show all right i will read our next question this comes from an anonymous listener who says i'm in my mid-30s and i've been coding for about 20 years. I have a non-technical bachelor's degree and have had a fairly varied career. I did freelance web development work throughout college and then after college had
Starting point is 00:25:19 a couple of different jobs as the sole in-house web developer for two different small media companies. After that, I spent some time running my own web dev slash design business with some partners, freelanced some more, and then finally decided to get on the career track about four years ago. At that point, I ended up taking a remote developer job at a small company of eight people with no real hierarchy or management and worked there for three years. But about six months ago, I moved on from there to what now feels like my first, quote, real job at a tech-focused company, still remote, and while I'm happy with the work and compensation, I'm realizing that I'm at the bottom of the software developer hierarchy and there are many people above me who are a fair
Starting point is 00:25:54 bit younger and I assume less experienced than I am. I don't mind being subordinate to younger devs, but I do feel like my career is a good five or ten years behind where it should be because until now I haven't worked in an environment where it has been possible to earn a senior lead or management title. I've been coding for a long time and I'm very interested in moving up the ladder, leading a team and working more at the product level.
Starting point is 00:26:16 Do you have any advice for how I can accomplish this quickly and make up for lost time, especially considering I've only been here for six months? That's a good question. 20 years, that's a long time, especially for being in your mid thirties. Yeah, mid thirties, that means you started as a teenager. Yeah, young whippersnapper.
Starting point is 00:26:33 one of these young hotshots let's see 20 years oh you started during the dot-com bubble is that when you started no i was a little well depends on what you count but calculator yes okay that's i mean that's a lot of experience and you've done a lot of cool stuff running your own web dev design business freelancing a bunch working remote for this tech company it feels to me like you are underselling the amount of experience you have if you feel like you are just starting your career. I mean, you're not. You've had a long and productive career already,
Starting point is 00:27:07 it sounds like. And when you talk about kind of leading teams and working more at the product level, you led a company in some ways. Even if it was with partners and you're all kind of equals, you're still exercising a bunch of ownership there. So I think you have a lot of skills
Starting point is 00:27:23 that would be really valuable here. Yeah. So just go on LinkedIn and change your title. we've been over this yeah that's true what do you do about it so one thing you could do is invent a time machine and go back in time and renegotiate when you are joining this company so this is not always widely known but level is a thing you can negotiate to some degree in in job offers and it's useful to know if that's important to you where you fall in their hierarchy so if you go through an interview process i think it's a perfectly normal question to ask hey what does
Starting point is 00:27:59 the leveling structure look like where does this position fall in that and if you feel like it's somewhere uh below where your experience and and ability merits then you can say hey i think i actually would be a better fit at this level above that and and work that in so it feels like if if you are much more junior than these people who are much younger than you there might have been a chance to go back in time or if if you could go back in time to to come in at a higher level to this company so maybe next time think about that that doesn't help you now though true maybe it just makes you feel worse yeah great job jameson which is the feeling we always want our question askers to have oh yeah yeah what do you do now i'm trying to think of what's underneath this
Starting point is 00:28:43 question so if you've been doing a lot mostly web development and i mean and media company so when i hear media companies and freelance web what i'm thinking of is more like website design you know building websites for people very visual focused yeah a lot a lot of visual focus maybe not so much on like the software systems design or software application development yeah you know like think gmail as compared to a wordpress site right like these are kind of different domains and i wonder if that's what's behind this question where they have they have a lot of experience that doesn't necessarily translate into the systems they're working in right now yeah like they're probably the best person at the company with html and css yeah but maybe not the best with like
Starting point is 00:29:28 system design architecture things like that sure and it sounds like they want to move into that area yeah maybe and and maybe also not a lot of experience leading other engineers and i think that's one of the one of the pitfalls of freelancing is it's really hard to get experience where you are directly responsible for a team yeah you know yeah that's true and i don't know if there's a way to make up that kind of lost time like can you get on the fast track to leadership like that um like is there a way to do it quicker like maybe move into a team lead role where you're actually leading two teams at once and then you get two years of experience for the price of one oh okay got it yeah so try that i i think i mean asking talent telling your company hey i feel like
Starting point is 00:30:10 my career is behind and i want to speed it up it doesn't feel super relevant because i don't know I mean, the company should care about career advancement, but that's not as highly motivating to them as someone saying, hey, I want to have a larger impact and here's how I think I can do that. If you can pitch things to people that you are going to do that will help them, I think that's kind of the key to advancing. And if you have all this experience, I mean, you've probably pitched a lot of clients. You've probably delivered a lot of stuff to production. You've probably gone through a lot of kind of design iterations and reviews and stuff like that. So I think you have some valuable skill sets. You just need to figure out how you can apply them to the area that you're working in. And I think if you demonstrate that and also say that you're interested in doing these things, that feels like a way to advance potentially. Yeah. I wonder if people sometimes have the impression that if they want to be in leadership or grow into a management role, that if they just act like it but never ask for it, that someone will just be like, I think you're management material, kid.
Starting point is 00:31:14 Yeah. I like the cut of your jib. You got some moxie. Yeah. Why don't you come on in here to the management room? Yeah. But in reality, I think a lot more often people will just say, I want to do this to their leadership and then leadership will be like, oh, okay, well, maybe we can make that happen. Yeah.
Starting point is 00:31:32 So teams grow and change and management positions open up and usually people have kind of a list in their head of who might fill a role or an opening. So if you want to get on that list, you need to perform well, obviously, but you also need to make it clear you're interested in that. Yeah. Yeah. It's like the M&M analogy again, you know, who does management reach for when they're looking for a new leader? Yeah. Who's in their M&M jar? You got to get in the jar. Be an M&M. Okay. But now what about a situation here where you don't have any direct management experience?
Starting point is 00:32:06 Maybe you've expressed the desire and now maybe management gives you a shot. Like, how do you do that? Like, is there an accelerated track for this? Hmm. I'm just thinking, I mean, I'm assuming there is because humanity is wide and varied and someone has probably done something like this yeah i don't know that there's an accelerated track that you can easily slip into though there's not a secret passageway to like getting promotions i mean there are there are projects that are higher profile and there might be teams that are nicer to work on or have a manager that has more influence or something so you could kind of like politic your way into a better situation but i do feel like just thinking about it i don't know i don't i don't know that
Starting point is 00:32:46 there's some magic fast track that you can hop on i think you just got to start working on it i think your instincts are aligned with mine which is that in management and leadership more so than anything else it takes time i think maybe more so than in software development although you know recently read a very interesting tweet where someone said you know 10 years of experience where you're doing the same thing every year isn't much different than one year of experience and doing that thing yeah and so you know there's certainly a slow track in terms of technical development and the fast track is more like constantly getting new challenges. And then when you defeat the old ones, you go across the horizon and you find a new world of challenges. And that happens year over year.
Starting point is 00:33:23 And in management, sometimes you kind of have to wait for those challenges to come to you because you can't just go tackle them necessarily, depending on the scope and size of your company, your responsibilities. Like sometimes these things just fall in your lap and it's like, well, there's a fire. It's in your lap. You got to put it out now. Yeah. You know, and that gives you experience. And in the absence of those things, you can kind of just coast along in in leadership although it's pretty rare to have a fire free leadership situation in any context yeah all you have to do is find a team that doesn't have any problems and none of your users or customers have any problems
Starting point is 00:33:57 you've solved all their problems by the transitive property you have no problems too that's right so i don't know so maybe there's no fast track or at least not one that's widely known and maybe maybe there's not a way to make up for lost time here other than just jumping in and pretending like you're 22 again. I don't know that making up for lost time is a thing, but I do think leadership and management and seniority and all that stuff, good communication and kind of navigating of human skills are very important there. And I think that's another area where you're a little bit older than some of these folks. You've had more varied experience. That's something that could help you out there where oh yeah you're good at life maybe and turns out being
Starting point is 00:34:39 good at life transfers over pretty well to being good at having a high impact on software teams so i'm sitting here thinking about the people that i've known who have who have significantly increased the scope of their leadership as i've watched them over the last few years and there are there is a small number of people who have done this and what i observe that's common to all of them is that they are always looking to grow the scope of their responsibility and this forces them into positions where they have to delegate and they do that very effectively like they take on work but then they make sure that other people are executing and they put themselves in a position where they are leading and i've seen you know i saw we hired someone about two
Starting point is 00:35:13 two and a half years ago you know on a team adjacent to mine and this person just has gone from being an individual contributor to in the course of two and a half years or so being responsible for a management team of four or five other managers who each manage four or five other people. So I mean, massive increase in scope of responsibility in just a couple of short years. And when I observed this person, what I see them doing is just constantly like hustling, going after new stuff, wanting to take on more responsibility, you know, always willing to tell leadership, hey, I want more scope, or I've got this project idea, or I want to launch this thing and going after budget to do it. And so maybe that's what you know, if you really want this,
Starting point is 00:35:50 that's maybe what you need to be doing is just constantly be on the lookout for opportunities to increase your scope how do you avoid i mean just saying yes to a lot of things and then handing the work off to other people sounds kind of slimy how do you avoid being annoying or being someone other people do not like or feel like they're they're getting stepped on on your way up the ladder you know yeah well i mean it's not like you yourself are saying i will do this and then you're finding a subcontractor to pull off the work although talk about a fast track. There you go. Mechanical Turk. Totally scalable. I think the way you do that is you prepare people around you to be able to help drive these ideas and projects with you so that you know
Starting point is 00:36:34 you've got people's support. And I think that means forming a lot of relationships with people that are strong and building trust with folks, earning their trust. And everyone around you needs to know that you've got their back and that they can rely on you and trust you. And then when an opportunity to increase scope comes along you've got a network of people who you can draw on and say hey let's do this together and yeah you're the one responsible for it but now you've got this group that can help you all right i'll join your group you sold me also it's kind of a multi-level thing so i'm gonna i'm gonna sell you products and you're just gonna give me lots of money and and that's it the real money is in increasing your own scope that's right beneath me i've been
Starting point is 00:37:18 saying the word scope but what i really meant was downline okay and in the end the org chart forms this triangle shape all pointing up to you one one might even call it a pyramid yeah kind of a ponzi shape in geometry we call that a ponzi ah a fancy word for pyramid and the pyramid it's not like a straight walled pyramid the pyramid gets extremely wide toward the base yeah like encompassing all of humanity in about four or five levels depth is log n right it's more like two to the n the width is two to the n where n is number of levels yeah or maybe even 15 to the end i mean that's just a constant factor yeah yeah yeah same overall and now we've come circle full circle back to computer science that's not how big o works but that is how the
Starting point is 00:38:12 show works have we answered the question i think so good luck good luck i hope it works out what can people do if they would like their own questions answered go to soft skills.audio and click ask a question thank you so much to everyone who has done that we really appreciate all the questions coming in we will get to them eventually and we want to say a big thanks to veteri for supporting the show remember go to veteri.com soft skills to support this show and find an amazing new job all right catch you next week

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