Soft Skills Engineering - Episode 72: The Micromanaging CEO and The Only Developer

Episode Date: August 17, 2017

Jamison and Dave answer these questions: My CEO is micromanaging the developers. What do I do? I’m about to take a job as the only developer at a company. How do I handle working without techn...ical coworkers?

Transcript
Discussion (0)
Starting point is 00:00:00 It takes more than great code to be a great engineer. This is Soft Skills Engineering, Episode 72. I'm your host, Dave Smith. I'm your host, Jameson Dance. Soft Skills Engineering is a weekly advice podcast for software developers and also large... What is it? What's on your desk? Large buildings. I'm looking out the window and I see the Boston skyline. Oh man, okay. I can see the John Hancock building.
Starting point is 00:00:28 I've become a mad scientist. setting up my little shrink the clock tower yep i actually can see a clock tower from here oh it's beautiful because it's on your desk no cool uh should we just dive into it let's do it all right i will read the first question This is from a listener who requested we call them Mr. Big. Hi, Mr. Big. You're right, as a question asker. We call you whatever you want.
Starting point is 00:01:04 Yeah, yeah, as long as it's appropriate. Hey, guys, love your show. I work at a pre-series A startup. See, that's why we called them Mr. Big, as they requested, because they started with flattery. Yeah. All right. I work at a pre-series A startup where it often feels as though there are tons of fires that need putting out regularly. our ceo is brilliant technically and built the entire company by himself before being forced
Starting point is 00:01:28 into more ceo focused tasks we've now grown to about 15 engineers yet despite this he's constantly micromanaging our tasks as well as requesting specific implementation details often he's right but it's very difficult to push back what do you recommend stay the course and deal with micromanaging quit exclamation mark or speak up pre-series a and 15 engineers what do they paying you in just stock options that's a great question i didn't think about maybe there's a bigger problem than micromanaging are you actually getting a paycheck and also we haven't been paid but the ceo swears he will pay us maybe you should have the ceo he's paying us in in-depth over-the-shoulder technical mentorship that's right
Starting point is 00:02:18 listen i'm so good at micromanaging it's like money it's like money it's basically money oh man you can't pay for this stuff i could give you money but i would be robbing you of the greater value you'd be getting by not taking money i don't know so i have a hard time empathizing here i love micromanagers who tell me how to do my job it like takes a huge load off my shoulders think think of all the decisions you don't have to make yeah i said a while ago that sometimes i feel like a hand or a brain with hands and in this job you're literally just hands you don't even need a brain so your brain can do other stuff yeah you could like what oh okay yeah yeah you just like pull up
Starting point is 00:03:16 netflix on your second monitor and just watch it and then like kind of half listen to what your ceo tells you to do and do it while he's over your shoulder yep this is a blessing of guys mr big um hmm well i i think it sounds like you're at an inflection point in the growth of this company which every successful company that's started by technical people probably hits they all build it themselves and then the company grows and eventually it grows to the size where they can no longer build it themselves but it's hard sometimes to recognize that when this is what you've done for the life of the company the ceo i mean like he has micromanaged everything because back before there were 15 people it wasn't micromanaging it was doing the work right
Starting point is 00:04:05 like that was the same thing yeah um so i i feel like this might have just kind of snuck up on him suddenly or or the opposite of suddenly snuck up on him slowly yep uh and and it's kind of that like frog boiling in the pot thing like he might not realize that oh this is bad now at the scale that we're at because it used to be just what i had to do to get stuff done yep and no longer yeah get your hand out of the cookie jar buddy unboil that pot um what other food metaphors could we use ungrate that carrot i think that's one of them definitely so i think my point in saying that is uh quitting feels drastic to me because this doesn't feel like i mean every technical company i think has gone
Starting point is 00:05:01 through something like this and can get through it successfully so i don't see this as a fatal flaw in the company um i mean it's possible some companies do the ones that don't make it Some of them are killed by this, but I don't think it's insurmountable. Yeah, usually it's not a micromanaging leadership team that kills your company. Usually it's having no revenue. So this is great. Yeah. It says here there are a ton of fires that need to be put out regularly, which tells me you've got customers.
Starting point is 00:05:32 So this is good. No fires, no customers. so it sounds to me like this company is on track and your ceo is having a hard time letting go and knowing when and so someone needs to tell the ceo that it's time to hire a technical leader who who can be trusted to run this team so that the ceo can focus on arguably much more important tasks yeah i think i've seen this kind of behavior in really capable technical people who um it's likely that a lot of the times when they dive into micromanage they actually do see things that are like bad and wrong and they can fix them and correct them and they feel like that's
Starting point is 00:06:18 progress and they don't see the overall harm that it does even if they're right in that specific instance and they save a little bit of time or debug an issue or whatever that diving in like that over and over again i think costs your team more than those small um those small tweaks that you're able to make by micromanaging yep and you might even feel like you're doing your team a favor by insulating them from some of the quirky stuff that you are familiar with and that you don't want to have to put them through the pain of becoming familiar with this maybe hacky code oh like yeah like the ceo wrote the code so he's might be like oh i know how to fix this like exactly step aside or or look in this file or whatever even more charitably it's like oh yeah
Starting point is 00:07:01 i did this hack uh i don't think you should spend two hours learning about the hack let me just put the fix in real quick you know it's like he's doing them a favor um i think sometimes this could be because people are more comfortable doing things they know how to do already and in some ways it could be the ceo is avoiding doing more ceo things because he's real good at technical stuff and maybe he's less good at like presenting to the board so it could be an escape for him to
Starting point is 00:07:32 dive into the code so he's sitting at his desk and he's like I have this powerpoint presentation that I have to do that's full of like money and stupid stuff or I could go fix this esoteric bug that Mr. Big has been working on I'm gonna go jump and I'm gonna go shoulder surf
Starting point is 00:07:48 with him and work on that it's like a hobby yeah like an addiction yeah that's actually a better analogy kick it so that you can go negotiate with that investor who wants to give you a lot of money but also take control of your company or whatever stressful stuff is going on that day so it sounds like we are in agreement that this is bad and it needs to change what what can mr big do to help affect this change i think there's two things first of all mr big can just wait and do nothing because if the company is successful enough for long enough the
Starting point is 00:08:29 ceo will by necessity be taken away from the code and will have to deal with things like raising that series a funding that he hasn't raised yet and i guarantee you that those activities will take all of his time eventually yeah and are arguably more important than fixing that bug yes yes so much more important um and number two is uh is show your ceo that your engineering team is competent and capable and do that by solving problems before they even come to the ceo's knowledge which you might be able to set up a process to where you get bug reports directly or issues uh and then you can solve them and then tell the ceo what you did and he can be like oh cool this team's taking care of it it's great it might actually be a relief for him yeah
Starting point is 00:09:15 so mr big says often he is right but it is very difficult to push back um so it sounds like i i can't tell if push back means pushing back on those specific technical things that the ceo is bringing up or pushing back on the idea of hey this isn't this isn't the thing you should be doing right now oh i got the impression that it was the technical things because i'm guessing that mr big hasn't mustered the courage to sit down with the ceo and say hey you're doing a terrible job yeah that's don't say those words say different words um i i think you if you tell the ceo like hey you need to do your job which is raising funding that might be a tough conversation to to to have if you can instead couch it in terms of like this is what will help the engineering
Starting point is 00:10:14 team more it feels a little bit more like you're talking about things you're responsible for and like who cares about all the ceo stuff you're doing i'm not i'm not trying to tell you your job i'm trying to tell you how you can help our team better which feels a little bit different you could even talk about the company's ability to scale and grow and meet the demanding uh the growing demand for its services so like you could say look there's only one of you we have a growing engineering team we have a growing customer base and you won't be able to scale to address all of these fires and i know it's been normal for you to get involved at when we were at this smaller scale but as we grow you simply won't be available so we have to develop a process whereby the
Starting point is 00:10:55 engineering team can be self-sufficient in resolving these fires without you yeah i that feels like the straightforward way of doing it i think what i mean is if you're worried about the ceo not taking that conversation well because to some extent you're telling him like hey you're not doing your job well sure which for some people might not go over well um so instead you can say like the engineering team will be better off make it less about him and more about the team that you are on and that you help yeah okay i don't know it's it's kind of a subtle difference and it might not matter yeah in the end on how grumpy yeah in the end the results should be the same which is he should he should back off yeah i think you mentioned hiring technical leadership right did
Starting point is 00:11:38 you say that early on uh i don't know i can't remember that was a long time ago that was that was like minutes ago minutes ago well i think you did and i think that might be one leverage point to use to get the ceo to back off to to find someone that he trusts and and that can help take a burden off his shoulders and yeah yeah that'll make your lives better too then you can have someone who's more dedicated to micromanaging yeah exactly a full-time micromanager more time yeah they'll be better yeah they won't be distracted by all this like series a nonsense no but seriously there will come a time when your company needs a vp of engineering or a cto and uh 15 engineers is starting to feel like that time so the good
Starting point is 00:12:23 news is if you hire someone from outside they will not be able to micromanage because they don't have all the context that the ceo has having not written the system that's true yeah it's perfect they may still be a micromanager they just won't be able to do it the same way yeah all right have we answered the question i do have i actually do have one more question um um so the question is all about the micromanaging ceo but it says here at the startup it often feels as though there are a ton of fires that need to be put out regularly i don't quite see the connection between the fires and the micromanaging unless maybe the fires are the thing that the ceo is helping to micromanage you know maybe it's not like big architectural discussions maybe it's like
Starting point is 00:13:07 oh here's an issue from a customer i'm going to help you fix it yeah that seems like it to me Maybe they do have some kind of process or workflow, and then the CEO just jumps in because he's been on a call with a customer. He just parachutes in, and he's like, drop it all. Work on this thing that I just got yelled at for. Yeah, exactly. And that could have a different solution, which is to put in place an issue triaging process that can scale and be highly available even when the CEO is not around. For example, when he's off getting funding in Sand Creek. Isn't that the name of the place in California?
Starting point is 00:13:40 Or Sand Hill? I don't know. Sand Hill? I think it's Sand Hill. Anyway. Listen, I'm like a VC hillbilly. I live in Podunk, middle of nowhere, which is by definition anywhere that isn't Silicon Valley. So I don't know all these fancy words or companies.
Starting point is 00:14:01 Anyways, it could just be that you need that. And I remember going through that process at my last company where the CEO would literally be, actually, sorry, CTO in this case, would be on phone calls with customers resolving issues. um and you know he realized really quickly that this process won't scale that we need a highly available rotation who can manage the intake of new issues coming from customers and then who can manage the process to resolution reliably and consistently without depending on its super heroics you know of one person swooping in so so that's almost more of a process thing yeah uh then and then i'll hire a new person thing but that could be the root of this micromanaging because he didn't say that the ceo like commandeers architectural discussions and
Starting point is 00:14:47 you know important design decisions and things like that he's talking in the context of putting out fires so maybe that's all that needs to be solved and the micromanaging will go away yeah fires are a powerful um a tractor especially if you built the system and know it well i've worked at places where i built stuff and i moved on and then things explode and it's it's like impossible for me not to jump in and try and help fix it partially because i know uh what's going on more and partially because i feel some sense of responsibility and guilt like oh yeah that was me and then i want to like atone for my mistakes do you also do you also feel like a sense of curiosity like morbid curiosity like how did they get at the break like that yeah sometimes
Starting point is 00:15:35 yeah okay well question question answered yes 100 yes so good luck mr big i think with our help you'll soon ascend to become mr gigantic mr xl yes cool do you want to read our next question yeah sure this comes from an anonymous listener who says i recently took the age-old soft skills engineering advice and i'm starting a new job shortly in my new position i will be the sole developer among a group of non-software engineers sorry when when they wrote sole developer i was thinking like soul music like that's something else okay yes i am used to having other developers around to discuss and work out designs with i have also used co-workers as a resource to learn from both discussing new
Starting point is 00:16:24 technologies and techniques with them and from reading and maintaining their code what suggestions do you have for someone who does not have any other developer co-workers to find good mentors and examples to learn from or work ideas with hmm hmm i don't know first of all we try not to get too technical on this show but this question did use two spaces between sentences which is technically incorrect so just a little hard skill tip for you why is that incorrect james use one space uh or as dave suggested before the show tabs between sentences in my code why is it technically in my sentences i use tabs yeah just configure your microsoft word to render the tabs as spaces as one space and you'll be fine it's technically incorrect because i disagree with
Starting point is 00:17:19 it haven't you learned anything from all your technical discussions got it that's just a word i use to add weight to my opinions technically technically makes it sound smarter that is technically incorrect it does sound good it sounds strong yeah it does sounds technically almost a fact it almost sounds like you know what you're talking about like almost and i do you can tell by the words i use so what when should this listener do at this new job i'm thinking get you've heard of rubber ducky debugging right yeah that's where you put like a little rubber duck on your monitor and you explain your problems yeah to it and then yeah the act of explaining brings clarity well yeah i just realized i'm being a really bad
Starting point is 00:18:11 podcast host because i'm like dave i get it you don't need to explain it like oh you're not explaining it for me it's not for you james this is called rubber ducky explaining anyway i'm technically a good host you're you're the rubber ducky actually yeah anyway so instead of a rubber ducky get a bunch of cardboard cutouts of prototypical developers and just put them around your desk and then all the feeling of being surrounded by intelligent mentoring co-workers will come to you but you won't have to be by them in real life wait a second are you suggesting that the act of putting cardboard cutouts that they'll come alive in some fashion like like a toy story thing the cardboard cutouts
Starting point is 00:19:01 that you see in all these stores are actually alive when people aren't looking at them yes only when you're not looking okay so if you ever come to work they can still comment on your pull request though exactly what about if you did like a rubber ducky stand up you just had a circle of ducks and you were in it and you're the scrum master you like yeah and you'd reach around and like squeak each one to be like i finished all my stuff squeak not blocked yeah no blockers you could take that pretty far so let's say that they've tried it and uh maybe they got the wrong cutouts because it didn't work it didn't work okay then what do they do then have you ever been in this position oh go ahead i was just saying now we go to plan b because obviously plan a was
Starting point is 00:19:53 going to succeed but something went slightly wrong yeah okay it was technically a good plan i have never been in this situation i have never worked at a company where i was the only developer yep never have how about you i haven't worked at a company full time i have been on projects where i'm the only technical person though uh as a freelancer okay wait was this your plan b nope nope oh i don't have a do you want to talk about it or i don't have a plan the plan b is we're going to figure out what it is right now exactly so here's okay co-workers are great it's good to have other people working in the code because you run into different perspectives and you learn new things even just through explaining stuff to other people but um
Starting point is 00:20:48 you also have this unique opportunity where you get to figure out everything yourself everything and most of the time that doesn't happen i think i i feel like it's more likely that people work in teams take this and use it as an opportunity to learn i guess is is what i'm trying to say there's a lot of value in collaboration but if you don't have that you might be forced to step outside your comfort zone a little bit if you have not done like sequel schema design before and you've always worked with people who are really good at that the good news you get to get good at it now yep um and the way the way you get good at it is by screwing it up yeah yeah i was gonna say stack overflow but
Starting point is 00:21:34 so that isn't really a specific tactic or a tip but it's more like recognize that there could be some value in the situation even if it's different from other ones you've worked in that that it all falls on you which is great because you are the most capable person to accomplish any technical task and so you get the chance to develop a lot of new skills without yeah like dave said without um people saving you from your own mistakes and and giving you like shortcuts to learning stuff which means you might not learn it as much yep but what what about connecting with other developers is there any way to do that even though they don't work with you yeah yeah there are many ways uh community is a big thing community is probably my favorite
Starting point is 00:22:21 thing about being a software developer there is twitter as long as you um are good about it it can be a great place to talk to other developers and learn things uh just don't yell at people on twitter that makes it a bad place um i mean there's github and open source if you're worried about not having people look at your code um just try and make a pull request to like express or some popular project people will look at your code uh but you can also get the same participation and feedback from other developers i mean yeah there's local user groups or or distributed ones even there there are all kinds of chat rooms and and i don't know online communities if there aren't um local groups where you live but these are all great for kind of
Starting point is 00:23:11 exposing you to new technologies and maybe i don't know giving a quick sanity check to some very broad ideas they won't really help you no it's unlikely that someone from the community will just like dive in and pair with you on some code or review a pull request for your company or whatever i don't know that there's a great solution for that no you can still get access to other developer brains through community yeah yeah i would suspect there are uh legal implications to sharing your code with you know people outside your company yeah you could find that out yeah the hardware trying have you ever um yeah have you ever met with met someone or known anyone who has used a co-working space in this kind of scenario before
Starting point is 00:23:55 no so i know probably i can't think of anybody though i know of a few people i don't know them personally but i know a few people who have used co-working spaces because they work from home and so once a week or something they'll go use a co-working space to work from and there are other developers who work there in that same space but they don't work for your company and you can use that time to bounce ideas off one another and you know talk about technologies and other stuff that's cool so it is kind of getting at what the listener is asking where you can find people to work through ideas with yeah exactly because you're all kind of doing it for each other instead of you just accosting someone at a meetup and saying like hey i have
Starting point is 00:24:38 this idea for a new single page application architecture come to the whiteboard and then you scribble one of those crazy uh like mystery diagrams with all the boxes and arrows connecting everything yeah yeah i've never really seen meetups work well for this i've seen i've probably been engaged in a few conversations that they're like hey i want to bounce some ideas off you but it's so hard to share enough context in that limited time you know and people are like i want to go home i've been i've been here socializing for two hours and i'm exhausted excuse me i did that yawn out speaking of exhausted what oh it says you're the sole developer among a group of non-engineer non-software engineers is i mean will your team be able to grow ever will you be able to
Starting point is 00:25:24 hire more developers or is it just going to be you forever because this might just be a temporary thing either you won't be on the team forever or or your team will only be you forever um so it might just kind of solve itself by waiting that might be the second soft skills engineering advice if the first one is quit your job and get a new one the second one is wait and it will fix itself this problem will disappear in three months and be replaced with all new problems yeah yeah oh boy that's the least helpful advice ever and yet it is the most helpful advice yeah i guess it feels the least satisfying to deliver it doesn't make me feel like i'm handing over wisdom
Starting point is 00:26:08 all right well i mean if you are working by yourself you can use however many spaces you want between sentences good point one is going to be able to call you out or run a script to switch it all or introduce a linter that checks for it in your comments yeah i would say don't don't shortchange yourself this is a cool opportunity to get really deep on everything you will be the one person who knows the whole system end to end and i know we we already talked about this aspect but i mean this is going to stretch you in ways that it that you haven't been stretched before where you whereas in the past you've probably been able to lean on someone for that one little thing that you never quite understood that weird shell script that ran every
Starting point is 00:26:58 night and did something but you weren't quite clear on what you know that is gone you're it and yeah i would expect this not to be a permanent state of affairs for you because eventually you're going to need to learn and grow from others but i would say i take jameson's advice and and uh relish this opportunity to really go deep on everything and i think that'd be great i think you can still learn and grow from others at this time you just won't do it in the same way as if you had co-workers yeah and maybe not the same frequency either yeah and even if you are on a team um there are times where you might be the most senior person on the team of pretty junior people and you you definitely learn things from junior people but you might not learn like expert
Starting point is 00:27:41 level architecture skills you might learn how to work better with people but i guess this situation of uh not having a lot of other people in your code to give you the answers is not unique to to being the only person on your team yep so figuring out the answers is a good skill to have yep totally or or not even figuring them out that implies there are answers getting stuff done without someone telling you this is the right way to do it yep that's that's a better way of saying that absolutely totally agree all right did we answer it i think we did question has been answered where can people go if they want to ask a question they can go to softskills.audio our website i sound like the price is right guy i wish i did actually he's got a great voice
Starting point is 00:28:32 we have a link on the website where you can submit a question please submit your questions we love reading them and we love answering them and it's also got a button to subscribe if you're not subscribed already please subscribe in your favorite podcast app and if you're enjoying the show please leave us a review or just tweet about it if you're not enjoying the show you can still leave a review we discourage it though because we only want positive feedback here we welcome all feedback if you have any feedback good or bad we'd love to hear it yep thanks very much all right 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.