Software Craftsmanship
What is Software Craftsmanship?
I see software development as a creative blend of art, science, and engineering, whose purpose is to deliver effective systems. The best way I have been able to describe this idea is by talking about software craftsmanship. The software craftsmanship metaphor allows developers to acknowledge all aspects of their craft – the artistic and aesthetic aspects as well as the measurable and mechanical aspects. - Peter McBreen
Software Craftsmanship is a metaphor. The goal being to emphasize personal skill, mastery of tools and techniques, along with productive relationships with your peers and clients.
Software as an Art
Writing code is similar to painting a picture. A programmer who writes clean code is an artist who can guide a blank screen through a series of transformations until it is an elegantly coded system.
-
Easy to recognize a good painting
-
Hard to paint a good picture
Programmers are authors – responsible for communicating well with their readers.
-
You write for readers need to comprehend your motivation and intentions
-
The ratio spent reading vs. writing code is usually at least 10:1
Software as a Science
The communal growth of Software Craftsmanship is analogous to the Scientific Method. There have been many developers before you
-
If I have seen further, it is by standing on the shoulders of giants. - Isaac Newton
The best practices, deign patterns, and design principles we are going to go over in this course were created by giants. leveraging them will allow you to produce greater value than relearning everything through trial and error.
Scientific Method
Tackle development tasks with a structured approach.
Software Craftsmanship
By Scott Franks
Software Craftsmanship
- 697