Archive

Author Archive

Arrogant And Self-Righteous

April 11, 2009 Leave a comment

I’m currently working on a really difficult assignment that’s starting to put me into an arrogant and self-righteous mood. My task is to add a customer-demanded feature to our flagship product that requires pervasive change throughout 400,000 lines of legacy embedded C++ code. Our flagship product is a software-intensive, distributed real-time sensor system that’s used to provide safety-critical surveillance information to our customers.

mds-sw-arch

This is actually the third try at getting this task done. The first two attempts by other people fizzled out with nary a whimper. They were in way over their heads and thus, the work that they left behind is useless to me. So here I am, reverse-engineering 100s of thousands of lines of algorithmically deep code to:

  • try and figure out what the current code base does
  • try and understand why the code does what it does
  • determine what changes need to be made to which code sections in order to implement the feature

This task is hard, really hard, but I’m up to it. The work requires long periods of sustained immersion in the code base and the mental absorption and retention of many fragile and diverse associations. Way more than Miller’s famous 7 plus or minus 2 limit of individual human capacity. I’m not getting any deep help and I’ve got two (yes two) managers taking “status” and watching the schedule . Other well-meaning product team members do help out when I ask them, but they just provide tidbits of help here and there. Help from the managers? Fuggedaboud it. It’s not their “job”, and they don’t have the expertise to help out even if they wanted to (which they don’t). Don’t get me wrong. They’re both good people and I like them very much, but they just can’t help, period.

Alas, I feel that I’m virtually all alone on this effort and it’s making me arrogant, self-righteous, and mad. Why’s it making me mad? Because I don’t feel appreciated and I feel that no one, save for one other person, has any idea of the inherent difficulty baked into the project.  I look at what I’m doing, compare it with what others around me are doing, and then I ask myself “why did I willingly sign up for this type of work – again“? When the job gets finished, I’ll in all likelihood just get an “atta boy” and the same average raise as everyone else – just as has happened several times in the past. Thank God that I’m internally motivated to grow and learn.

Boo hoo, poor me!

Sassy!

April 8, 2009 1 comment

sassy

The SAS Institute has been one of my favorite software companies to watch over the years. They were like Google before Google. The reason that I’m mentioning SAS is because while I was browsing through my notes, I stumbled upon this quote from a SAS manager:

Nothing corrodes respect between a boss and an employee more quickly than the sense that the boss has no idea what the employee is doing. Managers who understand the work that they oversee can make sure that details don’t slide. At SAS, groups agree on deadlines, and managers understand what their groups do — so unrealistically optimistic promises about time-tables and completion dates are relatively rare.

The quote came from this 2004 article in Fast Company magazine: Sanity Inc. The quote struck a chord with me back then, and it still does now. In my case, I don’t necessarily disrespect a manager that doesn’t know what I’m doing. I disrespect managers who:

  • Are apathetic and show no interest in what I’m doing, regardless of whether they know the subject matter or not.
  • Don’t ask me how I’m doing, and how they can help me do my job better, regardless of whether they know the subject matter or not.
  • Just stop by only when they need to collect status, without wanting to hear about any bureaucratic procedural roadblocks that are, or specific people who are, hindering my progress.
  • Pretend to know what I’m doing and make suggestions on what to do next, even though we both know (or, at least I know) that the manager has no clue.

How about you? What causes you to lose respect for your manager(s)?

A Metafesto

Being a software engineer, I’m always on the hunt for better ways to develop software.  In my continuous search for excellence, I’ve recently been bombarded by what seems like an endless stream of manifestos. Here are some of the most “famous” ones:

They’re all so brilliantly elegant and moving that I want to put them on little magnets and display them in my cube right next to the company core values and quality policy magnets.

In response to the manifesto craze, I’ve come up with my own “metafesto”. A manifesto about manifestos.

Enough already! Stop talking about manifesting some ideal behavior and just do it. Manifest what you wrote yourself. No need to get up on a soapbox and pontificate to the masses of little people so that they do things the “right” way.  If what you preach works, and people see it and resonate with it, then they’ll manifest what you’re manifesting. I hereby renounce all software-oriented manifestos as self-righteous and dictatorial rules wrapped in elegant and poetic rhetoric.

Do as Ghandi says: ““We must become the change we want to see.”  He didn’t say “Talk about the change we want to see” in the world.

Analysis Vs. Synthesis

