In the first two parts of “The Rise of Product Developers” series, we delved into how Product Developers excel as domain experts, user empathizers, and critical thinkers. Now, in Part III, our spotlight is on their prowess in knowledge management. Their ability to acquire and preserve knowledge paves the way for product adaptiveness. As we’ll uncover, the arts of acquiring and preserving knowledge seamlessly merge within their practices.
Consistently poised to learn, Product Developers delve into varied domains and adopt emerging technologies. Their actions are always guided by the underlying business need, fostering synergistic collaborations. Each task, whether it’s validating hypotheses, crafting features, or debugging, unfolds as a learning experience. By placing the product vision above their technical expertise, they distinguish themselves from specialized developers.
To many, “acquiring knowledge” equates to “pattern matching” – essentially, searching online for pre-existing solutions to their problems. This mindset feeds the belief, especially with the advent of sophisticated pattern matching tools like ChatGPT, that AI might soon replace developers. However, as highlighted in our previous discussions, the role of Product Developers does not stop at information retrieval. They critically evaluate and decide upon the relevance and application of such information. Often, the questions they pose carry greater weight than the answers they find.
Through hands-on exploratory testing, Product Developers unearth unforeseen challenges, including unexpected bugs. This proactive approach not only identifies issues but also broadens their knowledge spectrum. However, regardless of whether knowledge is gained through active learning, asking questions, or these “planned serendipities”, what truly distinguishes them from traditional developers is how they assimilate this knowledge, such as the process of fixing a bug. Let’s delve deeper into this.
“Always be leaving” is not about frequent job changes for Product Developers. Rather, it encapsulates their commitment to maintaining a standard of excellence, ensuring their work can stand on its own and remain resilient even in their absence. This philosophy inherently fosters immediate knowledge preservation upon acquisition.
Product Developers employ a multifaceted approach to knowledge preservation:
Knowledge acquisition and preservation in product development are intertwined. When Product Developers detect a bug, they often craft an automated test. Initially, this test serves as evidence of the defect; post-fix, it confirms the solution; in the future it guards against regressions. Fixes are refactored together with the existing codebase for clarity, emphasizing the ethos of “always be leaving.”
Always being “ready to leave” isn’t more costly than the mistaken belief of “I’ll always be here.” Preserved knowledge underscores top product quality and allows Product Developers to hone in on the business domain, yielding efficient solutions. Continual process improvement minimizes any associated costs. This approach aligns developers with business needs, fostering agility and ensuring flexibility for future innovations.
Product Developers are knowledge custodians. Through critical thinking, they navigate both problem and solution domains, assimilating insights along the way. They then crystallize this acquired knowledge within automated tests, clean code, and living documentation. This methodology not only anchors their understanding but ensures they’re perpetually poised to delve into new domains aligned with business priorities. Their practices forge products that serve with precision and efficiency, while also nurturing an organization’s adaptability. In our forthcoming part of this series, we’ll delve into how Product Developers integrate and collaborate to make products.