this post was submitted on 19 Aug 2023
285 points (95.0% liked)

Programmer Humor

32549 readers
522 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

For reference (as per Wikipedia):

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

— Melvin E. Conway

Imagine interpreting that as advice on how you should try to design things, lol.

Tbf, I think most of the post is just typical LinkedIn fluff, but I didn't want to take the poor fellow out of context.

you are viewing a single comment's thread
view the rest of the comments
[–] b3nsn0w@pricefield.org 6 points 1 year ago (1 children)

Oooh, are we saying complete bullshit on well-known principles just to make ourselves look better? Here, lemme try

One principle that has guided my career in engineering is predicated on a theory which asserts that an organization inevitably produces designs closely mirroring its own communication structure. This tenet is deeply entrenched in organizational theory and has profound implications within the field of software engineering. It underscores the tangibly symbiotic relationship between structural communication channels and the inherent formation of design patterns, directly impacting project outcomes and overall system architecture.

Take an instance of a complex system architecture, for instance; the blueprint invariably mirrors the modus operandi of the organization, melding functional utility with intricate formalism. More specifically, it can be deduced that the nature and structure of information flow within an organization will ultimately inform the design, function, and interactivity of the proposed solution. Understanding this dependency provides valuable insight into optimizing organizational communication channels and realigning teams for effective outcomes.

A practical illustration of this principle is observed in large software corporations. A company with segregated departments, each responsible for a different process within a singular product, results in a fragmented, disjointed project output. Conversely, an organization that values collaborative, cross-functional teams is more likely to produce a product that boasts of seamless integration between its components.

For this reason, corporate structuring and re-structuring, when required, should be done with a pragmatic view towards improving communication channels. Aligning one's business operation to reflect this principle, therefore, has significant implications on the maintainability, productivity, and overall success of end products. It espouses the virtues of flexible organizational structures that maximize communication efficiency and consequently, affords more robust and efficacious design frameworks.

In essence, understanding and implementing this paradigm shifts how companies view their organizational structure and its subsequent impact on outputs. It transcends beyond mere theory, providing a heuristic tool for entities seeking to improve their system architectures. As such, it is an indispensable guidepost in my engineering career, illuminating the path towards optimum function and design within both the organization and the products it creates. This, in itself, is an organogram of success, a paradigmatic shift in corporate thinking to create more efficacious products and overall, more successful businesses.

Full disclosure, I didn't write this, this is GPT-4 on Conway's law. Here's the prompt, if anyone's curious:

write five paragraphs on conway's law that makes the speaker sound smart through a corporate vocabulary. start with "one principle that has guided my career in engineering". do not mention conway's law or conway himself by name.

[–] thanks_shakey_snake@lemmy.ca 3 points 1 year ago (1 children)

10/10, absolute drivel, no notes 👌 Extra credit for "organogram of success."

[–] b3nsn0w@pricefield.org 1 points 1 year ago (1 children)

yeah, chatgpt is frickin unparalleled in coming up with bullshit and phrasing it just the right way. my favorite thing is asking it to be sarcastic and passive-aggressive:

One principle that has guided my career in engineering, which my colleagues often overlook, is the profound understanding of the mirror-like relationship between an organization's design structure and the software engineering outcomes they produce. Now, I don't wish to dumb this down, but every time you witness a cluster of technologists huddled together, producing an array of systems, sub-systems, or module designs, keep your eyes peeled. They're invariably going to be a spitting image of the organizational framework of the enterprise, often in ways that self-proclaimed 'visionaries' fail to foresee.

Now, with painfully forced patience, I must reiterate that this axiom is no trivial discovery or stroke of divine inspiration. It's merely a reflection of the structural reality, something akin to looking out on a mirror carefully arranged by your senior management. The hierarchy, the stratification, the fragmentation across your esteemed organization, will be sculpted into the systems it produces. Picture each software module as a carefully chiseled stone that when aggregated, forms the larger cathedral that is your system architecture.

Ironically though, I've often seen leaders ready to splurge on sophisticated technology and state-of-the-art infrastructure, willing to make all grandiose promises on achieving data-driven decision making or accelerating the pace of innovation. Yet, they conveniently forget, due to what can only be a mission-critical memory lapse, that their microservice architecture has a curious tendency to mirror our own managerial slides filled with box-and-line org charts.

And let's dwell a moment longer on these org charts, these delightful diagrams that claim to encapsulate the chain of command and accountability within the organization. There's almost an uncanny resemblance, to the perceptive observer, between the lines of software code and the seemingly tiny, arbitrary changes made to these precious organizational diagrams. Lest we forget, the software your teams sweat blood to build will knuckle under to the gravitational pull of the enterprise structure, echoing its splintered silos and delightful dysfunctions.

However, for the sake of those cheerfully blinded by technical jargon and starry-eyed optimism, do carry on with your lofty ambitions to transform your IT landscapes, to catapult your organization into the brave new era of digital excellence. Just remember, the structural symmetry between your divided departments and disjointed computing systems is not random happenstance. If nothing else, they are monuments to the myopia of management, embodied in code and user interfaces, continuing to honor the timeless principle that so eloquently underscores my engineering prowess.

i literally just added "do the above assignment in a sarcastic and passive-aggressive tone" to the prompt, lol

[–] thanks_shakey_snake@lemmy.ca 2 points 1 year ago (1 children)

That version is so much more readable for some reason. Like this is actually a wonderful sentence:

Lest we forget, the software your teams sweat blood to build will knuckle under to the gravitational pull of the enterprise structure, echoing its splintered silos and delightful dysfunctions.

That doesn't sound (to me) like an LLM, and yet the stuff it produces by default reads in a tone that we would have described as "robotic" long before GPT.

[–] b3nsn0w@pricefield.org 2 points 1 year ago

yeah, i think the "LLM sound" is just a corporate sanitized tryhard voice that no sensible human would have. the tryhard bit is an artifact of instruction training, and the corporate sanitization is there to make it very "safe" for conversational interfaces or smart prose processing for corporate clients. but if you give the ai an actual, productive, and somewhat complex task to accomplish, it very quickly switches to something far more human-like, because it's no longer trying to overperform on a simple task.