Everybody’s an expert analyzer. We slice, we dice, we evaluate and judge everything and everyone around us. “That’s good, that’s bad, you should’ve done it this way”, yada, yada, yada. Analysis is easy, but how many of us are synthesizers and/or integrators, CREATORS?

The problem is that we’re taught to analyze and critique from day one. We start with our parents and we are continually reinforced over time by our education system until we’re rigid adults who know how “things should be”. Over and over, we’re presented with something that already IS (like a circuit drawing, a business case, an a-posteriori historic event) , and we are taught how to criticize it and how to vocalize that “it should have been done this way”.

That’s too bad, because we are all born with the innate ability to be synthesizers, integrators, or in summary, CREATORS. We were born of creation, and thus we are creators. Sadly, we lose touch of that simple fact of life because of our inculcated obsessive infatuation with academic intelligence and the ego-driven desire to know more than “others”. Our western societies reward and glorify left brain “experts” and they shun, or even ridicule, wild-ass innovators and creators (at least until aftet they’ve died). Creators and innovators are often ostracized by the herd because they shatter the status quo and disorient us from the comfort of our lazy Barca-loungers.

The figure below shows the difference between analysis and synthesis (Cx = component x). In the analysis scenario, we are given something that exists and then we are asked to evaluate it, to determine what’s good/bad about it, and to develop ideas on how to improve upon it. In school, we are taught all kinds of discipline-specific techniques and methods for decomposing and breaking things down into parts so that we can improve upon the existing design. But analyzing the parts separated from the whole doesn’t get us anywhere because the whole includes and transcends the individual parts. By breaking the system apart we obliterate the essence of the system, which is the  magic that exists in the interactions between its parts. Blech! Meh! Hawk-tooey!

analyze-synthesize

The synthesis scenario is downright scary. We are given a novel problem, a bounded set of parts (if we’re lucky), and told to “come up with a solution” by the boss. Dooh! Uh, I don’t know how to do that cuz I wasn’t taught that in school. I think I’ll bury my head in the sand and hope that someone else will solve the problem.

Synthesis transcends and includes analysis. You can’t be a good synthesizer without being a good analyzer. You synthesize an initial solution out of intellectual “parts” known to YOU and then you analyze  the result. If you aren’t familiar with the problem domain, then you have no “parts” in your repository and you can’t come up with any initial solution candidates. End of story. If you do have experience and knowledge in the problem domain, then you can synthesize an initial solution. You can then iterate upon it, replace bad parts with better parts, and converge on a “good enough” solution without falling into an endless analysis-paralysis loop. During the process of synthesis, you dynamically rearrange structures, envision system behavior, and iterate again until it “intuitively feels right”. All this activity occurs naturally, chaotically, at the speed of thought, and to the chagrin of the masses of Harvard trained MBAs,  in no premeditated or preplanned manner.

Ultimately, in order to share your creative results with others, you must expose your baby for “analysis”. Now THAT, is the hard part. For most people, it’s so hard to expose their creations to ridicule and humiliation that they keep their creations to themselves for fear of annihilation by the herd of analyzers standing on the sideline ready to attack and criticize. It sux to be a synthesizer, and that’s why the vast majority of people, even though every one of them is innately capable of synthesizing, fail to live fulfilling lives. Bummer!

FORM-ASS

How can someone effectively judge quality of content when they have no idea, nada, of what that content means? Well, they can’t. No matter how hard they try, and how sincere they are, they just can’t. People that are placed in those types of positions end up doing the best they can, which is judging the container that houses the content.

In technical companies that have separate Quality Assurance (QA) and Test groups, that’s often what the QA members end up doing – judging containers and not contents. The testers judge the contents (which adds value) and the QA group judges the containers (which doesn’t add value).

It’s not the QA group’s fault, it’s just the way the system IS. Even the managers who structure their companies in this costly and inefficient way aren’t fully at fault. That’s because customers, especially government bureaucracies, often require a separate QA silo group before they will do business with you. In a perverted way, it gives them a false sense of safety that the product or service they receive will be of high quality.

Since I’m a firm believer in POSIWID (the Purpose Of a System Is What It Does), then I propose to change the name of all non-test QA groups to FORM-ASS, which is short for: the “FORMat ASSurance” group. Since the FORM-ASS acronym more directly reflects what they do, it is a better fit, dontcha think?

