Well Crafted Software
This post ain’t gonna be a speech of Uncle Bob’s Software Craftsmanship Manifesto. We’ve all known that. And to people who don’t, for God’s sake. Google.
Well crafted software means that regardless how old the application is, developers can understand it easily, side effects are well known and controlled, high test coverage, clean design, business language well expressed in the code and adding or changing features does not take longer than it used to take at the beginning of the project when the codebase was small.
Software craftsmanship, by all means, is an approach to software development. It features and highlights the coding skills of the developers themselves.
Craftsmanship plays a vital part in engineering excellence, and it’s not a low hanging fruit to grab within a day. It takes time to master, it reveals a lifestyle that developers choose to be responsible for their career path. It’s about improving the crafts and be the best version you can. A craftsman takes pride in his work and strives to turn the best into better.
A problem knocks on the door, we dig into the root cause and draft the first version of a solution. Things can’t be perfect. but it can always be optimized. We make things happen first, then make it right, then make it better. That flows among the organization DNA, or doesn’t exist at all.
“Know-how” isn’t a set of certificates. It’s a progress of trial, fail and learn. You don’t pour experience over your skin and hope it absorbs, you get to understand once you start doing it yourself. It’s good to know what the final result could be, but putting that into practice is a whole different ball of wax.
Craftsman don’t form a reputation by preaching the craftsmanship philosophy. They live it.