Developers see the world differently. |
The subject of professionalism is a touchy one in software
engineering. If you look at the history
of the profession, it is easy to see why.
Bill Pflegin and Minda Zetlin, in their book, “The Geek Gap,” points out
business people and technology people see the world from two different frames
of reference. A business person wants to
be likable and profitable. If you are agreeable,
others are more receptive to your product which you are selling. Thus, business people are very focused on
being likable. Engineers are not
concerned with being likable. The most
important thing for an engineer is to make sure things work. An engineer spends most of their time
wrestling with the rules of physics or computer science to get things to work
faster, better, and more reliably.
Something works, or it does not, and this binary view of the world and
their career is often disorienting to business people.
Next, developers since the 1950s have a deep affinity for
counter-cultural movements. Beatnik,
Hippie, Anarchist, Libertarian, and Punk mindsets permeate the culture of
programming. The let it all hang out
attitude of developers is similar to the approach of Jazz musicians. Hair color or politics does not matter; what
matters is technical ability and the respect it generates. It is why we have engineers with “UNIX beards”
because they honor other engineers for the work they have done, and they do not
care what business people think. Someone
like this does not have to care about being likable because they build things that
work and keep the organization going.
Finally, developers are more creative and intelligent than
the average business person. Creative people are alienating to people who are not.
Creative professionals are deeply suspicious of authority and
rules. Combine these two factors, and it
is natural to see how business people and engineers distrust each other. It is also why engineers chafe at the rules,
regulations, and notion of professionalism.
To the engineer, professionalism is the curtain that hides the inability
to solve problems and make things work.
There are three key reasons why developers and engineers do
not behave as professionally as other business people. First, they see the world differently and
judge their value from a different frame of reference. Next, developers embrace sub-cultures that do
not respect authority. An engineer or
developer appreciates accomplishment or skill.
Finally, developers being more creative and intelligent, often chafe at
rules made by others. These three
ingredients combine into a perfect stew of unprofessional behavior. I will talk about how to work with these
realities in my next blog.
Look forward to seeing you then.
Until next time.