Dawn of the .NET Mercenary Years

Continuing down my continuing path of reminiscing on my continuing experiences, I spent an inordinate amount of time crafting and editing the part 2 installment of this, mainly because part 2 left a big mark on me. It was the last time I was in a “group of architects”, and while I thought the idea was a bit whacked (the prefix “arch-“, meaning chief or master, ergo how many chiefs are needed), all but 2 of them were not that whacked.

Basically the second installment left me with the idea that I could not just drift through roles – even high-title roles…especially high-title roles – without trusting the organization in which I was working. I did end up failing through that once later, but not in the .NET Mercenary Years.

Since I finally managed to kick this out as a published page, I might as well announce it (and it’s earlier, easier sibling)

.NET Mercenary Years (1)

.NET Mercenary Years (2)

One Score and One Years Ago

In December 2001, .NET effectively replaced (D)COM(+)/ActiveX. It would still take a few years for the rest of Microsoft to get on board, and the rest of the tech industry can’t turn on a dime; but VB6 was the last ActiveX VB (the first was VB4!)

2001 was also the year that a bunch of west coast software people meeting in Utah decided that the influx of engineering project managers trying to Gantt-chart their creativity meant that a Great Worker’s Revolution needed to occur.

I gravitated towards one, and avoided the other.

One has had its ups and downs, being villainized, open-sourced and ported to a variety of runtime environments despite having some warty proprietary hiccups along the way, but ultimately becoming something that if you didn’t use it, you at least could accept you could get some serious stuff done.

The other spawned consultancies, certifications and bullet points on job-descriptions and roles-responsibilities lists that amounted to what recruiters see as “soft-skills” or “best practices” and other people more directly affected by the practices see as software design religion (generously…for want of a more apt secular word).

Anyways, I ramble…here is part 1 of part 2 (so part 2.1?).

.NET Mercenary Years (1)

Self-Reflection

When I was much younger, I would try to remember as much of what I could of my life from my earliest memories, and roll it through a chronology. At some point, I stopped doing that because it was boring; and much like trying to keep a dream-journal, just takes a lot of time from the waking future for the dreamy past.

But, my past is somewhat important to me to remember why I do what I do and am what I am. Figured I’d express some of it in condensed story-like format rather than a bullet-like list of resume items that I typically have done for the past 30 years.

The First Couple of Decades

From Society to Collectivism

Originally from Latin societas and socius indicating ally, partner and companion. Arrived in English through the French and formalized in some senses as “societies” for purpose (clubs, and organizations of generally voluntary actors).

Societies need to communicate, they select for communicative terminology that facilitates the society’s members being able to harmonize their activities or censure anti-social behavior. Those collections of individuals that do not possess the ability to communicate can hardly be said to be “societies” in any meaningful sense of alliance or partnership, and will probably vanish, leaving behind few cultural artifacts, if not devolve into either open conflict or avoidance.

In some senses “society” is used for general human aggregate interactions, with some degree of qualification (i.e., polite society, high society). Even here a sense of purpose emphasize the commonality or communicative nature of the society (e.g. politeness or “high”). Historically politeness was a cultural marker of wealth or education, and that one’s family had a certain cushion of isolation from coarseness or hard work (historically in that sense meaning working the land, pre-industrially).

The term society has found its way into broader contexts of human aggregates that in the past would not be seen as societies outside the confines or an isolated civitas (i.e., city or town). While a guild could very easily be seen as a society for purpose within a town, a “modern industrial” society is harder to explain as alliances or partnerships, except where legally incorporated or contracted to exist.

However some schools (societies?) of sociology have been adding to the confusion for some time. We are now stuck with hearing and reading about larger and broader societies that are now divorced from the concept of partnership per se. Perhaps this was planned, or perhaps memetically selected to make it possible to see “society” as a whole?

For the first I’d have to imagine a secret society existing for centuries that wants to destroy or control civilization. For the second, I merely have to extrude Thomas Kuhn’s concepts of “scientific paradigms” and how they form and constrain the field of activity for the pioneers by creating a gravitational (for want of a better term) barrier against escaping from the collective cultural artifacts of field.

Anyway, I don’t see the cultural drive to collectivism (i.e., “society as a whole”) as a conspiracy propagated by actors with a purpose (though I’m sure such things might exist for practical activities).

Culturally collectivism exists because humanity’s ability to interact with large numbers of people isn’t in our nature, but our ability to create generalizations and abstraction is within our nature. To cope with people (outside our family groups) humans imagine themselves in communities of relatively stable geographic sizes and value-exchanging roles. The material products of these concepts coalesce ultimately into cities and eventually civilizations (groups of relatively co-operating cities), but these are by no means required for human action or the pursuit of value.

Readings into Agile Heresy

This is just sort of a collection of readings I picked up digging through the internet for other critiques of the Grand Agile Orthodoxy.

