Engineering diagrams
Software architecture diagrams suck.
My father and grandfather built houses. I grew up with blueprints, the large drawings used for construction. For those who may have never seen such drawings before, here is an example:
Software architecture diagrams suck.
My father and grandfather built houses. I grew up with blueprints, the large drawings used for construction. For those who may have never seen such drawings before, here is an example:
"You're playing and you think everything is going fine. Then one thing goes wrong. And then another. And another. You try to fight back, but the harder you fight, the deeper you sink. Until you can't move... you can't breathe... because you're in over your head. Like quicksand."
As a software developer or devops engineer, you need to recognize when you are in quicksand.
Here is how you get out.
Picture the pool of available skilled technology workers as an inverted pyramid. Each level is dependent upon the technology skills of the level below it. The higher one goes on the inverted pyramid, the more common and less expensive the skill set. The lower one goes on the inverted pyramid, the less common and more expensive the skill level.
A wise man once observed, "There are two types of people in this world: those who divide people into two types and those who do not." Perhaps it was Steve Martin; I don't remember.
In that same vein of reasoning, I have found that there are two types of engineers:
I call the first type Simplifying Engineers and the second type Complicating Engineers. I despise the second type of engineer. He is obnoxious to industry.
Leo Tolstoy begins his novel Anna Karenina with the profound observation that:
“Happy families are all alike; every unhappy family is unhappy in its own way.”
Not to be maudlin, but an engineering development team is a lot like a family, especially where Tolstoy's observation is concerned. I would state the Karenina Principle as:
“Successful development teams are all alike; every unsuccessful development team is unsuccessful in its own way.”
The essence of selling is trust. The customer must come to trust the salesman and the company that he represents. That is because buying is an irrational act, regardless of the technology or the customer. Consider the following.
The customer can never fully understand the technology that he is buying. It takes all of his energy to understand his own business and perhaps the business of his customers; he does not have the bandwidth to learn the business of his vendors too.
The customer can never achieve perfect knowledge of the market. Knowledge of the market is especially hard in new technology. The customer will always have the suspicion that he missed something. There might be another small company that sells a better product that he just did not see. There might be another technology that solves his problem differently. There might be a bigger breakthrough tomorrow.
The customer can never conduct full due diligence of the vendors. The company may close tomorrow because the CEO is embezzling. The product may be so full of bugs that it eats whole networks. The customer may make all sorts of justifications for his decision to buy, but in the end the deciding factor is trust.
The customer must trust that:
Selling is irrational because buying is irrational. Start ups led by engineers have a very hard time with marketing and selling their product because the leadership projects rationality onto the selling process. Sometimes the engineers are successful at selling, but they attribute their success to the wrong reason. They believe that their superior knowledge has convinced the buyer in a rational decision making process. The truth is the customer came to trust that the engineer because of the engineer’s display of self confidence.
When engineers finally realize that buying and selling are irrational, they try to change it. They invest a lot of wasted effort in trying to make buyers or the market rational. As the saying goes, there is always some jerk who thinks he can ice skate uphill.
Do not fight it; use it to your advantage. Embrace the irrationality of the buying process. Infuse your product with emotion. Build a corporate image. Exude competence, self confidence and passion. Focus your sales force on establishing and maintaining trust between your company and your customers.
David Letterman named his production company Worldwide Pants, Inc. The motto is, “The leader in pants and entertainment... and pants.” I believe Letterman was poking fun of NBC’s parent company, General Electric. He makes a good point.
The essence of business strategy is deciding what you are not going to do.
Tar-baby is a metaphor I find myself using and having to explain quite often. Metaphors are the essence of communication. They enable us to compare and contrast a situation in great detail with very few words. For instance, I can say “sour grapes” and evoke the entire Aesop story of "The Fox and the Grapes" to compare and contrast a particular situation. I assume that all literate individuals are familiar with Aesop’s fables and make the allusion with confidence. I cannot make the same assumption about Uncle Remus.
At XMLSolutions, Paul Lyman would ask the developers, "What is your hit-by-a-bus plan?" The question is quite simple in its intent. If one of your team members is hit by a bus on the way to work one morning, does the rest of the team have enough information at their hands to soldier on without him?
New technologies naturally evolve through five market phases: training, consulting, custom development, shrink wrap software and consolidation.