When I started working as a Junior Developer in the early 90s, I was developing application software in airline mainframe systems (for the record : IBM TPF technology). Dozen thousands of users (travel agents, airline reservation offices), hundredth thousands transactions a day.
Back in those days we were developing in Assembler/370, a programming language which, roughly speaking, is to today’s programming languages what a 70s calculator is to an iPad. Anyway, that was the most appropriate technology to get things done fast on these mainframe systems.
The problem was : a programming mistake (e.g. pointer error) would end up in mistakenly over-writing the core system, bringing the whole system down and having travel agents all around the planet without any system to enter customer bookings. Coding error would easily cost millions of dollars.
So you didn’t want to mess with the code and for each piece of code you wrote, you were having code reviews by your peers. Half a dozen professionals discussing every single line of code, the number of CPU cycles for each instruction etc … More than often, these code reviews turned out to be some kind of Arena in which professionals happened to struggle to find out who was the toughest TPF gladiator.
Prior to one of my first code review, my team leader (Tony Knight – an exemplary manager) provided me with a guideline to help me taking a step back and cool down : the 10 commandments of ego-less programming. This has since proved to be a professional life savior for me.
Everybody Got’s One
Watching the football world cup and witnessing how ego can damage a team, I came to the conclusion that any team member, anyone involved in collaborative work should read it and get inspired.
Now, being an Egoless Knowledge Worker does not necessarily mean that you don’t have an ego. It just means you keep it away from any collaborative work.
10 Commandments of Egoless Knowledge Worker
Changing a couple of words I was impressed with how appropriate these principles are to any knowledge workers in a collaborative environment. These principles are universal and valuable. I suspect they were used as a basis for the Agile Manifesto.
Once again, IT workers appear to be at the avant-garde of problems encountered by knowledge workers in an industrial environment. Listening to their advice and how they succeed in solving organisations issues can help the whole KW family.
So here are the 10 commandments of Egoless Knowledge Worker derived from Jerry’s originals. Just changed “code” with artefact and here we are :
- Understand and accept that you will make mistakes.
- You are not your (code) artefact.
- No matter how much “karate” you know, someone else will always know more.
- Don’t rewrite (code) artefact without consultation.
- Treat people who know less than you with respect, deference, and patience.
- The only constant in the world is change.
- The only true authority stems from knowledge, not from position.
- Fight for what you believe, but gracefully accept defeat.
- Don’t be “the guy in the room.” The guy in the room is out of touch, out of sight, and out of control and has no place in an open, collaborative environment. (From the dedicated post in codinghorror)
- Critique (code) artefacts instead of people – be kind to the producer, not to the product
Watch this space : soon to be followed by the Egoless Manager principles …
(Picture taken from Core Memory book by Mark Richards)