DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • 13 Impressive Ways To Improve the Developer’s Experience by Using AI
  • How Web3 Is Driving Social and Financial Empowerment
  • MLOps: Definition, Importance, and Implementation
  • What Is React? A Complete Guide

Trending

  • 13 Impressive Ways To Improve the Developer’s Experience by Using AI
  • How Web3 Is Driving Social and Financial Empowerment
  • MLOps: Definition, Importance, and Implementation
  • What Is React? A Complete Guide
  1. DZone
  2. Culture and Methodologies
  3. Methodologies
  4. The Codesmith

The Codesmith

Chris Odell user avatar by
Chris Odell
·
Sep. 11, 14 · Interview
Like (0)
Save
Tweet
Share
9.69K Views

Join the DZone community and get the full member experience.

Join For Free

If you follow the likes of Uncle Bob Martin I’m sure you will have heard of putting craftsmanship into your coding. The book Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) is an excellent place to start if you haven’t. I’m not the first and definitely not the last to compare coding to craftsmen in today’s world and in previous times in history.

So what makes a craftsman? Or craftsperson? Well in my mind a craftsperson is someone who not only creates something from nothing from materials of their choice, but usually puts a part of themselves into what they make. A good craftsperson takes the time and effort to make something of quality which is worthwhile to have and which will still function way after the crafted item has been made. Good craftsmanship is synonymous with quality products.

So what has this got to do with writing code?

Well I think we are at a point in time where people who write software are much like the craftspeople and artisans in times past. Software is not yet something that can be easily manufactured on an assembly line. Some type of software products have been commoditised but the process is not yet mature enough for it to be turned into an assembly line activity.

It’s a bit like blacksmiths used to be. Nearly every village had one, some of their work was mundane but sometimes they were asked to create works of greater sophistication. The concept also fits nicely with having apprentice, journeymen and master smiths. If you follow the craftsmanship movement within software you will know that in some software shops these ideas are taking hold.

If you take a look at the wikipedia entry for metalsmith you will see there are smiths of all descriptions including wordsmith and tunesmith. So I like the idea that we should call ourselves codesmiths. To me it implies a certain level of craftsmanship and implies a progression from apprentice to master.

If you are interested in the software craftsmanship movement then why not check out the site

So are you a codesmith? I would love to know if you like the idea or not so why not leave a comment.

Software Software craftsmanship code style master Coding (social sciences) Assembly (CLI) Concept (generic programming) History (command) IT

Published at DZone with permission of Chris Odell, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • 13 Impressive Ways To Improve the Developer’s Experience by Using AI
  • How Web3 Is Driving Social and Financial Empowerment
  • MLOps: Definition, Importance, and Implementation
  • What Is React? A Complete Guide

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: