As a manager that does weekly 1:1s, I agree with that statement. But I do need 1:1s to check on progress, uncover blockers that people haven’t surfaced on their own, make continuous small decisions, offer support, assess performance, collect status information for my manager, and last but not least give employees the opportunity to share feelings frequently. They do, and it’s not very often, but it’s important to have a dedicated place for it otherwise devs often don’t share until damage is being done.
I’ve also watched devs who didn’t have weekly check-ins go pretty far off the rails. One dev I remember would go off by himself for weeks designing clever code and over-engineering things that weren’t needed. I thought to myself that someone should be checking in with him, and then months later I got stuck doing overtime before a delivery deadline with dozens of other devs on a weekend chasing an intermittent release-only runtime crash that turns out he caused by trying to get tricky with copy constructors. A quick 1:1 could have prevented this bug that ended up costing tens or hundreds of thousands before it ever happened.
BTW, the best managers I’ve ever had were technical contributors, and they tended to be more relaxed about check-ins than the non-technical managers, in part because they had a better sense of where things sat. Personally I also feel like a better manager when I’m contributing technically to a project, and devs seem to respect that more.
I constantly reiterate to people, whether they're reporting to me or not, that they need to speak up when there's a blocker. I feel its a very telling skill of engineers whether or not they can communicate issues in an effective manner urgently and figure out the best course of action to unblock.
I've heard tales of 300k/yr engineers that just sit there and wait for a manager to ask if they're blocked, or just sit there until they're told what to do.
This is widely presumed to reflect reality within a 1-2 degrees of separation from myself as well as from many of the people I speak to. Part of the problem is that there is always plausible deniability. Like the adage of how unwise it is to fire custodians just because you never see a mess and therefore you never actually see the custodians do anything, it may be "unwise" to lose the presence of these 300k/yr engineers just because they somehow actually keep things going smoothly.
> I constantly reiterate to people, whether they're reporting to me or not, that they need to speak up when there's a blocker.
This is presuming a particular/healthy culture where open communication is valued, appreciated, and not punished. This is not always the case, and an "objective description of a blocker" could result in some bruised egos where it transforms into blame upon some person or team for being or causing the blocker. People who experienced these cultures may be waiting for private conversations (such as 1-on-1s) that minimizes the risk, and they may be waiting to identify you (or whomever they are talking to) as a person who could make communicate the nature of the blockage in a politically favorable or neutral manner. All of this may be happening without the people involved consciously aware of this behavior of pushing out information through private conversations. And this maintains plausible deniability for ALL parties. The person who is blocked is never identified. The person who may have been the blocker is never identified. And hopefully everything gets fixed before anything is actually worth escalating.
so you should keep people on pay-roll because they "might actually be doing something if you look hard enough" ...? don't think so
> People who experienced these cultures may be waiting for private conversations
the error is the "waiting" - if you have a problem it is your responsibility to do something about it
I could be this person that appears not communicate, but the reason is because I've never had a manager that could unblock me faster than if I didn't tell anyone and just did it myself. For the longest time, every manager I've ever had was mostly useless (for unblocking some issue), it took quite a few years before I got an EM that actually makes shit happen. Only then did it become a habit I had to break.
It doesn't make sense to tell someone who can't or won't help you that you're blocked on something. Eventually you just default to never asking.
In some particular cases and SMALL groups I do think a Manager by itself is unnecessary, especially if everything is working out and they are responsible enough to present usable information to others in the hierarchy, but if not, please stop this fighting and only complain when the Manager is really annoying.
If you think they are robbing you of valuable time, time it. Time it and tell them with hard data you're being robbed of at least a certain % of your working time, which means you can probably deliver less if they want X action from you.
I can see why this happens, and I was (and still sometimes I am) guilty of thinking as long as I have a little more time, I can solve the problem myself. We are all capable of figuring out how things work, we all want to learn, and we all have fears that admitting spending time spinning our wheels might reflect poorly or reveal weaknesses, and/or might be used against us in reviews.
Part of making people feel comfortable surfacing blockers is making sure the environment is supporting that behavior. Devs need to be rewarded for working together, and rewarded for being proactive about telling their manager or the team they need help on something. If these highly paid engineers have had negative experiences in the past, they might have learned not to bring otherwise important issues to light. Occasionally there are also people who learn what they can get away with and will optimize for the minimum.
IMO, the environment also needs to allow devs some space to go slow for a while, solve unfamiliar problems, and learn new things - so for me there’s a certain amount of being okay with blockers, when people are still being proactive. I’d rather talk about them than not and make a conscious decision, but I do try to be sensitive to what I label as blocker.
IMO face time is very important and serves more purposes than the explicit information transfer. It’s also a much faster, more efficient, and clearer way to have a conversation, when back-and-forth is needed (which may be more often than you assume.)
In my experience, devs (including younger me) often argue for what’s easiest or most comfortable for themselves, but sometimes they don’t see what’s actually best for themselves, nor what’s most effective for the organization, and they sometimes don’t care what’s best for the manager. (And I’m not suggesting they should have to care what’s best for their manager, just pointing it out.) Nobody likes a budget or oversight. Nobody wants to track time and be watched, and have to explain themselves, and have to compromise in order to finish tasks. Still, having budgets are sometimes good for us and sometimes produce better results, when money is limited and when focus is needed. Budgets also inhibit risk taking, which can be good or bad, sometimes we need risks and exploratory work… so, yeah, the right tool for the job…
And I additonally agree that people will gravitate toward comfort over the right choice.
That's why historically having managers being strong IC contributors remove that need because they already KNOW the progress and issues on the field.
Modern BigTech created that artificial layer of managers that need to know about all the blockers and progress, just to report it to another layer of managers. That layer is so big that they need 8 hours of meetings to sync with each other. This is purely an organizational issue.
I'm saying a lot of the managerial work is busywork that got pushed as a need by BigTech need to empire building.
Calling it a feature of empire building might be somewhat accurate in the sense that yes all companies and most groups aim to make money, or otherwise grow and succeed. Still, that seems like a pessimistic way to put it. Even small companies and church groups and libraries and PTA associations will have presidents & treasurers. Middle managers appear as soon as group size hits a certain limit.
But the state right now is that:
- those management layers are now more disconnected than ever from the actual work. Most managers are career managers that have given up on any actual technical work. Even if they used to be technical ICs, most bigtech actively discourage managers to do anything remotely technical. I still cannot understand this.
- There are way more managers per IC than there ever was (Last big tech I was in, my org had ~5 ICs per manager. I couldn't believe it and have no idea what those people actually did the whole day besides meeting each other!). This is directly because Directors decide to hire Managers and have a direct incentive to grow the amount of layers and amount of people in their pyramid. Even if they don't mean to, directors and VPs are managers as well and as such they have a direct belief and incentive that more management is better.
Why do you assume not talking by default is better? Have you considered the downsides of your instinct to save yourself a few minutes a week? One thing a lot of devs don’t seem to realize when they push back on communication is the opportunities they’re missing to affect change in the group, to convince the managers to invest in things they need or want to work on in the future, to make changes to team communication practices, and to brag about what they’ve done, how hard they’ve worked, and what they really care about.
Yes, have them. Once a week.
I will again say that most 1:1s are BigTech cargocult rituals where you talk about your path to the "next level" or "how are you feeling this week" but it's also a lot of project management and busywork that mainly exists because the manager is in the picture. Without so many managers most of those self-sustained meetings would go away.
I agree with keeping sync'd with your devs but these sorts of behaviours should be caught and corrected in code review