Are 10% of developer really "ghost engineers" who pretend to work? Are engineers in big tech just lazy? Do Stanford MBAs just need to be stopped?*Chapters*0:...
It’s possible to have a developer that does nothing. But that’ll requires a project manager that does nothing and a manager that does nothing. And coworkers that are willing to put up with that shit. Everybody’s running kanban or agile simply to keep this from happening.
Actually watch the video, you’re way too generous in your analysis.
The metric is essentially lines of code. That’s it.
So everyone who isn’t hacking away ultra verbose code is considered useless. Lead devs and architects often don’t write any code at all. They’re not unproductive.
I’m a Lead dev/architect. I’m the least productive when I’m coding because all the other stuff falls through the cracks, like devs doing nothing. I’ve had to get rid of a few people over the years for not doing anything, they get away with it for a while because I’m not a babysitter but it comes to light eventually and they get the boot.
I did watch the video. Just because it’s what she said doesn’t mean that was the only thing that was there. You should also note that the MBA that designed and performed the study was also a middle school dropout, and has a bunch of narratives weaved about his life.
This paper has an agenda and he has something to sell.
Eh, I’m a lead and I write at least a couple hundred lines most weeks, though some weeks I’ll write nothing because I’m in meetings or prepping a project (lots of estimates). But even if I’m mostly doing prep, I’ll still usually take some tech debt because estimating all week sucks, and I can knock out a couple hundred lines of tech debt fixes in an afternoon.
So I don’t buy it. We fired two leads before because they didn’t do actual development, one just wrote proposals (no movement on implementation) and the other just did tech debt. I do a mix of feature work, planning, and tech debt, and I think that’s how it should be. I oversee or do risky POCs and estimations, but other than that, I’m a regular dev. Oh, I also do reports because I’m also a manager, so midyear and EOY are pretty unproductive from a dev perspective for me.
And that’s actually part of the problem: your title doesn’t mean anything.
Not that you’re not leading, but what “lead” or “senior” actually means is completely arbitrary.
In one project I’m lead in, I wrote maybe 5 lines of actual code, because I was in meetings, wrote documentation, did release management (well, I wrote pipelines here, but that’s like 200 lines), etc. The actual leg work was done by 4 or five other guys.
But in another project, I’m lead of myself and another bloke, of course I’m writing code in that one.
So it’s completely possible to have a bunch of guys with the “developer” tag on their title, but they’re not doing much developing.
Release management for our devs is tagging repos (automated), making a few PRs (mostly automated), and informing other dev teams of the release. Product owners update their docs, support updates theirs, and project manager coordinates everything.
My involvement in the release is limited to actual dev tasks, as in tracking down logs if there’s a bug or something during deployment. Total time for a release deploy (my end) is about an hour, two if things go poorly. We release 5-10 repos in a typical release, so it’s not small.
We don’t have the same team doing every release, we take turns. So I’ll do a release about once a month (usually a release release then one or two hotfix releases), and we do a major release every month (we’re doing #12 next week). Most of the release process is on our QA team, not devs.
If you have “developers” who aren’t developing, you’ve hired the wrong people IMO. Here are some support roles we have:
architecture - currently two people; they give initial estimates to product team
QA - they do development, but only on tests (role = “QA engineer”)
scrum master - no development, just tracking (releases, features, etc); they’re the ones product and support talk to about capacity
project manager - cross team communication with scrum masters and product team
As a lead dev (we have one per team), I step in to keep projects on track, provide estimates, and help prioritize tech debt. If I’m available (I usually am), I’ll take feature work, and I produce code at about half capacity vs our regular devs (i.e. non-junior). Our releases are usually on-time (within a week or two on a 2-3 month estimate), so I think our setup works pretty well.
When I worked at a smaller company (one dev team, no project manager or scrum master), we didn’t hit targets as well, and I did even less “admin” work (my boss was the CEO and he handled everything… poorly). We had a QA team, but the devs wrote the tests instead of the QAs, which we started on after handing the release to QA for verification (took 1-2 weeks due to long term tests).
So on both ends of that spectrum, I did a lot of development as a lead. I do less now than my last role, but I still spent about half or more of my time writing code.
It happens, but it always comes to light eventually. People are too busy keeping up with their own work to be babysitting someone who doesn’t want to put in the effort.
In my experience, kanban and agile might technically prevent an employee from doing nothing, but they also might very well facilitate someone doing nothing productive.
If you are properly using either of those it’s very easy to tell if someone’s not pulling their weight or is having extreme difficulty in a situation.
As soon as someone starts underperforming in project management constructs, you put more eyes on the task. They’re either a legitimately stuck, or they’re not working.
They’re just tools, and they make it very easy to visualize what’s going on.
We use both, and the only people who spend significant amounts of time interacting with the board are project managers (during sync meetings across teams), scrum masters (planning and following up), and product owners (creating requirements). Devs spend a little time adding their own estimates, comments, or moving things along the kanban board, but that’s not a lot of time, and that goes for me as a lead as well.
We have 7 or 8 dev teams, three project managers (one per region), and two scrum masters (at HQ, not sure how our outside teams handle it). And honestly, I think our two scrum masters are a little redundant because there’s only so much agile that needs to be done.
If a dev (regardless of seniority) is spending more than half a day in a given week on kanban stuff, they’re probably avoiding doing their job.
It’s possible to have a developer that does nothing. But that’ll requires a project manager that does nothing and a manager that does nothing. And coworkers that are willing to put up with that shit. Everybody’s running kanban or agile simply to keep this from happening.
Actually watch the video, you’re way too generous in your analysis.
The metric is essentially lines of code. That’s it.
So everyone who isn’t hacking away ultra verbose code is considered useless. Lead devs and architects often don’t write any code at all. They’re not unproductive.
I’m a Lead dev/architect. I’m the least productive when I’m coding because all the other stuff falls through the cracks, like devs doing nothing. I’ve had to get rid of a few people over the years for not doing anything, they get away with it for a while because I’m not a babysitter but it comes to light eventually and they get the boot.
Shit, and here I thought spending my day unblocking people somehow boosted productivity.
On the whole, absolutely. As a quantifiable metric that presents well to leadership? Sorry, bub.
Ah, the Musk approach to dev
I did watch the video. Just because it’s what she said doesn’t mean that was the only thing that was there. You should also note that the MBA that designed and performed the study was also a middle school dropout, and has a bunch of narratives weaved about his life.
This paper has an agenda and he has something to sell.
Eh, I’m a lead and I write at least a couple hundred lines most weeks, though some weeks I’ll write nothing because I’m in meetings or prepping a project (lots of estimates). But even if I’m mostly doing prep, I’ll still usually take some tech debt because estimating all week sucks, and I can knock out a couple hundred lines of tech debt fixes in an afternoon.
So I don’t buy it. We fired two leads before because they didn’t do actual development, one just wrote proposals (no movement on implementation) and the other just did tech debt. I do a mix of feature work, planning, and tech debt, and I think that’s how it should be. I oversee or do risky POCs and estimations, but other than that, I’m a regular dev. Oh, I also do reports because I’m also a manager, so midyear and EOY are pretty unproductive from a dev perspective for me.
And that’s actually part of the problem: your title doesn’t mean anything.
Not that you’re not leading, but what “lead” or “senior” actually means is completely arbitrary.
In one project I’m lead in, I wrote maybe 5 lines of actual code, because I was in meetings, wrote documentation, did release management (well, I wrote pipelines here, but that’s like 200 lines), etc. The actual leg work was done by 4 or five other guys.
But in another project, I’m lead of myself and another bloke, of course I’m writing code in that one.
So it’s completely possible to have a bunch of guys with the “developer” tag on their title, but they’re not doing much developing.
We have devOPs for that.
Release management for our devs is tagging repos (automated), making a few PRs (mostly automated), and informing other dev teams of the release. Product owners update their docs, support updates theirs, and project manager coordinates everything.
My involvement in the release is limited to actual dev tasks, as in tracking down logs if there’s a bug or something during deployment. Total time for a release deploy (my end) is about an hour, two if things go poorly. We release 5-10 repos in a typical release, so it’s not small.
We don’t have the same team doing every release, we take turns. So I’ll do a release about once a month (usually a release release then one or two hotfix releases), and we do a major release every month (we’re doing #12 next week). Most of the release process is on our QA team, not devs.
If you have “developers” who aren’t developing, you’ve hired the wrong people IMO. Here are some support roles we have:
As a lead dev (we have one per team), I step in to keep projects on track, provide estimates, and help prioritize tech debt. If I’m available (I usually am), I’ll take feature work, and I produce code at about half capacity vs our regular devs (i.e. non-junior). Our releases are usually on-time (within a week or two on a 2-3 month estimate), so I think our setup works pretty well.
When I worked at a smaller company (one dev team, no project manager or scrum master), we didn’t hit targets as well, and I did even less “admin” work (my boss was the CEO and he handled everything… poorly). We had a QA team, but the devs wrote the tests instead of the QAs, which we started on after handing the release to QA for verification (took 1-2 weeks due to long term tests).
So on both ends of that spectrum, I did a lot of development as a lead. I do less now than my last role, but I still spent about half or more of my time writing code.
It happens, but it always comes to light eventually. People are too busy keeping up with their own work to be babysitting someone who doesn’t want to put in the effort.
In my experience, kanban and agile might technically prevent an employee from doing nothing, but they also might very well facilitate someone doing nothing productive.
https://ludic.mataroa.blog/blog/i-will-fucking-haymaker-you-if-you-mention-agile-again/
Some people do nothing but kanban and agile which is effectively doing nothing.
If you are properly using either of those it’s very easy to tell if someone’s not pulling their weight or is having extreme difficulty in a situation.
As soon as someone starts underperforming in project management constructs, you put more eyes on the task. They’re either a legitimately stuck, or they’re not working.
They’re just tools, and they make it very easy to visualize what’s going on.
Exactly.
We use both, and the only people who spend significant amounts of time interacting with the board are project managers (during sync meetings across teams), scrum masters (planning and following up), and product owners (creating requirements). Devs spend a little time adding their own estimates, comments, or moving things along the kanban board, but that’s not a lot of time, and that goes for me as a lead as well.
We have 7 or 8 dev teams, three project managers (one per region), and two scrum masters (at HQ, not sure how our outside teams handle it). And honestly, I think our two scrum masters are a little redundant because there’s only so much agile that needs to be done.
If a dev (regardless of seniority) is spending more than half a day in a given week on kanban stuff, they’re probably avoiding doing their job.