Autonomous Engineering Teams: What Works, What Breaks
In this episode of "How Many CTOs Does It Take?" podcast, hosts Scott Porad and Brad Hefta-Gaub unpack one of the most debated questions in engineering leadership: Should engineering managers also serve as tech leads? They explore the organizational signals that indicate whether a team is ready to thrive with true cross-functional autonomy, and what can go wrong when roles and responsibilities blur. And of course, it wouldn't be a How Many CTOs episode without a dive into AI-assisted coding—Scott and Brad share some recent wins (and fails) using tools like ChatGPT Codex.
- 00:00 Introduction and Host Greetings
- 00:53 Generative AI Tools Discussion
- 01:41 Challenges with AI and Coding
- 05:07 Onboarding New Engineers
- 10:03 Engineering Management Structures
- 25:02 Identifying Team Anti-Patterns
- 25:45 The Role of Psychological Safety
- 26:30 Product Manager's Influence
- 27:07 Balancing Centers of Gravity
- 27:59 Importance of a Tech Lead
- 28:37 Risks of Siloed Teams
- 32:14 Tech Lead vs. Engineering Manager
- 39:09 Prerequisites for Cross-Functional Teams
- 47:34 Core Beliefs and Team Structure
- 48:54 Conclusion and Call to Action
Resources:
- How Many CTOs Pod: https://howmanyctospod.com
- Scott Porad: https://www.linkedin.com/in/scottporad/
- Brad Hefta-Gaub: https://www.linkedin.com/in/bradheftagaub/
- Mindsets That Shape Software Delivery Team Structures - https://medium.com/@rethinkyourunderstanding/mindsets-that-shape-software-delivery-team-structures-51d25f20638c
#TechPodcast #EngineeringPodcast #DevTalks #PodcastForDevs #HowManyCtos #Podcast #Ctos #CtoPodcast #Technology #Engineering #SoftwareDevelopment #Entrepreneurship #Leadership #Management #EngineeringLeadership #TechnologyLeadership #EngineeringManagement #EngineeringProductivity #TeamVelocity #DevCulture #TeamCulture #EngineeringCulture #EngineeringManager #TechLead #ProductEngineering #OrgDesign #TeamStructure #TechLeadership #PeopleManagement #EngineeringCulture #StartupLeadership #EMvsTL #TeamDynamics #LeadershipTradeoffs #ScalingEngineering #OrgRoles #CollaborationMatters #ManagementVsLeadership
Brad: Somebody who's going to create that sense of empowerment and autonomy and psychological safety and being cohesive dynamic.
I'm not so sure that the org structure is really the high order bit to how to get there.
Scott: Welcome to this week's edition of How Many CTOs Does It Take?
My name is Scott Porad and this is my co-host.
Brad: Brad Hefta-Gaub.
Scott: Brad,
how are you doing?
Brad: I'm doing pretty good. Yeah.
Scott: Good.
I'm glad to hear it.
Brad: Yeah.
Scott: What's going well for you these days? We typically just talk about things that aren't going well.
What is going well?
Brad: uh you know um we can talk more about this in a in a maybe in a whole episode we could talk about this but i have been having a lot of fun playing around with um some of the latest um generative ai tools that are out there so one of the things i've started doing is using the chat gpt codex and i literally just tell it things and then let it go off and come back and do it for me and
I have, I have, it's been fun.
Scott: Well,
it's very interesting you say that because I used chat GPT codecs for the first time myself yesterday,
and
Brad: Yeah,
Scott: I had a different experience than you.
Brad: it's definitely hit or miss.
Scott: Well,
I just thought this is not fun.
I asked it to do something and I just sat there and waited for it to do it.
I didn't know how long it was going to take. Was it going to take a minute? Was it going to take 10 minutes?
And I thought to myself,
this is kind of boring.
Brad: So I've been using it. I've been using it for super simple tasks.
We're almost doing the other podcast episode. Hold on. But I use it for simple tasks like updating the How Many CTOs podcast website or updating my own personal website.
And I've gotten to the habit of like.
like literally I'll just open it up on my phone I'll give it a command and then I'll just go on about my day and then I come back like you know 20 minutes later and check on it and it has a pull request and then I look at it and I test it
Scott: Yeah, so that's the right interaction model.
It has to be very asynchronous, right?
I was actually actively trying to do something and being engaged in it. And then it led me to think.
Well, this is going to lead to a lot of switching costs because I'm going to go start doing something else and I'm going to stop that and come back. And I think you've got it exactly right saying,
I'm going to set this off, but I'm not going to come back to it till later.
Right.
Brad: Yeah.
Scott: So it's almost like good for sort of almost secondary activities. But like if your prime thing you're working on and then you sort of kick some stuff off, well, this was my prime thing I was working on.
And then I was kind of going and finding some secondary things to work on.
Brad: Well,
and then the other thing I've started doing is being completely not precious about whatever it comes back with.
So if I look at it and it missed the mark,
I just delete the pull request and say,
you failed.
Scott: Well, that's interesting you say that because I asked it to do something that I don't have a lot of expertise with.
I asked it to start writing a React Native app for me and I've done some like Hello World apps,
little,
you know, make a duck fart kind of React Native type apps, but I've never really done anything with it.
And so it came back and I started looking at it was came back with 60 files and I thought to myself,
I don't know if this is right.
And I don't actually know how to know if this is right.
I guess what I could do is I could have somehow taken that poor request and fed it to some other AI bot and said,
is this right?
Brad: What do you think of this?
Yeah.
Scott: And so I found myself a little bit stumped after that happened. And then what I went to go do,
now this isn't right, you'll appreciate this part.
Then when I said, OK,
well, here's how I'm going to know if it's right,
I'm going to go take this poll request. I'm going to pull down this branch to my local computer and I'm going to run it.
I happen to have a new computer.
no home I don't even have homebrew on this computer and then I was just like oh my god here we go now we're going down a three-hour rabbit hole of getting the computer set up and I'm going to be back here and it's like wait what was I doing in the first place I
Brad: Totally.
Scott: need an AI bot where I can just say get the computer set up for me please
Brad: Yeah.
That's coming,
I'm sure.
Scott: Oh, yeah.
So actually, that's what stopped me is I didn't have homebrew and I was like,
oh, brother.
What do I do now?
Brad: yeah but that's not ai specific right that's like
Scott: No.
Brad: the classic like i'm just going to use i'm going to use some open source project or i'm going to use a recipe that i found on you know stack overflow like we've been people have been running into developers have been running into those types of issues
Scott: Yes.
Brad: like getting the machine set up getting the environment like it's like the number one thing that happens when you hire a new developer into the organization is you got to go like you know drop the
you know the docs on them about how to set up the environment i used to think that was like a good metric of like how how dialed an engineering team was as if is you know time from like employees first day to they have the code running like Oh, are you kidding?
that's like
Scott: That's bush league, my friend.
Going back a few. So several companies ago, we started doing this. I did it at two companies.
So for a total of 13 years,
engineers zipped code to production on their first day.
Brad: Oh, well,
there you go.
Scott: To make that happen,
took a ton of work. Because when we first started.
it was taking an engineer days just to get their workstation set up and their local environment set up and all that stuff and so we set a goal like okay you need to be able to ship on your first day and then there had to be a bunch of other stuff that had to get in place you get a lot of stuff in place and we didn't want them to show up that we told this was a big part of our recruiting of our all that stuff and
we said look we don't want we're not asking you to show off your coding skills here we have picked something for you a small bug where like the coding is no big deal here but the fact is value is created when your work gets to production and we want to show you value on your first how to create value on your first day and
We had to do some work with our people team,
right?
They wanted to have the whole morning where you're filling out forms and all that stuff,
Brad: Right.
Scott: right?
And there was this study I saw actually John Helm, who was on this podcast previously,
is the one that tipped me off to this decades ago.
It was a study of factors that contribute to extreme work dissatisfaction.
Brad: Okay.
Scott: And I think it had extreme satisfaction to I think it was both of them. But it's all the HR stuff that you do on your first day,
bureaucracy,
red tape, paperwork,
all that nonsense.
Those were all the extreme dissatisfaction.
Brad: Right.
Scott: And then the extreme satisfaction stuff was stuff like, you know, achievement,
competency,
you know, those kinds of things. Right.
And then right in the middle, neither.
It's neither beneficial or not beneficial was compensation.
Brad: Yeah.
Scott: So that was an inspiration for it as well. So we did this where we got people.
and then shipping on their first day and then it became a contest then it became engineering managers like how fast can i get this guy to ship then it's like hey our guys ship before lunch hey our guys ship me our guys ship before 10 30 right like um and so it became a whole thing like how you know and there was here's this is the last thing i'll say to anybody who's listening the key to making this whole thing work
is we have someone start it's not like there's the Doc's going to make it happen it's like hey I'd like to introduce you to Brad Brad is your mentor for the day and his job is to help you ship something to production Brad has been relieved from all of his tickets and stuff that he's supposed to be doing today that's this is not just like if you have a question ask Brad this is Brad is going to sit with you and help you make this happen
And that was a real key,
right?
And what we found was people loved the experience.
They didn't remember all of it. I mean, like, you know,
there was lots of you on the second. It wasn't like they were just off and running on the second day, but they'd ultimately seen all the steps in the process and it was a function. It forced us to get our ducks in a row so that there's a one click dev environment.
Like you just had to have the machine there on the first day.
Brad: And are you, yeah,
are you, so that sounds like a utopia. I love the sound of that.
Scott: Yeah,
it was great.
Brad: And how many of the ventures that you've worked for accomplished that percentage-wise, let's say?
Scott: Well, let's percentage, I've probably worked at 12 places, so it was two, there's only two, but we've done that.
And so it's been, it was, it was those two, and then I've been at three places since,
and I haven't done it at three places since.
In part because if those two places we were rapidly hiring and rapidly growing and
Brad: Totally.
Scott: we're not at these places, I mean, but there's hiring happening, but it's just not the hyper growth kind of thing.
So it's just not the biggest problem to solve.
Brad: Yeah.
Fair enough.
Well, you
Scott: Okay.
Brad: said somewhere in that thread that the engineering managers liked to compete with each other about how quickly they could get their new engineers checking in code to production.
And that dovetails nicely into the text message you sent me earlier today about
Scott: Right.
Brad: the role of engineering managers.
Scott: Yeah, so everyone just who's listening,
I got an article forwarded to me today about engineering management and how to organize an engineering team.
And, and I sent it to Brad and I said, What do you think about this? I'd love to discuss this with you.
And let me just summarize as I read it. I don't
Brad: Yeah.
Scott: have the article in front of me, but
Brad: Yeah.
Scott: Basically, the article said,
look,
most organizations are organized very hierarchically where you've got an engineering manager and maybe there's directors and stuff, but the engineering manager and their direct reports are the unit of delivery.
They deliver stuff.
And so the engineering manager is responsible for both the personnel management of their team and.
the project management of their team and this author was making the case that building having an organizational structure where you have managers and reports but the managers are only responsible for the personnel management so performance management and mentoring and coaching and all that stuff and separate from that are cross-functional teams that are not at all connected to the organizational structure
that, you know,
consist of engineers from a variety of teams,
consist of perhaps designers, product managers,
whatever skills you need for that thing,
for that objective.
And that is the way that this person's adopted and there's pros and cons to both, but he thinks that this is the best to do it this way.
And it was thought provoking.
and I sent it to Brad I said I'd love to discuss this with you and then Brad texted me back a little bit later and he said I have a lot to say about this to which I responded I have no doubts and what I but what I said to Brad I said and it's funny that I'm talking to you about this in third person but I am relaying it to our audience I said I'm interested in hearing what you think about this the pros and cons but I'm also interested in this question
what are the conditions that must be true for this to be successful?
Brad: Yeah.
Scott: That's the question that's on my mind. It's like,
okay, or alternatively, what conditions
make it such that this couldn't be successful it would be harder to be successful because it sounds great in theory but
Brad: Yep.
Scott: when the theory meets the reality what is it that makes it actually work or not work so with that i'm also good i'm practically going to interview you brad welcome today brad we have a special guest on today his name is brad have to go and uh what do you think
Brad: Well,
thanks for having me on the podcast,
Scott.
I've been a longtime listener,
first time caller.
So first of all, I want to say I think you did a great job of kind of summarizing the themes of the article.
There were a few things that the that the.
original author made as a point and we can link this article in the show notes um i am looking at it now and it's interesting because it doesn't actually say the name of the author it's like a medium and so it's like the author's name is not on the article so okay whatever um the other points that he makes about the why behind this i think
expose some of the challenges.
Scott: Okay.
Brad: So the why that he,
the main why that he is giving, which 100% resonates with me and I think is a really, really good point, is basically that you want engineering teams to feel really a strong sense of ownership,
some appropriate level of autonomy,
and team accountability for results.
Like that,
if you can get a team to feel a strong sense of ownership about their results,
a sense of accountability to each other,
and all of the psychological safety that's necessary to make that happen,
right,
then that's...
That's goodness,
and that's going to get great results in software engineering,
right?
We've talked about that in many of our episodes in the past, and a lot of the leaders that we've had on,
this has been a big theme,
right?
Scott: Yep.
Brad: I think that the straw man that the article makes, which I reject,
that's why I'm calling it a straw man, is that...
Definitionally, if you have a leader who is both a people manager and the buck stops here accountable for delivery,
that somehow that breaks psychological safety or somehow tamps down on autonomy and shared ownership within the team.
I think that's a straw man that's completely false.
Scott: Mm-hmm.
Brad: In fact, I would say that that's what makes a good leader and that's what I look for in a good engineering manager is somebody who's going to create that sense of empowerment and autonomy and psychological safety and, you know, being cohesive dynamic.
Um,
so that's like thing one that I am like,
okay, I like the idea that we want to get to this place.
I'm not so sure that the org structure is really the high order bit to how to get there.
Um, that makes sense what I'm saying there?
Scott: Yeah,
makes perfect sense.
Did you think there was another element there as well about?
There was an implication that these teams could somehow like get better results,
go faster,
write better code,
build better solutions to
Brad: Yeah,
Scott: the problem.
Brad: but that's just like that's a straw man. That's that's that the only way that you can first of all, he presents no evidence of that at all.
And instead only kind of uses the straw man of if you ever have any kind of.
of, like...
engineering manager who's both the people manager and a technical leader that somehow that eliminates autonomy that's not true or that that somehow eliminates um free thinking um you know growth mindset i mean that's not true that but that's a total straw man to say that those two things are mutually exclusive
Scott: So setting that aside,
do you think this kind of matrix style of team does get better results or do you think that's just a
Brad: I think it's 100% about can you get the psychological safety?
Scott: Okay.
Brad: Can you get the true sort of like engagement at the individual level?
And I think that that is,
in my experience,
I have seen that that is more likely to occur when you have a high quality engineering manager.
than when you don't.
Scott: What?
Brad: And you actually,
and I'm happy to answer the question that you started to ask, which is, what would be the signs and symptoms to indicate to you that an engineering management in a kind of hierarchical command and control thing is undermining the progress of the team?
And what would be the sort of attributes that would be necessary for a team to have to be able to be successful at this sort of like non-hierarchical approach? Because I think there's clean answers there.
And both could work in the org, but it depends on the org and the culture and the individuals in the org. Okay, let's get there in one second. I have one other question,
which is, in theory, in these sort of matrix teams,
you can get a diversity of skills,
right?
You can have a team which has one data engineer on it and one...
Scott: front-end engineer on it and one you know you get kind of have that little mix of the sort of I think you know kind of back in the scrum days like well scrum still here but like that idea of the true scrum team which is its cape has all the resources it needs to get the thing done and
I mean, I think is an advantage of it,
right,
which is theoretically you get as opposed to saying,
well,
we're doing this, but we need support from this other from the data team. We need support from the design team and we need support from, you know, whatever the analysts, we've got them all here on the project team.
Brad: I don't see any reason why just,
again,
the hierarchical engineering manager structured approach doesn't mean that you can only have.
you know, react native engineers on the team, right?
Scott: That's
Brad: Like
Scott: true.
Brad: if the project, if the project has, you know, ML data, you know, data analysis responsibilities and you've got those experts in your team or, you know, they can both be on the team.
Scott: Yeah,
Brad: That's
Scott: it's true.
Brad: not.
Scott: We have teams where I'm working at now. We've got mobile engineers and front end engineers and back end engineers like all on the same team.
I guess here's an interesting thing.
You know, perhaps this approach of separating out the reporting structure from the team structure gives.
an organization a little bit more fluidity of hey we put together this team build this project do it we're done but as an individual like my reporting manager isn't like that's a very kind of a disruptive thing when your manager changes right if you think about in a bigger company that has performance reviews and stuff like that it's weird when you switch managers mid cycles and stuff like that that
Brad: Yeah,
Scott: maybe gives a little bit flexibility there
Brad: Sure.
And I've used that sort of approach of like splitting,
you know, kind of keeping a people. I've used this technique before in past lives and it's been in these situations where there were several sort of like, you know, kind of like tiger teams that needed to spin up to go do specific things and then they weren't going to.
last that long and we did that type of approach and i think that that's a good example of when you might want to use it
Scott: But that's not what this guy was saying. He was saying using it everywhere.
He wasn't saying
Brad: yeah and
Scott: Tiger
Brad: i think
Scott: teams.
Brad: that yeah exactly and i think that um you know again i think that
there's a strong like bias in the article that kind of talks about um
The hierarchical being legacy,
the hierarchical being command and control,
the desire to keep the hierarchy being sort of like fear of loss of control.
Like there's a lot of that language in
Scott: Mm
Brad: that article,
Scott: -hmm.
Brad: right? And look,
I would say that like.
That may be a leading indicator that if you do have leaders in the organization and you are getting these reactions within the organization of like,
these are my people,
don't
Scott: Yep.
Brad: tell me what I do with my people, right? Like that would be a symptom that probably you do have a problem with your hierarchy and you might want to try to do something to disrupt it and affect it, right?
But.
That's that doesn't have that there's plenty of hierarchical organizations where there's team leaders who are both accountable for people management and results of the team who create create really strong levels of of trust and psychological safety and team ownership and,
you know, servant leadership.
That's what servant leadership is about.
Right.
And so, you know, I think that that's one of the kind of the flaws in this article,
it just kind of speaks to this mistaken idea that somehow hierarchical work structures definitionally mean that you aren't also collaborative,
Scott: Yeah.
Brad: right?
Scott: Let's swivel this around for a second to that other question.
Which is, let's say you do think there's some benefit to this, right?
Setting aside the critique that you've got there,
you decide you want to do this with the organization.
But there are conditions under which it would do better or worse,
right?
And I'm curious to know.
I have
Brad: Well,
Scott: a few in mind that would make it do better or worse. I'm curious to know it. And I could see the conversation with those if you want. I could give you a blank slate. It's up to you.
Brad: well, okay.
I have, let me, before I share my ideas on signs and symptoms on this, let me tell you an anecdote from my career early in my career.
Scott: Okay.
Brad: The first time I became a manager,
I had been a high performance.
individual contributor.
I was working on a team.
I am very much a,
I love the autonomy. I love managers who say, this is our goal,
go figure it out, right?
So I am exactly from an IC perspective, I'm the kind of IC that works fantastically in one of these kind of like non-top-down orgs. And when I first became a manager,
I naively assumed that all the engineers on my team wanted to be managed by me the way I want to be managed.
Scott: Yeah.
Brad: And so I just kind of would walk in the room and I'd be like,
hey,
we're stoked.
We got something to do.
This is what we're going to do.
This is our goal.
This is where we're going.
All right, everybody,
go make a difference.
Right.
And I did that for a couple weeks.
like literally the first couple weeks of being a manager and finally one of the engineers who was you know 10 years my senior um you know dragged me out you know kind of dragged me aside and he was like brad like you need to go in there and you need to go tell them what to do they want you to tell them exactly what you want them to do and you're you're you're they're they're stuck until you go do that
And.
I mean, that was a real eye opener for me because I was like,
what?
How can that be?
Like, how could they want that,
Scott: Mm
Brad: you know?
Scott: -hmm.
Brad: And I'm not saying that every engineer wants to be told what to do,
but I think there are a lot of engineers that actually prefer.
And it's so this is why I think it's a it depends.
Right.
I think there's engineers who really do prefer like,
hey, just give me a really well or well written ticket that's shovel ready and I'll go do it.
And I like that.
I feel that's that's what I like. I like to be given it and I like to be given that day to day guidance.
I don't want to I don't not all engineers want to be given the burden of figure it out.
So that's one of my first prerequisites to this being successful.
Scott: Mm-hmm.
Brad: Or maybe it's an anti-pattern. If you see this anti-pattern, you're not ready.
And that is if the team heavily relies on day-to-day guidance or as a team they're struggling to break down work or they defer decisions to...
They're managers.
Scott: Mm
Brad: You
Scott: hmm.
Brad: have to ask yourself,
well,
wait,
is that because that's what the manager is because the manager is kind of forcing that on them or is that because that's the natural way that team works?
Scott: Well,
and I would even flip that around and say there's a certain type of.
I'm just going to call it personality. I'm not sure that's quite the right word,
but a person who would thrive in this environment?
And do you have those people or do you not?
And then I'm going to add on to that,
it's not just the person.
I use the word environment.
You also have to have an environment where people,
you've used this word many times, psychological safety is not a word, it's a phrase, but where people feel
when you're making a proposal for how to solve a problem you are being vulnerable right you're you're and
Brad: A hundred percent.
Scott: so you have to have an environment where people feel safe doing that and part of that this is this is one of the risks i think of the of this approach but it can be fantastic it actually the the authors to say there's no leader of this team right this it's a it's an it's a it's a it's
a
not equilateral that's not the right word but an equal group right group of peers let's say but
Brad: Yeah.
Scott: the truth is there is a product manager who has come with a request and to some degree that implicitly puts them in the position of authority because they're they determine whether the request is being satisfied or not and so
You almost a prerequisite is like,
what is the disposition of your product managers,
right?
If they're bringing
Brad: Well,
Scott: a very collaborative mindset to the table, then it's going to work a lot better.
Now
Brad: another
Scott: here, yeah.
Brad: way to say that, another way to say that, Scott, is that.
look at these kind of areas of gravity in
Scott: Mm-hmm.
Brad: the project and one of them is obviously the product manager another one is going to be like
design another one's going to be engineering right
Scott: Yeah, hmm
Brad: you got to look at those sort of centers of gravity and ask yourself are they generally balanced are they generally fluid in their working style and if they're not if there's if there is existing you know tension between those groups then
Taking out an actual assigned accountable leader is definitely going to be a recipe for stalling.
Scott: Well,
you brought up gravity. This brings up another piece. You talked about the engineers.
Well, it's really actually there's one particular engineer that's critical to have this system working.
I'm just going to refer to that person as the tech lead.
Brad: Yep.
Scott: That's a very broadly used term, but ultimately someone has to get the engineers on the same page in regard to the technical design.
Brad: Yep.
And in the article,
that's kind of one of the roles that
Scott: Yeah,
Brad: you described
Scott: that's right.
Brad: in this cross-functional team.
Scott: OK,
so here's two things that I thought would be necessary for this to be successful.
a fat platform because the alternative is you might end up with a bunch of silos right we've talked about silos before among this
Brad: Oh, you mean, let me just make sure I'm understanding what you're saying. What you're saying is that.
If you, well, gosh,
the episode that recently came out about with Greg Conklin, where he kind of talked about Groupon versus Dropbox, Dropbox had a fat platform layer,
Groupon had a bunch of tiny little two pizza teams that had all of their own code.
And so you're saying that.
What are you saying about that?
Scott: I'm saying that this, well, these are two pizza teams they're talking about, this author's talking about, and I'm saying you run a big risk of ending up with a ball of mud in this kind of situation because as a team, we're focused on delivering the thing that we're delivering and we don't really have an incentive other than altruism.
to do
anything more than what we need to do to get our thing done because we're being held accountable to delivering our thing and that can work really well if you've got a very robust platform that you're essentially building on top of but if it comes to pass that
Well,
I don't know.
My team needed a key value store for something and your team needed a key value store for something.
That's very generic, but let's even go further.
Like my team needed a tagging system for we're running an e-commerce site and I wanted to label things and you wanted to label things and we don't collaborate on that to build one labeling system. We end up with two labeling systems,
right?
Brad: I think that's another.
I 100% agree that that's a very likely thing to happen in this kind of a configuration.
And so then you just have to ask yourself, like, was that wrong or is that appropriate for the org and the business goals,
right?
So if your business is of the nature that having a lot of like silos that are potentially redundant and potentially conflicting with each other is,
you know, existential.
Right. Well, then that don't do that if your business can tolerate that,
because for whatever reason,
like strategically,
you're in hyper growth mode, you know, like in the in the Groupon story,
it was like they were different regions. And so it was kind of OK that they had slightly different features and functionality, you know, and I could picture a whole bunch of other scenarios where that challenge that you're highlighting,
which is for sure going to happen in this model.
If it doesn't have the right setup,
that
Scott: Yeah,
Brad: might not be a problem
Scott: it
Brad: necessarily.
Scott: might not be a problem.
I'll flip it around. If you find yourself in a situation, and I have found myself in this situation before,
where an engineering team,
the velocity or quality was not what the organization wanted because of previous siloing.
Brad: Right?
Scott: this is going to make it potentially make it worse unless you have a fat you invest a bunch in your platform team right you say okay that's cool we're going to make a bunch of these you know teams running around doing crazy stuff but we got a foundation underneath them so that there's going to be one labeling system right and
Brad: Yeah,
Scott: that
Brad: 100%. I
Scott: that's a condition i think you'd have to have to make it successful
Brad: agree.
I thought you were going to say something slightly different about tech leads.
Scott: Okay.
Brad: And so let me share this idea.
When I think about,
well,
so I'm going to contrast a tech lead as articulated in this article to what I consider what I'm looking for in an engineering manager.
Scott: Okay.
Brad: I think this article is speaking to the idea of like have the strongest technical person that you can get be the technical lead on the team.
Scott: Yeah.
Brad: And there's a sort of second there's another straw man that he kind of makes that it's it's a you're asking for too much if you want your strongest technical person to also be a good people manager.
That's a unicorn and you can't find that.
Okay.
All right. So let's just say that we've said,
you know what, what we really want is the strongest technical person that we can get and they're going to be this person on this team.
If that person has no EQ and is not good at advocating with for or with the other engineers.
collaborating with your product owner then you're equally up a creek without a paddle and so this model assumes that somebody somebody in this this this constellation has to be fluent enough technically
and fluent enough from an EQ team persuasion collaboration.
Like somebody has to have both those skills for this constellation to work.
Scott: Yeah, you're saying I agree with you and I would.
pretty much slightly differently which is i actually think strongest technical tech lead is its own skill and so strongest technical person and tech lead are not the same thing i'm not trying to toot my own i was a very good tech lead i was never the strongest technical person and
Brad: Yeah.
Scott: i was a good tech lead because i could talk to the product manager understand what they want i could i was good enough engineer that i could talk to engineers and figure how to build it and i could write down
I could write it down. I had the communication skills,
right?
Draw a picture of it, write a document, whatever it was.
And so...
I,
Brad: And and you weren't a jackass.
Scott: wasn't that.
Brad: So you
Scott: Well,
I think a weren't lot of
Brad: a jackass.
Scott: people would say
Brad: And so.
Scott: I was a jackass actually, but besides
Brad: Well,
Scott: the point.
Brad: I mean, we're all we all grow and mature over our lifetime.
But the point is that in it, I yes,
everything that you just said is exactly what I'm talking about. And I think that that's, again,
kind of like.
This misunderstanding of kind of this constellation,
right,
where it's like you can't not have,
you need to have a person that's capable of doing those things that you just described.
being good at keeping everybody on track.
And I don't mean the sort of like agile scrum master project manager stuff of keeping everybody on track, but I mean the growing of consensus.
Scott: Yeah, that's right.
Yeah,
that is a very specific tech. The growing of consensus is that tech lead skill.
Yeah, that was one of the conditions I thought as I was thinking about this. You have to have enough people who have that in order
Brad: And
Scott: to.
Brad: typically, typically that's what I look for in an engineering manager,
right?
So what I look for in an engineering manager is somebody who has all those skills that you just described.
They don't have to be the strongest technical person,
but they definitely have to be fluent in whatever the team is doing.
And also,
they need to be fluent enough and practiced enough in the technology that they are able to differentiate between good ideas and bad ideas.
And if they're really going to be good at keeping this constellation together,
they also have to be able to hear the idea from the junior engineer.
Scott: Mm-hmm.
Brad: That is a better idea than the engineer, the idea from the engineer that's got 10 years experience and they need to be able to manage that and a small and manage that subtlety and that nuance.
Scott: Yeah, for sure.
Brad: And I there's I mean, it's not that that's.
You don't have to have a title to be good at that.
Scott: No,
Brad: And so if you have those types of people and you can sprinkle them in these little constellation teams,
fantastic.
But those people actually would be really good people managers and are really good engineering managers.
Scott: often,
you know, there's a lot of books I want to write or a lot of chapters in one book I want to write and one of them is
the subject which is the maybe I've said it at some point on the pod but like career guidance I frequently give to like senior engineers or mid-level engineers who are crying early any engineer who's asking me about how do I advance my career I said look you want to get to the point where you're good at those tech lead skills because at that point you're at a fork in the road
Now you can say, I want to go down this management route,
or I want to continue on an engineer route.
But in either case, what you've got is the skill of, I know how to get a bunch of engineers to coalesce.
We have general consensus around a plan such that we can then all go off and take tickets off the board and do it.
Brad: Yep.
Scott: And to me, that is actually the most important or actually I don't know if it's important is the right word.
I'll say the most valuable.
skill right essentially it's the person who can talk to someone who's got an idea and talk to people who know how to turn ideas into software and bring them together and make a plan you are the Rosetta Stone right almost and I don't know if you're really a Rosetta Stone but you're kind of a Rosetta Stone but to me that is the skill where value gets created and if you can get yourself there as an engineer then you can say what do I want to do next with my career
Do I like building the stuff? Then I'm going to go this IC principal engineer kind of route.
Or do I like the people part of it? And then I'm going to go this manager route.
We digress.
Okay, so.
Brad: Well, but I think that, yes,
we had digressed a little bit, but to me, if we're going to enumerate like what are the prerequisites to make the.
What are the prerequisites to
Scott: Yeah
Brad: make this kind of like cross-functional team successful?
And one of the answers I think is a prerequisite is you've got to have somebody on the team,
probably the tech lead is the best person, but you've got to have that person that is good at that.
that everybody else on the team respects enough Yep. to listen to them.
Scott: So if you're going to embark on this, you have to have some of those people in your organization to start.
Brad: Have to.
Scott: OK,
Brad: You
Scott: I want have to go
Brad: to have at least one of those people for every one of these teams you're going to create.
Scott: back and add on to my comment about the thick platform,
the fat platform.
This might be a compliment to that comment or it might be a substitute for that comment. I'm not sure.
Which is.
If your organization has a well understood.
Brad: If it's solid shared understanding of the overall design and architecture of the system,
it will work well.
If you don't.
it will struggle.
And I don't know if that's a substitute for the platform or if it's a complement to it, but I think it's key that if you have that, if generally speaking, everyone in your organization can sort of articulate this is how it works. And if you say,
hey, we need you to add a flex capacitor in here,
they can say, well,
great, we know exactly where this should go in the system. And largely people agree that that's the right solution.
Then you'll, then it'll go.
Well, or it's just either way around. It still might not go well, but if the opposite is true, it's not going to go well.
Scott: Yeah.
And if we like.
Compare and contrast that to what we would say the alternative is where we have an engineering manager.
And if we have an engineering manager who is really fluid in the conversation, in the technical conversation,
they're really fluid in the people management piece of it,
the building of consensus,
the understanding the needs of the project,
understanding the business needs,
the understanding of the needs of the individual members of the team.
of the team their strengths and weaknesses right then that can make you get through the hard problems that don't have you know obvious technical
Brad: Mm
Scott: answer right
Brad: -hmm.
Scott: because then you at least have somebody who's kind of like okay yes this is hard this is going to be hard i we're going to have to we're going to have to do something special on this one let's not give it to bob
Because Bob doesn't know that part of the code at all.
Brad: Yeah,
that's
Scott: Let's give it to Valerie because she's worked on that code for the last five years.
Brad: true.
Okay,
Brad,
one last question for you.
You said you've done this before.
And I guess my question is, would you do it again?
Scott: It takes a very,
it's a lot harder to pull off than the EM model.
I think it
Brad: interesting
Scott: is.
Brad: is is it equal so it's much harder to pull off and under the umbrella of you you get what you pay for so you have to pay more for it and work it harder is it equally better or bet or even more you get value for that effort
Or is it not worth it?
Scott: I think that if you have the type of team that can thrive in this cross-functional team model,
if the individuals in your organization are going to thrive in that model,
they're already thriving in the EM model.
Brad: Yeah,
that's right.
So if you think
Scott: I
Brad: it's, if
Scott: mean, if this
Brad: it has interesting,
Scott: if someone's if someone's looking at this and saying, I want to go do this because we're not thriving right now and I think this is going to make us thrive.
Brad: not the answer.
Scott: I don't think so.
Brad: Yeah,
Scott: I've
Brad: it's fascinating.
Scott: never seen that. I've never seen that be the answer.
Brad: Yeah.
Scott: Let's think let's think about some other things, right?
Go be a fly on the wall.
Go get behind the mirrored window and watch.
Do the team members, when they're interacting with each other, do they give each other feedback?
Are they are they direct and open with each other about what they think the good ideas are or the hard ideas are? Are they willing to say I'm struggling with this?
Are they able to are when when the when the engineer says,
hey,
you know, product designer like that's cool looking, but it's going to take me this much hard work to do it that way.
What do you think about this idea over here?
Right. If that's the kind of conversation they're having,
that's fantastic.
If it's like, oh,
I got to do it exactly the way the designer said,
and that means I'm spending the next three months on this and I don't bother to say, did you know there's a three day version of this that I could also do?
Right.
So like.
Which what which what does the team dynamic already look like?
Brad: Right,
right.
Scott: Right.
And.
If the team dynamic is already that people work that way and are collaborative and have great psychological safety and are autonomous and open-minded, then I bet you the engineering manager is the one that made that happen.
Brad: Well,
and I bet you something else, which is that organization probably already is kind of informally working this way anyhow.
Scott: Of course.
Brad: What that's what's happened is there's a project and some engineers and designer and whoever they've gotten together and they've started working as a very collaborative unit naturally without any
Scott: Naturally.
Brad: structure to it.
Scott: Yeah.
Brad: Yeah.
Scott: And,
and this again,
like this is where I'd say like, that might that probably happened because there was a really good engineering manager.
Right.
And the engineering manager was like.
Hey,
Valerie,
Bob,
I want you to meet Rajesh. Rajesh is the new designer that just started.
Rajesh is going to be 100% on this project.
He reports to Bill over there,
but you guys are going to be collaborating together.
Brad: Mm
Scott: And Bill and the engineering manager,
they understand that this collaboration happens.
And so they're not territorial about it,
and they both facilitate it.
Brad: There's another thing I think of as a flaw.
Here is one place where I will be critical of this approach.
So then what do your engineering managers do?
Yeah.
Scott: You mean in the version where you just have these clusters and the engineering managers are people managers?
Brad: Yeah.
Scott: Oh, yeah,
totally.
I don't want to be an engineering manager in that company.
They're party planners.
They're just throwing birthday parties and like organizing like virtual,
you know, mixers.
Brad: Yeah, unless to some degree they're capable of also sometimes playing a role in one of these teams as an engineer or a tech lead or whatever.
Scott: Okay, sure.
Agreed.
Brad: Okay,
so I think we've decided we don't like this idea.
Scott: I could have told you that as soon as you sent me the article.
Brad: Yeah, I think it's interesting.
I think what you're really getting at, what it really tells us is.
The org structure doesn't make a difference.
That's your key point.
It is the interactions,
the EQ,
the interactions,
the psychological safety. It's all those kinds of things that make the difference.
And if you get that stuff right, people are organized doesn't make any difference.
And if what you're trying to do is say, hey, my team is not being as effective,
my team or my organization is not being as effective as I want it to be.
So I'm going to try some new org structure or some new way of doing it.
That's you're treating a symptom.
You're not getting to the root of the issue.
Scott: Yeah, I
Brad: And the root of the issue, frankly, is really,
really hard,
right?
It's people skills.
It's that we've talked about many times. It's the psychological safety. It's EQ.
That stuff is just crazy, crazy hard to get right.
Actually,
Scott: 100%
Brad: I shouldn't
Scott: agree with
Brad: say it's
Scott: that.
Brad: crazy hard to get right.
It's hard to correct when an organization is, I'll use a strong word,
it might be just wrong, being poisoned,
right?
It's hard to unwind or hard, it's a hard antidote to that because it's, you know, it's people's emotions and feelings and things like that is very, very difficult to change.
Scott: I 100% agree with that.
I think that, you know, there was something in the article that I thought kind of tried to speak to this, which is this idea that somehow the way you organize your team actually speaks to your core beliefs.
And this notion of like, if you're a hierarchical team that you clearly are, you believe in.
top-down command and control.
Brad: Mm-hmm.
Scott: And I reject that premise.
I think your core beliefs override everything.
And if you have core beliefs that we are a team together,
that we hold each other accountable,
that we create psychological safety,
that we are growth mindset.
Then those core beliefs transcend
project organization.
Brad: Yeah,
I don't think that's incompatible with what the author said,
which is if you have command and control beliefs, you're going to do the hierarchical approach and you're going to reject the matrix approach.
And what you're saying is if you don't have if you have other core beliefs like you just enumerated.
You're going to have a, you're going to choose either because the structures are relevant to you.
Scott: Exactly.
Brad: Well,
Brad, this has been a fun conversation today.
Scott: I really enjoyed it.
Brad: I really enjoyed this one too.
What do we want to tell everybody?
Scott: Um, smash
Brad: I thought you were just going to say smash rate and subscribe.
I know you're trying to come up with.
Scott: rate,
subscribe.
Oh,
support us on Patreon.
Support
Brad: We have
Scott: us on Patreon.
Brad: we have our first Patreon supporter,
don't we? Isn't that true?
Scott: Paid a paid Patreon supporter.
It's true.
Brad: Out of our hundreds and hundreds of listeners,
we have now have one paid Patreon supporter.
Scott: Yeah.
Brad: We got to go make that Patreon page look better.
I set that whole thing up on my phone, by the way.
I need to tell,
I need to, can I tell ChatGPT codex, go make our Patreon page look better?
Scott: I haven't tried that, but you definitely should try
Brad: Can
Scott: that.
Brad: I just paste my credentials into ChatGPT and it'll make it work?
Scott: What could go wrong?
What could go wrong?
Brad: All right, Brad,
thanks for your time today.
This has been fun.
I can't wait to do this again with you next week.
And
Scott: Yeah,
Brad: we'll talk to you soon.
Scott: talk to you soon.
This episode of How Many CTOs Does It Take podcast was edited by Saffron Heptagap.
Our theme song was AI Generated by Brad.
Please follow us on all the social media platforms at at HowManyCTOsPod.
You can find us on YouTube,
LinkedIn,
Instagram,
Facebook,
Threads, X,
TikTok,
and Patreon,
or at our website at HowManyCTOsPod.com.
And remember to rate, review,
and subscribe on the podcast platform of your choice.