Don’t over complicate.
Just don’t. The world is complicated enough as it is. Same as KISS, but nicer: Keep It Simple Stupid!
Leave your ego at the door.
For me this is a two parter.
- As the listener don’t take what is being said personally. The only way you can improve is to understand that you aren’t as good as you think you are. There is some truth in even the most critical of advice, but if you take it personally you will become defensive. You will start to pick apart the advice (often using fallacies) and finally dismiss it outright. So not only won’t you improve, but you are in a defensive posture and will be less responsive as well.
- As the speaker you have to be brave enough to be honest even if the words aren’t “politically correct.” It often takes more effort to walk-on-egg-shells then it does to speak the truth. Effort better spent making yourself, your team, your product better.
Don’t stand on Ceremony
Obviously this literally means “don’t hold rigidly to protocol or formal manners”. People oft forget that “protocol” and “manners” are arbitrary, and in a lot of cases are solely used as a separation mechanism. A “I am better then you” mechanism.
Some ceremony has a place. I for instance like Scrum). Here ceremony has a purpose. A Scrum is 15 minutes in length regardless of team size, so to ensure everything runs smoothly ceremony must be defined.
Other types of ceremony like “Not wearing white after labor day.” or being required to wear slacks and a tie to an office are worthless; in my opinion.
You can take a horse to water, but you can’t make them drink
A slight modification that makes more sense to me: “You can take a boy to college, but you can’t make him think.”
Basically, you can do a lot (or even everything) for something or somebody else, but there is a point where they need to decide to move forward on their own.
Do it for yourself/pride
There is an old adage where a son asks his father “But why do you finish backside of the furniture? No one ever sees it, no one would ever know.”
To which the father replies “I see it and I would know.”
Software is exactly like that! Most of the time no one is ever going to see exactly what was done. But it is still inappropriate to cut corners.
Do no harm
Put another way “Broken gets fixed, sloppy lives forever.” Doing something haphazardly, for any reason, is wrong. When you go to do anything it is your job to make sure that you are NOT doing something worse.
In other words it is your job to make sure that you are designing things that are rock solid.
Always leave it better then you found it
Open source (at least good open source) is built on the principle that you don’t/can’t know everything. Share your source, get judged, and learn. Source gets better because the person on the other is trying to make things better.
Everyone should strive to make the code that they work with better.