I could easily have seen myself writing this if I had the gumption and was pressed into an Agile orthodoxy earlier in my career (and I were a better writer of prose). The sentiments are well expressed by the writer and sympathetically felt by me. The fact that is quotes Alan Moore’s V for Vendetta (not the movie, but the source material), is just icing.

Agile Is The New Waterfall.

This next “one” is really a set of blog entries that appears to have gone dormant, but the thought in the posts is pretty good, even if the writer appears to be more a disillusioned believer rather than a deep guerilla warrior opposed to the Orthodoxy. Maybe he’s gone in deep cover over the past 7 years.

The best is probably the New New Agile Manifesto in there (though a bit curt), though the Howto: post on creating a new (but popular) Agile is smirk worthy.

Post Agilist

Waterfall is an apocryphal “methodology” (if you hadn’t realized it). You can find other people who have traced it back (more or less) to a paper in the 1970, as the following semi-agnostic agile apologist points out. (Yes, I am probably not doing the author justice in pigeon-holing his position, but a holy war needs holy words; and rhetorical hyperbole aside, I don’t hold crazy ideas against anyone unless they drop them in my lap).

Agile or waterfall? Please rephrase your question. (justindeal.com)

This post hits some of my better buttons and is a lot more recent than some of these other readings. The point the author makes about measuring and optimizing rightly notes that if you want to measure something, that’s what you will tend to optimize. The writer also defines “impact”, which if I translate as “value” makes it easy for me to read further into.

If you want to optimize for value, be careful you don’t measure progress against something else. Time and materials can be accounted for, but their relative “impact” of the materials or features or whatever doesn’t translate into the value of the resultant product or feature-set.

Value is hard to measure in a rationalized way. It can be compared amongst alternatives (this more valuable than that), and dependency constrained (must have, or only valuable if…); but translating a unit of time from a variable number of working contributors into components of what made something valuable is a fool’s quest.

Anti-Agile. How Agile Methodology Destroys Products | by Henry Latham | UX Planet

This singular post is raw in its feeling and filled with sentiments that most people who experience the Orthodoxy nowadays would be well to suppress themselves.

Anti Agile (anti-agile.blogspot.com)

I haven’t the time to read this all the way before including it. But he cites Fred Brooks, and the overall flow as I skimmed it seems to align with my thought patterns. In other words, the writer’s thoughts appear well-organized.

Agile as Trauma — Dorian Taylor

This next is older and may be considered highly inflammatory (by some strong adherents or defenders of the faith). It gets a little deep into paranoia territory territory, which if you think there is a cabal of Agilist Cardinals, might make some sense. If you look for the simpler explanation that the type of sociological control described has been practiced in the open by many groups for quite some time, it is likely that not that they open sociology texts and decide to try out some things to gain or maintain control.

It is a bit jarring, but if you feel yourself being edged into things you cannot control or really avoid, the paranoia factor here might be just your thing.

anti-agile | Agile is totalitarianism (wordpress.com)

Agile Angst

I hadn’t experienced anything approaching unfiltered “Agile” directly until recently. I worked in software before the Internet explosion, which is before the social-media twit stream outpouring with the metric of “likes” and “followers” (i.e., eyeballs). I had experience building projects and products for specific purpose, with known human resources of established and neophyte talent. In short, I worked in software engineering (what I refer to as a variation of process engineering that focuses on automated control of abstractions), so could sort of ignore the swirling mess of noise that used the term “methodology” (which is the study of methods) as a weapon to combat anyone who had a different notion.

For a while I was able to avoid positions and organizations that were looking for process magic in a bottle. I have read through job responsibilities that seem compatible enough except that they end with “Agile Methodologies” or “Agile Environment” or “Agile Team” and closed the recruiter email and deleted it.

I started working with my current employer for a variety of reasons, but what sold me it would be a good fit because it had “actual” engineers, automation systems control engineers and facilities design and layout. All of these are things that requires careful consideration, planning and organizational interdependencies to pull off market-sensitive scheduling and delivery. I had worked in an engineering firm in college and worked at Unisys for a while (before they went a mostly consultant model). Engineering I could grasp both practically and philosophically, and software was my contribution to engineering endeavors.

I’m public complaint averse. Making noise is a good way to draw unwanted attention from witch-hunters. In the Internet Age it can be downright dangerous to express an opinion that someone somewhere doesn’t like. There’s just too much cultural normalizing of belligerent activism (regardless of goal, motivation, or direction), to want to “fight that fight” without a collective audience to back you up, and critical thinking, like individualism will never be a mass movement. Head-down is better than head off.

For me, Agile is no longer merely an abstract beast out there, I stare at it daily: in meetings requiring boxed items on (virtualized) boards to move along in uniform fashion.

