2017-05-11-06.55.08-e1494638248949 Solid Principles You Can Apply Starting Now work environment meetings advice

Solid Principles You Can Apply Starting Now

This entry is part 1 of 8 in the series principles

Anyone who has worked with me knows that I abide by a few fundamental principles that I often apply to various situations and problems. Several of them have served me well for a long time. They come to mind in situations that are reminiscent of previous experiences. These principles are rarely themselves the ultimate solution to a problem, but they always offer insight into how to find a solution.

I am going to share some of my favorite ones with you.

Coderhood Principles

  1. Only three “numbers” matter: zero, one, and more-than-one.
  2. Assumption is the evil mother of all mistakes 1
  3. Hope is not a strategy.
  4. Every question is a good question.
  5. If something is unclear to you, you are likely in good company.
  6. Trust your instincts, question your fears.
  7. Make decisions based on what you know.
  8. If you make somebody guess, and they guess wrong, you are at least 50% responsible for it. 2
  9. Be good on people and hard on ideas.
  10. Change is inevitable. Make it happen, before it happens to you.
  11. Never compromise on a high hiring bar.

I encourage you to read these principles a few times. Internalize them and try to apply them. Doing so often will allow you to discover their inherent meaning, which will provide guidance in many decisions, actions, and behaviors. ... 

continue reading
only_3_numbers-972x972 Only three numbers matter: zero, one, and more-than-one. software design meetings advice

Only three numbers matter: zero, one, and more-than-one.

This entry is part 2 of 8 in the series principles

Imagine the following situation

Three friends are thirsty. They decide to drink some water from a nearby fountain.

The first friend scoops water using his hands. He starts drinking without delays and is done before the others have started. However, it takes him a while, and the process is messy. When he is done he is all wet and his hands are freezing.

The second one goes to buy one single sheet of paper, then he folds it into a paper cup. It takes a while to do it right, but when he is done he fills it with water and drinks. In the end he is dry, his hands are warm, but the cup is soaked and ruined. ... 

continue reading
img_5665-972x972 Assumption is the Evil Mother of All Mistakes meetings leadership advice

Assumption is the Evil Mother of All Mistakes

This entry is part 3 of 8 in the series principles

Our lives are full of facts that we have to presume true. If we tried to verify every single truth, we would end up paralyzed, constantly checking and re-checking everything, like a mental patient with a debilitating case of OCD.

Certainty is a spectrum

Certainty is a spectrum, and knowing where a given fact falls on the spectrum is the difference between good assumptions and bad assumptions.

When I walk, I assume that the ground that I am going to step on will not collapse. If I had to verify that fact, I would not be able to walk and I would spend my life sitting on a chair or testing the floor in front of me. ... 

continue reading
IMG_5706-972x972 Every question is a good question strategy meetings advice

Every question is a good question

This entry is part 4 of 8 in the series principles

Let’s play make-believe. You are in a meeting with several people; each of them is an expert in different facets of the topic. The discussion is strategically important, stakes are high, but you realize that some aspects of what is being said are unclear to you. A lingering feeling enters your thoughts; you wonder if you are the only one, or if everyone is puzzled by the same thing, and they are just not saying anything. You look around, and everyone seems to be immersed in the discussion. Fear that you might be the only one not understanding creeps in. ... 

continue reading
IMG_5719-972x972 Never compromise on a high hiring bar value teams leadership hiring

Never compromise on a high hiring bar

This entry is part 5 of 8 in the series principles

In the old days…

I remember the time when software engineers, to be taken seriously, had to know C, and later C++. A good dose of Assembly was a plus, and a must in some cases. Some niche segments, like banking, standardized on technologies such as Cobol and Fortran. Borland was able to extend the life of Pascal with their groundbreaking Turbo Pascal and Delphi products. In 1991 Microsoft came up with Visual Basic, but it was more of a toy than a development tool for real products. A few years later, in 1995, Sun Microsystems released Java, but for a long while, it was an interesting concept more than a real production language. ... 

continue reading