On Software as Craft
Posted on April 3, 2023 • 1 min read • 183 wordsAs a Software Crafter, I perceive software development as an art, emphasizing dynamic, quality-centric practices to enhance the value of our digital creations.
As a self-proclaimed “Software Crafter”, I view the creation of software as an intricate art form, rather than a routine task akin to plumbing or factory work. This is not to belittle these professions, which are labor-intensive and require mastery of complicated processes, but to highlight the unique complexity inherent in software development.
Unlike tangible products that can be replicated precisely, quality software development is a dynamic process, requiring the right actions at the right time to produce efficient, bug-free, and extensible code. This process often involves practices from the Extreme Programming framework, such as Test-Driven Development, Paired-Programming, and close interaction with stakeholders and users.
As my colleague Quinn Gil aptly states in his post “ As a Software Engineer ”, our role as software engineers is to maintain and increase the value of the digital assets we’re responsible for. This responsibility necessitates a continuous pursuit of quality, where refactoring and testing are as crucial as writing ‘production’ code. A project is only ‘done’ when it has been thoroughly tested and refined to meet quality standards.