Categories: business Tags: , ,

The Space Between Thoughts

Bing, bing bing. One thought after another arises out of somewhere (do you know where?) and manifests as an image or string of associated words in our head.  Where do thoughts come from, and why does someone think the specific thoughts that they do?  What determines the frequency of thought production? Is it good to be engulfed in a state of high frequency thought production? How is wisdom related to thinking?

As the figure below shows, I think that wisdom arises out of the space between thoughts. If you agree with me, then being ensconced in a high rate of thought production is in general, not a good thing. There’s no time for wisdom to shine through the continuous train of thought.

wisdom-rising

How does one lower the frequency of thought so that we can experience wisdom? I think that we can lower the frequency and create holes to appear in the thought train by not attaching any emotion to each thought. Since we’re human, we all attach meaning to each thought and we experience the feeling that accompanies the thought. If we don’t amplify that feeling into a personal emotion, we perform a 180 degree turn and look inward at our true nature . We then experience what we really are at our core – the pure awareness; the nothingness out of which all objects are created. The glorious process of creation itself.

Wisdom is not intellectual understanding, it’s experiencing/realizing. It’s “the peace that passeth all understanding”. By creating gaps in our thought train, we give ourselves opportunities for wisdom to arise.

Emotional Messaging

March 31, 2009 Leave a comment

I don’t know about you, but when I feel strongly about topic that I know pretty well, it’s difficult for me to talk about the topic without mixing emotional meaning together with the verbal content of what I’m trying to communicate. Is that a bad thing? In the standard business mindset of a bygone era, it IS a bad thing. It’s “not professional” to show emotion. Those who can keep their emotions in check are annointed as leaders of the corpo castle. Robots rule and there is no room for humanity. Since all leadees watch their leaders closely, and most of the leadees naturally tend to emulate their leaders in the hope of moving up the corpo pyramid to success, mechanistic leaders innocently and unconsciously create mediocre “oatmeal” organizations.

In this day and age of knowledge commoditization, openness, and candor, emotion may be exactly what is needed to catapult an organization to the top. In order to lead, you must not only be competent, but passionate and inspiring. Those words imply the requirement for emotional communication to me.

Without emotional involvement, project outputs tend to be “meh” – cold, bland and mediocre. Classic MBA managers prefer the measurable over the meaningful. Not me. How about you?

High Falutin’ Titles

March 29, 2009 Leave a comment

Along with a whole bunch of co-workers, I’m a member of the professional networking site linkedin.com. It’s a great site and I highly recommend it.

It’s interesting to browse through the profiles on LinkedIn. Everybody’s a freakin’ manager, or director, or chief-this, or chief-that. However, when you read their accomplishments, you can’t tell what the freak they’ve done.  They seem to mostly describe the functions of the org areas that they’ve worked in. WTF? Of course, I don’t have any facts (I only use facts when they bolster my argument and I auto-reject all others 🙂 ), but I’d bet the farm that most of these people don’t direct or manage anyone and they haven’t done squat in years. They’re each, OMG!,  a dreaded individual contributor. I picture them, perhaps wrongly, walking around flaunting their titles, manipulating people (instead of helping them to develop and grow) and barking out non-sensical orders that they’ve pulled out of their arses. They behave this way to look/feel important and they actually fool a few people for a while.

It’s sad, because I think that at the core of their souls, all people want to do the right thing for all. However, the shining light at their core has been trapped in no man’s land by layer upon layer of ego. The culprit behind ego inflation in the corpo world is a dysfunctional org structure.  Specifically, it’s the obsolete 150 year old pyramidal, hierarchical structure of entitlement that all dinosaur corpo citadels pay homage to.

“Enough with the rant, got any alternative ideas smarty pants”? How can you mobilize a large group of people to change the world and prevent chaos from reigning without a corpo pyramidal caste system? One way is to organize as, and more importantly, operate in accordance with, a circular ring structure where all rings are directly connected with robust and high bandwidth communication channels. Instead of managers in the inner rings, there are leaders. Leaders focus more on developing people instead of enriching themselves.

pyramid-circle1

So you say that the multi-ring design is nothing more than a squashed hierarchy with the innermost node representing the CEO? You’re literally right, but not figuratively. The main reason for operating your org structure as a flat concentric set of rings is to eradicate the deeply ingrained 1000s of years old “I’m better than you because I’m higher up in the food chain” mindset that unconsciously pervades all hierarchies. Sure, the people residing on the inner rings still have the responsibility to make org-wide decisions, but they do so with a more down-to-earth and people-centric mindset.