Many of the people with whom I work (or the ones with whom I like to work) seem to be experiencing generalized angst in response to the impact of the cultural revolution that we now march in. Most of them hadn’t even heard of Agile until their liberation, so the arrival was a bit more of a shock to them than to me.

I work with good people, some even great, and some not quite so great but dependable enough if handled well. My approach is persons and organizations achieve design and engineering greatness not through any specific magic process of social engineering, but through good engineers who knew how to work together. When, isolated from each other and socially managed into working and communicating in specific ways the secret sauce can be spoilt.

If you try to engineer how software engineers work, you will lose the engineering output you hoped for. If you want software engineers to produce, let them engineer.

Oh, for the Love of Wisdom…

In a previous post, I wrote about the term philosophy (love of wisdom) and emphasized the word love, but spent most of the post describing the conceptions of wisdom, knowledge and other such incomplete mini-models about the human action of thinking.

In that post I did introduce “value hierarchy” fairly early, and ended up scattering some value-preference indicating phrases indicating what I valued more or less (in at least a partially ordered sense). I wrote about what I liked; and I wrote about what I didn’t love.

I like science in a very general sense. I am rubbish at lab-work.

I like understanding basic principles. I’ll skip physics, though I have read into relativistic physics and quantum mechanics enough to know the limits of the physical universe are absolute zero, the speed of light, and the plank scale. Relativity and the quantized nature of physical phenomena limit what we can achieve and know from a reference continuum of observation and action. But within those limits we have practically boundless potential to observe and build knowledge. We may not be able to plumbs the “infinitely minute” details of the universe, or cosmologically see beyond the event horizon of the universe, but there’s a lot of play between those bounds.

I like understanding how chemical reaction and interactivity work largely on very basic electrodynamic principles in combination based on configuration in relative molecular spaces. The fact that those principles work on physics (which we have limits on probing) hasn’t kept chemistry from being a multi-headed “discipline” including solid-state, organic, molecular bio-chemistry, etc.

I like being able to read about how complex bio-organic molecules operate from very basic chemical principles, and how they form what appear to us to be “natural” systems optimizing for continued self-replication and the generation and replication of support systems to carry genetic patterns. I am fascinated on how the variety of genetic replication scenarios can favor such a wide variety of genetic replication strategies: including those that seem optimized to hijack the replication mechanisms of other structures.

I am equally interested in how the minds of individuals form knowledge systems, value hierarchies, and choose what they love or despise. Humans individuals seem naturally predisposed to form conclusions. I like to think of humans as knowledge integration machines.

Human animals are social animals. At some point during their life they are dependent on others, even if it’s just the immediate family members. To survive (as a nominally successful species), members must have some predisposition to form interdependent relationships.

The social environment of the individual can provide access, or limit, the raw cultural material one can use to integrate knowledge. At the moment we live in an age when it is possible to sample (in theory) broader swaths of information and knowledge webs than ever before. So much so, that many people are incapable of disconnecting from the apparent demands of the social orders they see flowing around them and available “online”.

But what kinds of societies are best? I’m not sure there is an answer to that. How can you measure best? If you want a “perfect” society, you are trying to decide what’s “best” for other people, even the ones who don’t agree with the knowledge you have built up and have justified. If you find intransigent people that disturb what you consider the perfect social order, what do you do with them? And shouldn’t you do that to them before they do that to you?

The “truth” is, people decide what’s best for themselves based on the value-systems they have created through the acquisition of knowledge available in their relative cultural sphere of accessibility. They act through those value-systems and feel strong emotions like love and hate, anger and despair, joy and sorrow, empowerment and helplessness based on what limits and possibilities they see themselves capable of acting through.

There’s nothing wrong with negative emotions, they helps us see what we understand. But we get to choose what we value and what we know.

Emotions like love, joy and empowerment are what should predominate in any long-term viable society of people; they are the ones that pull people together. The alternative is to base societies on the negative, and those are hard to keep together, as they keep looking for enemies even after they’ve purged all the easy ones they thought they could identify.

Pursuing Knowledge

The term philosophy, from its Greek roots, it is the love of wisdom.

Since I often ponder with a little decompositional analysis, philosophy stands on two legs. The first, that usually (probably?) gets the most attention is wisdom. The second, that usually gets the short end of the semantic relationship, is love; and how “love” can be applied to wisdom.

In the value hierarchies of thinking and knowledge, wisdom usually get the top spot, indicating a person has a broadly comprehensive, fully integrated world-view that is largely conformant with whatever situation the person happens to be in, or whatever topic area that person is wise in. Knowledge often seems to indicate holding exacting details of topic areas (which may itself be quite broad), with specific incidents, memorial facts, and historical references; and the ability to observe and identify things that conform to that topic area, and possibly make causal inferences (either on what caused the current situations, or what the current state will cause in the future).

