Company as Code
This piece proposes "Company as Code," an approach where an organization's structure, policies, and operations are declaratively defined, version-controlled, and managed like software. Inspired by Infrastructure as Code, the concept aims to streamline compliance, model organizational changes, and automate processes to reduce manual overhead. The Hacker News community debated its novelty, comparing it to existing systems like ERP and LDAP, while also discussing the profound implications for the human element and potential for dehumanization.
The Lowdown
The author, Daniel Rothmann, observes a striking irony in modern software companies: while technical operations leverage advanced tools for automation, version control, and infrastructure as code, core business elements like policies, procedures, and organizational structure remain trapped in archaic, manual documentation. This disconnect leads to hundreds of wasted person-hours on compliance (e.g., ISO 27001) that could otherwise be spent on product innovation.
Rothmann proposes "Company as Code" to bridge this gap, envisioning a programmatic, living digital representation of the entire organization. Key aspects of this vision include:
- The Problem: Current manual documentation methods for policies and organizational structure are inefficient, costly, and prone to being out-of-sync, especially during compliance audits.
- The Inspiration: Drawing parallels from successful "Infrastructure as Code" and "Policy as Code" paradigms, the author suggests applying similar principles to the entire organizational structure.
- The Vision: Create a "company manifest" – a single, version-controlled source of truth that allows the organization to be queried, tested, and automatically verified.
- The Benefits: This approach promises faster, more accurate compliance audits, automated impact analysis for proposed policy changes, and the ability to model and test organizational design changes in a "staging environment" before implementation.
- Technical Implementation: The author outlines a potential technical framework involving a declarative Domain Specific Language (DSL) for defining entities (roles, people, policies), a graph database to represent complex relationships, and an integration framework to connect with external systems for data collection and policy enforcement.
- Accessibility: Acknowledging that not all stakeholders "think in code," the vision includes low-code/no-code interfaces to make the powerful underlying model accessible to business leaders and compliance officers.
Ultimately, Rothmann argues that a codification of organizational structure is "missing" and "buildable," offering the potential to redirect significant human effort from bureaucratic overhead to value-creating activities. He invites readers to consider the practicality and viability of such a system.
The Gossip
Deja Vu DSL: Is This Just Re-Architected AD/ERP?
A significant portion of the discussion asserts that "Company as Code" isn't a novel concept, drawing strong parallels to existing enterprise solutions like ERP systems (e.g., SAP), LDAP, and Active Directory. Commenters highlighted how these established tools already attempt to manage organizational structure, roles, and policies, albeit not always with a "code-first" approach. Others pointed to projects like GitLab's comprehensive handbook, Hats Protocol, and even custom setups using Recfiles and Git as similar attempts, suggesting the core idea has been explored in various forms. The author chimed in to share his own open-source implementation, `42futures/firm`, indicating he's actively exploring the concept.
Humans vs. Hard Code: The Intractable Messiness of Organizations
A significant counter-argument revolves around the inherent complexity and "messiness" of human organizations, arguing they cannot be fully captured or managed by code. Commenters emphasize that informal communication, human relationships, power dynamics, and the "gray zones" of operation are critical, and attempting to codify these risks creating a "soulless place to work" or simply an incomplete, outdated model. The potential threat to existing power structures held by those with compliance knowledge was also raised as a barrier to adoption, as such a system could reduce their perceived value. The idea of humans working outside any codified system was also highlighted.
From DSLs to Daemons: Diving into Implementation Details
Commenters delve into the technical feasibility and alternative approaches for a "Company as Code" system. Suggestions ranged from using declarative languages and graph databases to Prolog or OWL ontologies for modeling. Some debated the nature of the organizational graph, while others drew parallels to existing CI/CD practices and configuration management. The humorous and chilling prospect of "laying off half the company with one terraform apply" highlighted the power (and potential pitfalls) of such automation. The concept of an "incomplete model" was also brought up, cautioning against over-reliance on code for complex, dynamic entities.