Wednesday, February 1, 2012

A Few thoughts on Software Craftsmanship

According to manifesto.softwarecraftsmanship.com,
software craftsmanship is all about not only creating good software that runs well but creating software that is "well crafted" and increases in value as the software gets better and better, and software that is backed by a community of professionals who work hand in hand with their customers to create "productive partnerships". While this all sounds good, on a side note, I think this group should work a little harder at practicing what they preach. Because, As you can see when you go to their main website, it is currently ( as of 11:29am 2/1/12) down. Which I think doesn't really bode well for their cause if you ask me. But, continuing on, like I said before, I think that what they are trying to do is very admirable, the idea of not viewing creating software as something that can be approached from a lackadaisical standpoint is something that I think should be thought of whenever someone is approaching programming. This is important because a lot of the time what happens is that people go into programming not really thinking of the future of their project and where it might be used and under what circumstances it might be implemented. What this leads to is hack-ish code that may work for one instance of what someone is working on but then a few years down the road when this piece of code is still running out somewhere and a new programmer comes along and needs to modify this process and everything crashes because the code wasn't dynamic enough to allow for change and modification, things go awry. This is something that is always pounded into hour heads in the CS department at UNM. We are constantly encouraged to be future minded whenever we are programming because you never know if something you write is going to end up being used in some larger project where it is essential that this code work the way it is supposed to. So, I definitely agree with their ideals and motives behind what they are trying to do. My only real beef with their work ( aside from their website being down) is that it feels somewhat aliening in a certain sense. What I mean by this is that it seems that this group is trying to bring together an "elite" group of programmers and a community of only the best of the best, and this seems to me, to alienate those who really just want to learn and become better programmers, while I'm sure that they don't intend for this to happen, it seems like it is very possible that people could feel this way. So, my suggestion would be that they include in their manifesto something about helping bring other programmers up to this level so that the overall productive capacity of the world's programmers could be increased.

No comments:

Post a Comment