A non-conforming, ring-based company organization can’t possibly work, right? Blasphemy and off with my head! I know of at least one company that’s successfully implemented the “ringo star”. Semco Inc. of Brazil. If it piques your interest, Google them and/or check out the articles bookmarked in this twine: The Magic of Semco.

Thanks for listening.

My UCB

March 28, 2009 3 comments

My Unshakeable Cognitive Burden

A few years ago, I first heard the phrase “Unshakeable Cognitive Burden”, or UCB. The UCB is a collection of deeply rooted beliefs, opinions, and values that color a person’s view of life. It serves as the foundation for his/her behavior. We all have a UCB, and we start unconsciously building it from the ground up as soon as we are born. If we remain unconscious and unaware of our UCB as we age, it starts to harden and stagnate.

The UCB is shaped like a pyramid where the lower layers become incredibly difficult to displace and replace over time as we innocently, but deliberately, filter out those circumstances and events and experiences that go against it. Since the top UCB layers are under less psychological pressure than the lower layers, they may be easy to displace and replace. However, depending on how unconscious and entrenched we are in our personal belief system, even the top layers can become immutable.

pyramid

Trust me, it’s not good to have a UCB. I struggle with mine all the time. Rigid attachment to a UCB leads to a life of frustration, disappointment, and constant suffering. You get stuck in an arrogant, “I’m right and you’re wrong” binary mindset that can lead to violence or worse. Instead of living in the moment and enjoying life, you spend much of your time defending your UCB and attacking everyone else’s. It’s you against the big bad world. The Buddhists call this “the illusion of duality”.

The only way out of the UCB trap is to awaken to the fact that you’re living in a self-woven cocoon of lies based on “thoughts”. If you ever come to the realization that thoughts are just temporary formations of natural energy that arise out of nowhere in your consciousness, then your stance will soften and life will become lighter, breezier, and more peaceful. You will become more open and accommodating of others thoughts, ideas, and feelings.

So how do we awaken and become consciously aware? Is there a step by step procedure? I wish I knew. Do you?

barrier

Government Business

March 26, 2009 Leave a comment

The figure below is a UML (Unified Modeling Language) class diagram that models a fictional government contracting system. So you don’t know UML? Don’t leave, because UML is easy to understand if one doesn’t over-specify in an attempt to show the world how “smart” he/she is.

The diagram shows the players (“classes” in UML lingo) in the game and some of the relationships (“associations” in UML lingo) between them. The diagram can be understood as follows:

The taxpayer funds congress, which funds groups of government bureaucrats, who hire a contractor to develop and deliver a product to be used by government workers to do their job of serving the public. Money, which everyone worships of course, ties all these main power players together. The contractor develops a product, which is then (delivered to the government and is) used by the government workers. All is well and the world becomes a better place. Whoopeee!

the-players

Yawn, meh. Boring and uninteresting, no? But wait, there’s more. Some hidden relationships between the “classes” in the system are not displayed by this proper and politically correct diagram. The diagram below shows just one of these hidden relationships – mistrust – between everyone 🙂 . How did this mistrust emerge and infiltrate the system? From the players getting burned in the past, that’s how. Especially the ultimate source of all money in the system – the taxpayer.

relationships1

The last figure in this post shows the dynamic behaviors exhibited by each of the active players in this goverment business dance.  In the UML, the middle compartment in a “class” (which is nothing more than a type of object – a classification) is intended to hold the attributes that characterize the class. I purposefully left them out because they’re not important to the message I’m trying to communicate.

behaviors

I’ll leave it to your imagination to create specific scenarios of system operation (called “use cases” in the UML).  Scenarios are specific subsets of behaviors that are sequentially strung together in time (scenarios can be modeled with UML “sequence diagrams”). At the end of a given scenario execution, the system has achieved a specific goal, like “make everyone in the system miserable”, or “damage the environment”, or “reward those who deserve it the least and punish those who are innocent of wrongdoing”.

Are there any significant players missing in this system? Are there any relationships missing? Are there any behaviors missing? Got a different model of how this government system works or how it should work? Remember this:

The purpose of a system is what it does, not what its advocates say it does.

Thanks for listening!