When we started out writing "A Software Engineering Approach to LabVIEW" we wanted to base it on a financial book called the Motley Fool, (I was going to link to it but it appears that it has become the very thing it was fighting against). The purpose of the book was to debunk the artificial complexity involved in finance in a sharp and humorous manner. Top-tip writing light-hearted is hard work!
Now the great thing about being a Fool is that you can say things and to hell with the consequences. Inhibitions to foolishness come in the following forms
Looking at each in turn...
I have only ever been to university to write software, my education was primarily writing software and fixing machines in factories. So in a room full of qualified engineers, Champions, CLAs etc etc I sometimes feel out of my depth. Generally this exhibits itself in lack of participation. Luckily my big mouth and tiny attention span help over-ride this. I wonder how many project blunders could have been avoided without these inhibitions.
The classic here is when a client becomes a friend, said client then gets into problems with a project. Strictly speaking you should speak out for the good of the project, but this would get them into trouble. This is quite close to my heart. I think the nature of LabVIEW is that we are always at the pointy end of a job, bad design decisions will be exposed at this time.
We get a fair bit of work from our industry relationships, this work is marvelous for us as we don't like selling, so any jobs that come to us are most appreciated. There is therefore a pressure to censor some of the things that pop into our heads. This is actually less of a problem than you would imagine, because it is in everyone's interests to have a successful job we tend to all pull in similar directions.
These pressures are very hard to overcome but they all have the affect of restricting free participation (the heart of foolishness IMO).
Age - We're mostly brought up to respect our elders, all well and good. But because you're older then me doesn't make you right!
Seniority - Your wage packet dictates a certain amount of care when dealing with management. But because you senior in the company doesn't make you right!
Gender - I shouldn't need to, but I guess I have to. Because you are Male/Female/Transgender doesn't make you right!
Education - Because you are from (insert school here) doesn't make you right!
Race - Hopefully this is obvious but because you are (insert pigmentation of skin here) doesn't make you right!
Technical - Because you have Linux at home and think in COBOL doesn't make you right!
Customer - Sometimes the customer is right, sometimes not! I wonder how many projects have failed because "the customer is always right!"
One of the greatest causes of stress in our business is when a difficult project goes bad, one of the worst things you can do in those circumstances is to sit on it. From a project managers point of view having feedback early is extremely valuable. This is one of the hardest things to do in our business.
One of the best things about writing a blog is the feedback, discussion and argument that follows. I've learnt a great deal from this interaction so keep it coming and don't inhibit your inner Fool!.