Software Craftsmanship

 In this entry, I'll go over the Software Engineering podcast with Bob Martin, a software developer.

So right off the bat there's this rivalry/tension of sorts that I had never heard of, until the past lecture by Martin Fowler and now with "Uncle Bob's" interview. Software architects and software programmers are apparently at odds, which I thought was quite strange at first. After going over Fowler's text and this podcast though, I understand that it can be comparable to the suits and the workers. Coders are the workers who kind of feel contempt for the suits who are the architects, not really liking the orders they give them in design form, wanting them to get down with the nitty-gritty code, I get that.

I wonder if, to an extent, these tensions fueled the rise of agile methodologies. In the podcast, Bob goes over a brief history of their origin, and a comparison is traced between the manifestos of the X-Treme Programming (Lightning in the background) methodology and the software craftsmanship methodology, which I want to go over.

The software craftsmanship manifesto states the following:

Not Only Working, but Well-Crafted Software

Yeah, I get behind that notion 1000%. In the podcast there is an argument made that, sometimes it's not about when the software's done, but when the company/contractor says it's due. Martin cleverly answers that perhaps programmers who follow this manifesto would not be too open as to work with a company that prioritizes speed over quality. I try to craft whatever I work on as well, not just make it, rush it out and call it a day. Hell, even these blogs I try to keep a certain par of quality.

Not Only Responding to Change, but Add Value

Here's where the Boy Scout analogy comes into play. Admittedly, pretty nerdy, I never cared for the Boy Scouts, but it's a nice teaching, to leave the place cleaner than how you found it, a cleaner code that what you had before.

Community, not Only Individuals

Very righteous, indeed. Socialist, even.

Productive Partnerships 

Good.

All in all, it seems like a grandiose statement. We are programmers, we do the work, we do it right! Can we please fire the architects? Just kidding, but it's a good philosophy for programming, nevertheless.

Comments