or I want to create software like Tom Binh makes bags.
I am impressed by Tom Binh bags.
It makes me happy to carry around a Tom Binh bag.
I am so glad that it has been possible for someone to make a success out of working in just that manner.
Is Tom Binh a craftsman? Is that what it is? Do I want to be a software craftsman? That is possible, isn’t it? There are people out there that see value in that, don’t they?
I have been doing computer programming of some sort or the other for almost 17 years. I don’t feel very accomplished. I feel a distinct lack of skill. There are so many questions, which I don’t know the answer to. I am not sure I am an expert at anything. I know a little bit of a lot of things. I can be relied on to ask good questions, I think. I have been known to work hard. I play well with other people.
At best, I think I have the aptitude to be a craftsman. I keep thinking that you are a craftsman when the skill that you ply is fairly complete, and second nature. I am not that, yet. I have promise. That is the most I can say for myself.
How can I work at something for 17 years, and still not be very good at it? Are you ready for this? It turns out that I don’t have to be. In software engineering, this strange slice of the working world, I can provide a lot of value, without being very skilled at software engineering. Despite my shortcomings, if software engineering skills were graded on a curve, I am sure I would fall at a decent spot. I am good enough for a lot of environments.
When I see a Tom Binh bag, I think, “That is quality“.
A Tom Binh bag is an inspiration. No, it is more. A Tom Binh bag is an aspiration – for me, carrying one is an act of prayer.
But what am I aspiring to? What does “quality” mean to me?
I am not sure I can explain it. I could resort to that old saw about pornography – we can’t define it, but we sure know it when we see it.
Tom Binh’s bags show attention to detail. “God is in the details“; sign me up for that church.
Every little part of the bag has a well thought-out purpose. Every little part of the bag fits, as intended, into its surroundings, and all the little parts work together, as intended, to serve a larger, well-defined, goal. Unmistakably, the bags are a rigorous architecture, and design, made flesh.
I want to create software that exhibits the same characteristics. Is that too much to ask? The answer of course, is yes.
Why don’t more people carry Tom Binh bags?
Good, but not worth the money
The bags cost more money than some folks want to, or can spend, on luggage. Regardless of the value the bags provide, the finances just don’t make sense to these folks.
Software engineering shares this issue. Higher skilled engineers are expensive. Business, often does not want to spend that money. The work produced by inexpensive, but low skilled engineers, is deemed good enough.
There is a school of thought that holds that a higher skilled software engineer is worth several low-skilled engineers. Alas, I don’t know how to make this case, even though I have seen anecdotal evidence to support this idea.
This is not an entirely lost cause, but close.
I am looking, and I am not liking
Some people simply are never going to like Tom Binh bags. Even when money is no object, they see nothing there to their liking.
Have you ever had to deal with a business stakeholder who wants a completely inexplicable UI? The customer is always right. You can only walk away from this.
Craftsmanship dictates low volumes?
I might be wrong about this. Very little of Tom Binh’s production process seems to be mechanized. Tom Binh is not in the mass manufacturing business, I think. He creates quality with meticulous, manual, effort, by a small number of highly skilled folks. Naturally, this means they can produce only so many bags.
Software does not have this limitation. Mass manufacturing is trivial. It is the master copy, however, which is the challenge. Craftsmanship can indeed be brought to bear in creating and maintaining that one master. However, we all know that is easier said than done. Some days I understand why. Some days I do not.
Oh man, do I love those colors!
I wonder, what color is the code I write?
What color is your code?