Recently, John Sonmez wrote
about software development, and specifically claimed project managers
don’t tend to do anything useful.
To be fair, sometimes he’s right. And you always have to watch out for
“meta-work” – telling people what to do instead of doing things.
But I believe project managers are necessary — they just don’t
do what John thinks they do. As an engineer, you’re the project and
not the customer for them. This should make sense to you - you’re not
paying their salary. And if you’re not paying for a thing, you’re the
product, not the customer (or you’re unrelated to it.)
A business has to make technology decisions. They have to know “when
will it be done?” and “how well will it do the thing it’s supposed
to?” As a software engineer, you want the answers to those questions
to be “it’ll be done when I say it is” and “it will do it perfectly,
or at least as well as I can make it do it until I get bored with
Those are unsatisfying answers to a manager who has to coordinate a
marketing blitz with your technology release schedule.
The project manager is a way of slowing down engineering slightly (a
significant cost) in order to know more about how well they’re doing,
when they’ll be done doing it and how well it will work afterward (an
Note that the cost hits you too (you lose velocity) but the benefit is
entirely to “business guys” you don’t particularly care about, though
As a software engineer, you are the product rather than the customer
when it comes to project managers and related tooling (e.g. Jira,
Pivotal, nearly any “agile tool.”)
However, the tradeoff is actually a good one. The company will be a
lot more successful if the business guys can make good decisions
around your software quality and release schedule. And we do not
traditionally give them the information necessary to do that
accurately and on time.