I repeatedly hear, as a programmer, that I should be concerned with my overall professionalism. I should be concerned with the quality of what I produce, the knowledge and experience that I have obtained through work and education and the attitude I bring towards solving complexity.
I should be a professional, no different than say a doctor, a lawyer or an engineer. Engineer is even in my title, it is so clear.
On the other hand, I also feel that I should be more like a tradesman or a craftsman. Learning under a master on a linear path that never ends, always improving.
Here is an analogy that I used to describe programmer to my father, a tradesman.
Working as a programmer is not too dissimilar to building a house. There is an initial design, planning of the work, sign-off on everything and then the actual building commences.
Only recently have we started practicing the fact that the user must be involved if we want to succeed. The strict set of rules to follow in design are always changing, especially if the designer is constantly self improving, as they should be.
Programmers must both design and build the systems they work on. They are a tradesman (builder) and a professional (designer). With all these different expectations and the only constant being change, it would be surprising if one person was capable in one of these directions.
We will probably never have a clear Apprentice to Journeyman to Master tradesman approach nor a professional accreditation. What we will have is the highest expectations any career has known and so much change that we will never be able to agree on things of consequence.
0 comments:
Post a Comment