So, after all, what’s the role of Engineers in Product Strategy?
When we ask this question, the most common answer revolves around Technical Debt. Which is certainly something important, but there’s a lot more to that. Collaboration is at the center of our role here. The programmer hidden in a cave receiving assignments and shipping them is thankfully a dead concept. Our role is:
Discuss, Participate and understand thoroughly the outcomes we’re going for. We need to be in the room and
disagree until we can commit. Do not half-ass or say “I told you so” later. It’s also our fault if the team goes on to pursue an outcome we don’t trust in a way we don’t think is the right one. It’s way easier to sit out and avoid hard conversations.
Confirmation Bias is a thing, and people will try to defend their points of view. But that’s only more reason why we should bring opposing views and challenge what’s being discussed.
But what if I’m not included in the discussions? Well, have you asked to be included? If you have been asking and still are not, look for somewhere else to work.
Do not commit to deadlines we cannot meet. Understand when we can make a
high-integrity commitment and when we cannot. Help the team draft experiments and prototypes that give us more knowledge and buy us time to make the most critical decisions when we have more information. This could be included with the last point, but I’m singling it out because it’s one of the most common ways we err.
Communicate clearly during execution and adjust strategy. While we’re building, we make several decisions that affect
quality, documentation, and timeliness. This is even more reason for us to understand the strategy fully. While these decisions are clear to us, they’re not clear to the rest of the team members. We need to make sure to communicate emphatically whenever things change. For example, the team might not be on board with us shipping a product that is not accessible. Knowing that we can’t build it to be accessible in the current timeline allows us to either change the schedule or reduce the scope. But only if we communicate that before it’s too late.
Feed data and insights back to the team on how big issues and opportunities really are. Rewriting an application is way easier when we’ve shown people that it’ll make us unlock a lot of value or capacity for the team. This means understanding
Software Quality, measuring it, and communicating about it, so the team understands the impact as much as we do. We’ll also pick up things along the way while we’re delivering projects or studying that the rest of the team doesn’t know is even a possibility. We need to bring them to light.
That’s a lot of “extra” responsibilities. But to own our careers and
escape the build trap, we need to do this.
The best part about doing this is that work becomes way more collaborative and satisfying. We build trust in the team. If you’re an engineer, I hope this helps you take more ownership. If you’re not, I hope this convinces you to include engineers in your Strategy. If I save one wasted quarter with useless features or products with this text, it’s done its work. Let me know if that was the case for you. 🤙🏾