Live data from Hacker News

Should managers still code?

theengineeringmanager.substack.com

181–190 of 319 posts

Re: Should managers still code?

#181
post #122

Earlier quoted context omitted.

You don’t need to be writing code. But it’s a convenient shortcut to a great many things that otherwise take dedicated effort to understand. Some managers will do that. Most won’t. Given that, it’s easier to just tell them all to code.

Or just tell them all to regularly communicate/listen to their team? Sounds way more efficient.

Doesn't work, because the team won't always tell you of the issues that block them (normalization of deviance). Sometimes you need to find out yourself.

Re: Should managers still code?

#182
I once had a job where my job title was officially “Team Leader”, and my job spec was both to do development work and manage a team of 2-3 people doing the same work. (Except my team never existed, because they were all vacant positions and the salary budget I’d been given was too low to actually hire anyone, and then I resigned.) But, in that org, you could manage people without being classified as a “manager”. Whereas everywhere I’ve worked since has had this hard rule, if you have reports you must be a “manager” (or director or VP or whatever), no equivalent concept of “team leader” (although conversely you can be a “non-people manager” who has the word “manager” in your job title but no reports-common for product managers, project managers, etc). But I’ve observed first line managers often de facto act as “team leaders” anyway (actually doing hands-on technical work), but as you go up the hierarchy it gets less common-although exactly where it tapers out is determined more by the individual than the title or management level

Re: Should managers still code?

#183

Earlier quoted context omitted.

>If your boss has a reasonably-sized team but is spending their day writing code They dont need to spend all day writing code, they need to spend their nights and weekends making sure their skills dont rust.

> they need to spend their nights and weekends making sure their skills dont rust. Life is more than work

Yeah, theres also personal and professional development.

Re: Should managers still code?

#184

Earlier quoted context omitted.

> I cant work for someone who doesn't understand what I do. But you already do. Unless you're working for a tiny startup, your CEO or the Board probably doesn't understand the specifics of your code. You can't run a large company by making every person super-involved in every detail. You have layers of abstraction that make it possible to reason about an org of hundreds or thousands of employees. The Board trusts the…

>If your boss has a reasonably-sized team but is spending their day writing code They dont need to spend all day writing code, they need to spend their nights and weekends making sure their skills dont rust.

So you want them to come to work and do their job, then go home and waste their nights and weekends doing a variation of your job?

How about, a proportion of their work day must be allocated to keeping up to date with the tools behind the thing they're attempting to manage?

Re: Should managers still code?

#185
I do managing, coding, design, governance and overall what i call "improve the company" within my areas of expertise and context switching and commitments are the most challenging things. Need to be very disciplined and know the other areas are currently very stable and under control to carve out time for the other things. It is not impossible but it have to be very focused and the problem domain need to be quite good understood before jumping in. Example, writing a internal tool that in worst case get delayed for later is easier to start working on then being part of customer facing product development as all of a sudden i would need to jump into some urgent management tasks or overall just let the governance and long term company quality go down.

Re: Should managers still code?

#187
Managers should never write or review code. This is a fundamental principle of human work, it has nothing to do with code itself. Honestly I don't know what insane HN meme started this trend and made it acceptable, but it really needs to end now.

The whole point of different roles doing different things is distribution of labor [1]. This idea is thousands of years old, this shouldn't come as a shock. As an extreme oversimplification, the people who are very good at a particular thing, should focus on that one thing. The more responsibilities or tasks someone has, the worse their output will be. Specialization enables higher quality, faster work, with less difficulty and waste.

A coder's job is to write code. A manager's job is to manage people. The author's post listed nine different important responsibilities for managers, that has nothing to do with code. But then just brushed it off, like it's easy! People, these aren't easy things to do, nor are they quick! Just doing general management work will easily suck up 40 hours a week on any team. If you've run out of management tasks, you probably aren't managing well.

Almost every manager I have had has not performed well. With the exception of one, they never trained as a manager, nor read or understood the basic yet critical functions and skills of a manager. Some of them used to be engineers and were just promoted up to a job they are incompetent at (the Peter Principle). And some moved into the position from some other job that wasn't management (or engineering management). On top of that, often there is a shortage of project managers, product owners, etc. These are critical roles to ensure high-quality, faster output for a team. In the absence of people filling those roles, and on teams that are not high-performing teams, it's up to the manager to fill those roles for their team.

