Product Developer TechStack

When I mentioned the “Product Developer” role to other developers, their immediate reaction is usually: “What does that even mean?”. Makes sense as the term is both undefined and vague. Though it has an advantage that, once defined, it is self-contained. That’s kind of validated as when I explain further the technical skills aspect to the role, many of them start to think they actually fit that role and it suddenly makes sense to them.

I might have previously, in conversations or writing (e.g. post to draft a definition of the term), attempted to include more into that term than just technical skills that are relevant to software developers. Nonetheless, this post will focus only on an expanded technical skills that a software developer in product development context will need learn and utilize in order to be productive in that context.

Layers of Product Developer TechStack

  1. Fullstack areas of adequate knowledge: software architecture, UI implementation and frameworks, databases, networking, DevOps, testing, migrations and backups, failure tolerance and recoverability, user authentication, security, monitoring and auditing.

  2. Data collection (tracking) tools/methods: user identification across devises/apps, setting up a/b or multivariate tests, 3rd-party tools integration for product and BI analysis, data anonymization for privacy concerns.

  3. UX/Design collaboration: design systems, component-driven UI development.

  4. User feedback collection: integrated feedback methods inside the product/funnel, “post-purchase” customer feedback collection and metrics, active monitoring for early discovery of low-quality outcomes, taking part in user interviews.

  5. Domain knowledge: domain models and sharing a common language within the team for effective communication, tuning daily technical decisions to solving the user problem not the technology problems.