Habitually doing the ostensibly impossible

After Apple DocViewer and MicNotePad, then NrvrCommander again was a project predicted to be impossible.

NrvrCommander was different in nature from my earlier real-time, speech, GUI, and document work: More enterprise, less graphical, no assembly code.

I coded NrvrCommander because when we finished a new version server build it took a couple of days until QA could start, often because of test cluster configuration issues. I was annoyed by a lack of predictability and lack of control of man over machines.

I remember my good colleague who had told with apparent authority that kind of automation could not be done. Before starting time-consuming exploration and coding, I had asked questions of the right group of people, each individual in the proper department. I also had searched the web.

When hearing of completion, my team leading colleague perplexedly admitted he “didn’t know that was possible.”

This post is about patterns of interaction around innovation, seeking better collaboration. This post is not about competing with that one person.

At another employment I started using NrvrCommander, properly licensed open source, to automate testing. I then was told not to automate at that time.  The objection wasn’t against NrvrCommander — the objection was against using JavaScript for web automation, it was before async await in Node.js. There were more important assignments for me to pursue. We hired nice people to click and to learn web automation using Python.
I had hoped the same programming language used inside web applications, JavaScript, would be used for test cases, to ease teaching and to encourage at least some creation of test cases by developers and security researchers. Yet, this was a battle I chose not to fight. Notably, personal skills were not a major limiting factor influencing programming language preference: I had written NrvrCommander in Python, after earlier code in bash.
While I often prefer using machines for automation, in that setting I wasn’t fighting people’s organizational hierarchy, and watched how well this was getting done with and by people.

Because of competing priorities, and as other DevOps tools became popular, I felt comfortable abandoning further development¹ of NrvrCommander.

I am sure others had similar experiences of making and abandoning. One learns about market, need, features, timeliness, promoting or not.

To get the most benefit from my efforts, I now prefer teaming up with people who move things along, who wholeheartedly use and sell what I create.

Before trusting me, you may hesitate for a moment, wondering: “Why did a person get into a habit of making things others consider impossible to make?”
It was considered virtuous when I grew up to listen to what others say, to improve yourself, your skills, your product. Consequentially, business and life came to resemble the fable of the miller, his son and the donkey: Following conflicting advice leads to suboptimal results.
Repeatedly perceived technical leaders suggested “if you believe [your vision] is possible, make it.” Because of day job responsibilities that meant developing nights, weekends, and vacation time. When ready to demonstrate early versions, other leaders then were ready to identify a weakness: One who develops without having an order on the books, and without receiving initial payment must be a fool. They would not use a fool’s product.

I now prefer working with people and organizations who can agree to roll out and to further develop products and inventions we have in the pipeline.

 To join us or to find out about how we can help or work with your organization, contact me.


¹As footnotes, for those technically inclined:

Innovative parts of NrvrCommander that may still be useful were in

which required investigating and contributing changes to libcdio.

Other innovation, but probably of shorter-lived benefit, was around configuring then current CentOS, Ubuntu, and Windows.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.