Craftsman Software Development Agency
“Pleasure in the job puts perfection in the work.” – Aristotle
In the world of software development, there are many different approaches that can be taken in order to create high-quality code. One approach that has gained popularity in recent years is known as "software craftsmanship." In this article, we'll take a look at what software craftsmanship is, how it differs from other approaches, and some of the benefits it can provide.
The concept of craft as we know it is a recent invention. In the Middle Ages, woodworkers or goldsmiths were not thought of their selves as craftmen. Our modern definition of craft originated with the flowering of the Arts and Crafts Movement in Britain, about 140 years ago.
It is in recent years in a context where intangible elements are an essential part of the current economy where crafts go beyond the production of physical objects.
A crafted piece must be worked by hand and the fewer industrial processes it has, the more artisanal it will be. And that's why we appropriated that concept of craftsmanship to apply it to the way we create software. Software construction is a technician but not an industrialized process.
To value an artisan element, we do not value only that it has functionality. Thorough, precise, clean, and detailed work is valued.
Building good software matters
Clients look for a good service. They pay professionals to solve their problems with their knowledge and skills. Professionals are expected to provide solutions, viable alternatives, and ideas to their clients.
The biggest mistake that software professionals can make is not accepting that each project is different not just because of new ideas or technical approaches. The projects are living entities, contextualized in an economic and cultural period. Not only intangible ideas coexist, but also human emotions. Accepting that we have a lot to learn is a sign of maturity and one of the first steps toward mastery.
Sociologist Mihaly Csikszentmihalyi theorizes that the intrinsic pleasure of creative work derives from a mental phenomenon he calls flow. He identifies nine main elements that characterize it
- There are clear goals every step of the way.
- There is immediate feedback to one’s actions.
- There is a balance between challenges and skills.
- Action and awareness are merged.
- Distractions are excluded from consciousness.
- There is no worry of failure.
- Self-consciousness disappears.
- The sense of time becomes distorted.
- The activity is autotelic, i.e., it becomes an end in itself”
At The Crafters Lab, we love this definition of flow, for us it is fundamental and it is part of our craft process
Passion and inspiration
Passion and inspiration are fundamental pieces of the creative process. And without a doubt, the creation of a product is a creative process.
Lack of passion can destroy a company. Unmotivated people have no energy to create and bring innovation. They have no motivation to do a good job and take responsibility. Part of our responsibility is to contribute to that passion and inspiration. Not only offering it but also seeking it.
Passion is a state of mind and an elusive emotion that changes over time. It enables creativity and innovation. Passion accelerates the abilities and wins overall obstacles with creative solutions. but passion is not something that you have demanded but rather you have to create it. That is why an artisan must seek to create passion and feel motivated to offer their best work.
But passion does not work without inspiration. And to be honest, time teaches us that you don't have to wait for inspiration. Inaction is a powerful enemy: Inspiration doesn't just happen. The field of cognitive-behavioral therapy shows that our behavior affects how we think and feel. When we do different things, or we work with different people an emotional reaction can occur that triggers inspiration.
Many clients are afraid of introducing external teams to their companies. They fear that there will be reactions of mistrust in their workers or that the new team will destabilize their company. Of course, it is a risk, but that fear leads to inaction. Actually, a good external team can inspire and coexist with an internal team.
That’s why an external team does not have to be seen as a threat but as a source of mutual inspiration.
Founding member of The Crafters Lab
Rubén is a software developer and founding member of The Crafters Lab.