In that loose schema, other “brilliant” qualities, like observant, cleverness, or inventiveness, are usually secondary, and relate to the person’s characteristic disposition to other people and events; but are largely informed by the person’s knowledge base and funneled through the person’s interests and enterprising drive (and perhaps mental[?] stamina). It’s hard to be observant when you aren’t knowledgeable about what you are observing, It’s difficult to be clever if you don’t have detailed models of what your outcomes could be.

While it may seem I place wisdom and knowledge in some linear dimension polarized by broad (wisdom) and narrow (knowledge) scopes, I prefer to use some type of “system model scaling” and consider these not as ends of a pole, or magnitudes, but parts of a self-referential model of how a field of discourse (or action) is justified, how one operates on concepts and ideas within its bounds, and how it can be applied to other fields of discourse (or action).

I am less interested in how people build systems of knowledge, than in how people build systems that explain the systems of knowledge they do build. I didn’t love that kind of technical articulation within a set of assumptions. I liked to discover and test assumptions, then see what happened when I built things (ideas, concepts, processes or software applications) to challenge them. I liked practical application and verification; sort of a 19th century natural-sciences approach to philosophy (as opposed to say, a 19th century approach to philosophy proper).

This type of free-wheeling maverick approach to philosophy isn’t necessarily appreciated in academia which necessarily embraces institutionalization of paradigms; nor is it necessarily welcomed to the technically oriented world of specialization of knowledge that wants to put everyone in a place in an organization for a purpose; where the organization acts, and the individual is (effectively merely) a functionary.

Pushing boundaries is not socially or materially easy; staying the course, getting with the program would be far “easier” to the individual simply trying to remove a felt unease and maintain some semblance of static equilibrium.

Naive about Set Theory

A few months back I started putting together a page about systems to provide some foundations (framing, schema?) to communicate further expressions about value-systems, their nature, and evaluating their efficacy and ultimately “value” across a variety of value-assessing criteria (and as one might guess, explain criteria for evaluating any criteria making up an identifiable value system). In other words, what is the value of having a value-system, and how can value-systems be evaluated…and why they must be…

But that’s not directly germane to my topic title here. Instead, while trying to articulate the definition of a system (using the definition of a thermodynamic system as a starting point) I came up to the point describing systems as having boundaries. I found myself started trying to “justify” the definition, and explaining why systems had to have boundaries.

None of what I was writing seemed to click with me. I couldn’t put my finger on it, but felt I was dancing around something. Eventually for reasons that I find murky now, I started down a path that led me to read about set theory (I think I was trying to get to a point where I could read John von Neumann), and ultimately naive set theory (which is a predecessor or sorts to NBG set theory). While reading about set theory, I think I came across what I was having a problem with: a strong understanding about the nature and use of axioms in conceptual structure building.

Generally, axioms are those things in a theoretical structure that are taken as a given; effectively a truth onto which things must get anchored to have any hope of being considered truthful in the structure of the field of study under question.

What I needed to go forward with my writing about “systems” was to understand, assert (even if only implicitly to myself) the axiomatic nature of the terms I was putting forth, and move on from there. I found that slightly unrewarding, as like many people I seek to “get to the bottom” or ultimate justifiability of a position I take. Axioms are like bedrock, but I want to know what makes up the bedrock. Why is it bedrock? That’s for another entry also: the Axiomatic Axioms.

Why I was having a problem was because axioms are effectively the boundaries of the “systems” of theoretical topics; they have to be accepted (as valuable) within the topic area. There is no reason a person could state that a system doesn’t need to have a boundary, but then the system would be “everything”. A large part of my interest on systems is why and where the boundaries are drawn is largely dependent on the value-systems that identify or construct the systems.

Anyway, I’m sort of reading through Mary Tiles book on the Philosophy of Set Theory, mainly because Naive Set Theory by Paul R. Hamos was starting to get away from me. I could sort of follow it, but it was written to support an academic classroom mindset, so it presents thing and expects the instructor to assist in the understanding. This means it packs concepts in pretty quick and high if you just read the book.

The Philosophy of Set Theory is a bit easier for me as it delves more into the epistemological history of the considerations of the various infinities and infinitesimals that led to modern set theory. It also has some diagrams.

Pursuing Value

I’ve owned this domain for quite some time, intending to use it to project myself in the way I want to express myself. I’ve never really found the time to plan and develop what that means. I don’t want to really “go public” and collect followers while doing those things that bloggers do; whatever that actually is.

This is probably more for me, to make sure what and how I think (they are really almost the same thing) is up to the standards I want them to be. If it helps anyone else, that’s a bonus for them. The reason I pursue this value is for me; if anyone else finds value in it, then kudos to them.

I suppose it’s a bit of a self-serving initial post, but, see the appropriate warnings above. At any point, you are free to pursue anything else of value to you on the internet, in your world, or in you mind. Don’t let me hold you back.