Guiding ambitious task-hogging beavers and their teams

Posted by niowniough@reddit | ExperiencedDevs | View on Reddit | 31 comments

No tokens were used in the creation of this post.

-------------------------------------------------

I've been musing on something and would be very interested to hear from fellow experienced devs who have been on either side of the scenario.

We know about the profile of a Hero, where a single developer repeatedly tries to uphold a metric or process despite systemic dysfunction, working evenings and weekends and investing a high amount of personal intervention, usually because they believe that upholding this thing is of the utmost importance. I want to be clear that this flavor of heroism is not the focus I intend for this post.

For this post I'd like to discuss an adjacent profile. Maybe it will help to give it a name to reference in discussion, so let's call it the Beaver. This looks like a single developer, usually somewhere between junior to intermediate level, trying to be personally assigned in some manner to a great number of things, holding more tasks than their peers. Such assignments are usually a mix of formally visible tickets and side tasks such as volunteering to help people achieve something which the Beaver wants to learn about. They are usually only marginally faster than their peers, so the degree to which they hog more tasks is not corollary to some nature of being a 5X dev. If they could finish 1 task per day, they'd hold 5 tasks and work on them all for 5 days, with a few of the tasks held inactive at any given time. This dev usually has a tendency to work more hours into late evening or the weekend, which may give the illusion that they are a 5X dev. They usually do this because they are voracious for personal growth and want to be involved in everything, and because they are passionate about the job. They are usually rewarded by management with attention as a rising star, and it can be a heady thing to feel so competent. Sometimes the individual also does this because they are desperate for promotion. This lifestyle is often not sustainable and results in burnout somewhere down the line. Some Beavers are very talented or courteous and do not make an outsized demand for the resources available (for example, taking up way more of a senior's time, or spreading many questions across many people), but some are less independent and need further descriptions and details for the more ambitious of their tasks, which are beyond the Beaver's skill level to readily implement correctly, so the Beaver's task becomes the senior's task as the senior essentially needs to spend 80% of the time that the Beaver is implementing the task to explain to the Beaver how to proceed.

I used to be this individual, worse on the task hogging and having my hand in every pie end, less on the monopolizing resources end. I did hit my wall, thankfully early enough in my title trajectory that the consequences of suddenly being too burned out to do anything did not impact too many people.

Years later, I'm now functioning in a senior dev role to guide the team. This comes with the onus to nudge more junior folks along functional paths of growth, and to help the team function more smoothly.

As you've already deduced, there is a Beaver on the team.

In the interest of guiding the individual, on the one hand, I see being a Beaver (at least one courteous about resource consumption, which this one is not) as a rite of passage for many passionate and competent devs early in their career. I believe the pathological parts of being a Beaver are self-correcting within the individual, because they will burn out and learn a lesson more concrete than any warning I may give. I also think that even if I steer the Beaver towards more functional ways to achieve their interests (for example, take fewer tasks but complete each faster, adopt a more focused approach to building a promo packet), it may yield near-term success, but I will not always be there, and it's better for the Beaver to learn what only the wall can teach while they are able to hit it without impacting as many people. This sounds dispassionate, but I'm genuinely looking at it as how to best help this individual and still come to the conclusion to let them have some space (where it does not harm the team) to make the mistake so they can learn. There are certain ways of trying to help that actually delay growth and I want to be mindful of that.

In the interest of helping the team, this Beaver is asking to do stuff that they need too much hand holding for. They take up a large amount of the available capacity of the team's seniors and have started going to devs in other squads to further spread the demand. The other devs are eager to help as it helps them build up examples of mentorship for their own promotion pathways.

I have some ideas but lack concrete experience dealing with a Beaver that spreads more dysfunction than simply hogging too many tasks. I favor fewer interventions with stronger rationales than trying to change who they are.

I'd like insights from the group on both ends:

- If you were like this in the past, what motivated you, and what could have inspired you to change short of hitting the wall?

- If you have experienced steering people like this, what sorts of issues did your Beaver create for themselves and the team, which ones did you choose to address vs leave be, what kind of results did you have?

Ideally I'd like a discussion which is not too tailored to my specific situation, I'd simply like to hear everyone's thoughts on this non-technical element of guiding a team as an experienced dev. Kind of like a "what is everyone doing about this?", "how does everyone reason about this problem space?", especially in a senior IC role.

I appreciate this community and thank you ahead for your time to read and comment. I may not be able to reply promptly during the work day.