Software Craftmanship:

If I start calling myself a software craftsman/craftswoman as opposed to a software engineer or a software developer :

1) What am I trying to say about myself?
2) What does this say to others about me (employers, colleagues etc)?

What am I trying to say about myself?

Craftsmen exhibit a basic human impulse; to do a job well for its own sake.

As a ‘software craftsman’ I am stating that I have a basic desire to do my job well. That is I understand the need to always try to to the best job I can based on the knowledge and experience I have gained to date.

Craftsmanship is quality-driven work and the aspiration for quality drives craftsmen to improve to get better rather than get by.

As a ‘software craftsman’ I understand the need to improve my craft rather than get by so the skills and knowledge I have attained can be used in producing software of quality.

Craftsmanship implies responsibility and accountability

As a ‘software craftsman’ I understand that I have a responsibilities to myself and others in the way I work, I understand that I am also accountable for what it is I produce.

Craftsmanship implies that we live and work in a community of craftsmen/craftswomen

As a ‘software craftsman’ I understand there are others in the community. As such I should be open-minded to the skills, techniques and knowledge of other members so that I may benefit from the experience of others. I also understand that I should pass on any skills, knowledge and techniques that I believe will help improve the craft of other craftsmen/craftswomen around me.

Craftsmanship is passed from generation to generation and person to person

As a ‘software craftsman’ I understand that I am ‘standing on the shoulders of giants’. The skills, knowledge and techniques are a direct result of those that have come before me. I should at all times try to understand the ‘influences’ that have caused the skills, techniques and knowledge I currently have.

What does this say to others about me (employers, colleagues etc)?

Employers:

  1. Has a right to expect quality-driven work from his craftsmen/craftswomen.
  2. Should know that they too have a responsibility to create an environment and conditions that aid me in my quest to do quality work.

Fellow Craftsman/Craftswomen (colleagues)

  1. Have a right to expect quality-driven work from me.
  2. Should feel free to pass on skills, techniques and knowledge to me should they feel my work and I will benefit.
  3. Should feel free to ask me any questions on any skills, techniques or knowledge that they wish to gain a better understanding of.

Some Thoughts

It seems that the production of software is largely a cooperation problem. Cooperation must occur internally between those people that build the software and it also must occur between the customer (purchaser of the software) and the producer of the software. A key to solving cooperation problems involves establishing and communicating trust.

A ‘software craftsman’ should be able to establish and communicate trust to those he works with and works for. Likewise an employer should be concerned with this establishment and communication of trust to its employees.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: