Software Engineers Should Standardize and Unionize (Rated R)

Prostitutes have organized against unfair treatment by society, according to several news sources 1, 2, 3, that police may be disallowed to have sexual relationship with a prostitute in order to arrest the prostitute in hawaii.

The example given in the article says that a police received a blow job from a prostitute (anything other than penetration), and then promptly arrests her for prostitution. Some how the prostitutes felt that this, among other treatments, were demeaning and wrong, and they organized and changed the law.

Software engineers should unionize and make this otherwise proud and difficult professional a respected one, one at least as respected as prostitution.

In one scenario, the manager performs his managerial duties of keeping a project slow or delayed by strategically introducing incorrect information or even outright lies or even blatantly changing documentation or code during some phases of the project and later altering it again to create incorrectness in some part of the software design or coding.

In another situation, the natural abilities of teammates are kept at bay by various nefarious means so that the “right” person, typically an ardent supporter of the manager who is either lacking the knowledge or experience or who just has flexible professionalism and are willing to put in whatever suites management irrespective of actual technical viability. (Sure they are all viable choices and we can write in X86 assembly too, just as long has his gang member knows it well enough)

There is a sorely missing industry standard for software engineering. There is nothing that stands for good (enough) software. The government cannot even put a “Engineer” stamp on software engineering as it can put on structural or civil engineers. Any foreign third grader could come to the US, slap a Mooc in his resume, and become a senior software engineer with rousing praise from others of similar situation a few years earlier… (same applies to domestic self-starters, but please DO NOT come to my home and put dog shit on my lawn, this is an attempt at a civil discussion of my concerns)

Look, guys, look at the Hawaiian prostitutes! They can see something when it is wrong. They stood up against a part of society that is wrong: those who take advantage of prostitutes by enjoying their service–including police man while trying to arrest them. (Of course the accusation is beyond that. Law enforcement actually are accused of soliciting bribery in the form of sexual service for favorable treatment) This blog does not comment on morality of individual state or nation states law enforcement practices. Instead it states a tautological fact: the law strongly discourages the sale and purchase of sexual service. And that should include law enforcement officers. It is an enforcement of something that society has agreed is not right.

Now, can we agree on things that are not right in software engineering?

I don’t imagine that your typical software engineering project my team does to be more complicated than building sky scrapers(think! What would/can president Trump do??):

  • market analysis and requirements
  • product requirement and specifications
  • product design
  • financing, resourcing labor and materials
  • designing and deploying project management
  • project implementation
  • quality assurance
  • completion
  • launch
  • maintenance
  • transfer of ownership
  • remodeling
  • demolition

Think of it! Buildings fall down at far lower rate than you getting sad whale at twitter, or even the once in a while sad robot from Google, when did you ever see a sad leaning Empire State Building?

Think of your salaries and stock options. Think about the quality of service You perform for your fellow man.

Think of the last SEV you caused.

Now think of that builder putting together that building, and the SEV of his work. (Or also, think of those high speed rails in China or Japan, or think of an airbus jumbo jet… there’s a lot of really awesome engineering around the world)

Now think of the government inspectors, zoning, city planning, the federal regulations, the building codes…

Now think of president trump who made some buildings all work.

Now think of the prostitute who demand social justice after being caught sucking a police officers dick. She wasn’t allowed the dignity of washing her hands until she was booked under camera! Think of the dehumanizing experience.

Now think of the last less-than-stellar line of code that you had to write with your hands under duress under recording and review by your company’s overseers, other than that last SEV.

I don’t know why these things mutually activate in my head. But let’s do a association test, do you really feel closer to one of those other engineers than the prostitute? What’s your MTTF?

But all of it could be “solved” if software engineers just had a little pride in their industry and take a stand against “what ever suites the business, the product manager, the engineering manager” or “agile means don’t think, just build, software things naturally and surely will break”

STOP THAT. It doesn’t have to be this way!

We can build something right–risking their exorbitant salaries and stock options of course. Once software engineers standardizes practice and unionize, we would kiss those big pay checks and ISO’s and RSU’s goodbye.

But we can get a button that says “you are a software engineer”

I know I know, a honest to goodness software engineer wouldn’t need a button to know that… and plus look at all the raving reviews on LinkedIn! Isn’t that button enough for you? (No, not really)

(It does not escape me that once we build a reliable car, the demand for or next model would be lower, so let’s build a car that have parts taking turn breaking right after warranted expire and still take on the lost revenue on maintenance…. darn I guess there are other kinds of engineers out there too…)

But we can do better.

There is a lack of objective software building standards. There is a lack of responsibility towards software engineering, instead there is presently only responsiveness for business or politics. There is no pride in this line of work outside of the number next to that $ (or your CTR, or your QPS, or your LOC… take your pick of business metrics)

😦

Let us take a stand and be a better engineering discipline!