So now the manager is not only responsible for the careers of their direct reports, they're responsible for keeping the team on track and producing high-quality, fast work. I've only ever seen one or two managers that could accomplish this feat - and that's before we add-on writing and reviewing code. How the hell are they supposed to get the time for all this, much less build up expertise in all these things, simultaneously?

I would argue that knowing how to code at all makes for a dangerous manager. I've had several managers turn into micro-managing freaks, telling me how to do my job, even preventing me from doing my job. They insisted they knew better, because they had written some code in the past, or adminned a server one time... yet I'm the one with the most experience and skills in that field. (Dunning-Kruger seems worse in those with authority, who don't wield it with humility)

On the other hand, the most effective manager I have ever had, had zero idea how to code. Because he was not technical, he focused on his actual job: mobilizing groups of people towards a task, measuring its progress, helping resolve human challenges, protecting his direct reports, and helping them progress in their careers. He never once told me how to do my job. He instead asked myself and my peers a series of simple questions in order to have us explain what we were doing, and through that process, we actually discovered several times that we should do it differently, or solved our problem.

So if the manager isn't writing or reviewing code - who will?!

An engineer's job is to build things. So someone who specializes solely in engineering should be reviewing code, designs, etc. There are many different roles for people who do this - software architect, systems architect, engineering team lead, staff engineer, principal engineer, etc.

A long, long time ago, the whole point of having "Senior" in your title was to convey the fact that you were an expert in your field. If there was a "Senior" engineer, that was the person you went to to tell you if you're doing it right. Hey, I just wrote this algorithm, does this look okay, Senior Engineer? I'm changing this field, can you see anything that might go wrong, Senior Engineer? Now of course it just means a college grad got a promotion after staying for 2 years.

Not having a real Senior Engineer somewhere in the company means you are going to end up making some real turds. Having a manager take the place of a Senior Engineer doesn't help, because they can't do two completely different jobs well. You can't be both a great plumber and a great electrician. You can half-ass both, though, and get half-assed results.

If you're a manager and you want to have a high-performing team, stop writing/reviewing code, and instead do everything you can to implement the suggestions here [2]. There is an enormous amount of work needed to achieve these suggestions, so you will not have any time to look at code, I guarantee you. But your team will end up working much better, producing better outcomes.

[1] https://en.wikipedia.org/wiki/Division_of_labour [2] https://dora.dev/research/?view=detail

Re: Should managers still code?

#188

I cant work for someone who doesn't understand what I do. An unused sword rusts in its sheathe. I remember working for a gent years ago, who was stressed out that my output was so low. He declared "I started this business in my living room let me show you I can do any job in this building" He came to my workspace, where I had 20 servers stacked on my workbench. He looked at them. Attached a single power cord. And the…

> I cant work for someone who doesn't understand what I do.

Someone can understand what you do without being able to do it.

Re: Should managers still code?

#189
I come from the $MegaCorp world rather than startups. We shipped massively successful products reaching billions of people.

Our managers did not write code, nor would they have been better managers if they did, IMO. They represented the team to the wider company, they facilitated communication across teams, kept us informed of changing goals and priorities, etc. Basically helped everybody row in the same direction.

Re: Should managers still code?

#190

Earlier quoted context omitted.

>If your boss has a reasonably-sized team but is spending their day writing code They dont need to spend all day writing code, they need to spend their nights and weekends making sure their skills dont rust.

So you want them to come to work and do their job, then go home and waste their nights and weekends doing a variation of your job? How about, a proportion of their work day must be allocated to keeping up to date with the tools behind the thing they're attempting to manage?

> waste their nights and weekends doing a variation of your job

Why is that a waste? I'm an EM and code both at work and on nights/weekends. During the work day, I spend most of my time helping other people directly (code review, talking through designs, 1:1s, xfn collab, etc.) To build larger things, I do them nights and weekends.

It's not a waste. I'm better as an EM because of it. And being a better EM gets me more of what I want (fixing healthcare).

Not everyone can do this—and at some point in my life maybe I can't either—but it absolutely makes me better at my job. I don't consider that a waste.

Post reply on HN