I’ve found a tonne of articles from the opposite perspective: what devs believe make a good product manager. I’m really keen to hear what some product people think makes a good developer though.
Of course, as product managers we’re unlikely to be critiquing their code. However, we are likely spending most of our days with developers.
So, what makes a ‘great’ dev, great? What makes a ‘good’ dev good? What makes a ‘bad’ dev, bad?
For me, it’s five key things:
Thinking of the customer/end user. I know the PM should be doing most of this, but I like nothing more than a dev coming to me and saying “Is this actually a great experience for x because y”. Thinking of how what they’re building will be used by a real customer is great.
Pragmatism: Sometimes I really need that feature asap dude… Equally, being honest about the ramifications of taking a shortcut and/or pushing back when it really doesn’t make sense is helpful.
Technical design: If they’re thinking one step ahead and build something in a way that it is extensible and flexible. This can be incredibly helpful, but from the outside, also very challenging! Approaching a developer and saying “Please don’t hate me, but we might need to make a change to that feature we built 2 months ago to accommodate something new” and they respond “We considered something like this when building it so it will actually be easy to implement” - this is a great feeling!
Make the complicated simple: I’m not a dev and I’ve never been one. Although I have a reasonable technical understanding - I sometimes need a dev to talk me through a complex topic in a manner that I can understand.
Code base knowledge: When a dev knows parts of the code base well, it helps endlessly. They raise red flags early on and help other devs understand potential complications more quickly. This might impact the product approach to a solution too.
All of this, plus understating the balance needed to prioritize user value while still keeping tech debt in check, and not letting tech debt hijack a sprint if it isn’t urgent and doesn’t move the needle towards the product’s priorities/roadmaps. My devs are so eager to be part of roadmap conversations and user interviews. It really helps them stay laser focused, because we’ve all agreed upon the priorities and defined them together instead of just being told what to build.
Pragmatism and also an even keel when times are tough.
In fact, Pragmatism is number one for me. I’ve noticed the most senior and skilled developers I’ve worked with over the years are the ultimate pragmatists.
@CathrynCui, They know the first principles. They understand the need of the customer. They can actually translate wants and needs to implementation rather than being told. They mentor their new team mates to do the same.
The worse team I’ve ever dealt with had a culture where the pm did all the designs. They only considered AWS systems their job. Nothing else.
Understanding the customer vs thinking about the customer are so different in practice. I’ve worked with a lot of devs who have been told to think more about the customer and advocate for their needs. Doesn’t go well if they don’t empathize with or deeply understand the desires and pain points of said customers…