I've navigated five technology system transitions across 30 years. Now I work with revenue-stage SaaS CEOs on the AI transition - privately, as a thinking partner, with no agenda but theirs.
Engineering, product, executive - three disciplines, full depth. Chief architect. VP Product. CPO. CPTO. CEO. Four exits across every stage.
Most advisors see one slice - technical, product, or business. Three disciplines in full depth makes it possible to hold all of them simultaneously, without losing resolution when the conversation moves between them.
The CEOs I work with have read everything worth reading. The gap isn't information — it's that none of it maps onto their specific situation, and they've run out of people who can help make that translation without an agenda.
Two beautiful interfaces
Two beautiful interfaces: a time machine Etsy Time Machine and a shop by color as novel ways to navigate.
Manage Shared Information and Their Shared Concepts
Some of the assumptions that drive shared information and the shared concepts that underly them:
- There exists cognitive patterns (also called processes, structures, templates, metaphorical structures, relationships, frames, cognitive models, etc.) that are repeatedly used across across a variety of contexts, i.e. disciplines, domains or fields.
- That there is no single body of knowledge that explicitly captures and specifies these patterns and their related contexts, and by implication there is no discipline which owns them.
- That more often than not, we are unaware that these patterns exist and that we use them.
- And most importantly: that there is some (as yet unrealized) benefit to the intentional reuse of these patterns, and their relationships to contexts.
An Integrated Perspective on Software Development
Some ramblings on software development
A useful perspective on software devleopment is as an ‘integrated discipline’, i.e. a perspective that recognizes that software development is actually composed of three domains:
- Business - this is the domain of the problem
- Technology
- People - all the people involved, e.g. development team, customers, users, support staff, marketing, product management, etc.
Why is this important? Primariliy because problems often creep in from the unrecognized (or recognized but less important) domain.
I’ve noticed that in the many organizations I’ve talked with, I’ve never really found any job titles that consistently appear to acknowledge this perspective. Occasionally, encounter some positions can described that way (e.g. architect, senior management, CTO), but there doesn’t appear to be a ready made & well recognized title.
Perhaps it’s a result of the perceived complexity of each domain, where the approach is to ‘divide and conquer’ the work into seperate roles. Personally I believe that this is an incomplete answer. The ‘divide and conquer’ approach works well for specialists that need to become strongly fluent in the extensive details in each domain. In this case, the differences are important - i.e. the patterns of action and subjects of action are unique within that domain. However, I believe that spanning all the domains there are patterns of action that are common, and that the unique aspects of the subjects of action are less important. Put another way - there are common patterns of doing things that can be usefully applied across multiple domains.
One concrete example of where this shows up is the role of architect. In software development, this is an overloaded term. For some, an architect (e.g. a J2EE Architect) is someone fluent with the unique aspects of J2EE. For others, an architect is soomeone fluent with the common very high-level design patterns and priniciples, which can be applied to different technologies as well as to businesses.
As a personal frustration, I often encounter the two being mixed up, e.g. in conversation expecting that they need an architect that spans multiple technologies and possibly business as well - and the conversation turns to how-to questions for a language specific library.
All the different levels are important, however I believe we need to revisit how we’ve ‘sliced the pie’. Specicically, I beleive we need more emphasis on the common aspects that span technologies as one ‘bundle’ of patterns; the common aspects that span technologies, business and people as another ‘bundle’, etc. The increased emphasis on these patterns willl create opportunities for greater breadth the roles (i.e. not tied to one technology)