Software Craftsmanship

Software Craftsmanship

In his podcast titled "Software Craftsmanship", Bob Martin talks about some tips in tackling agile development throught the use of the craft of good designing. He talks about craftsmanship as a "mentor and disciple" ability, one that must be taught by an experienced developer to those who are just beginning their journey as programmers. He even mentions that one's skills begin only after you graduate and begin to work, and then you'd wish for having a mentor to show you the secrets and hacks for good designing or you'll be forced to self taught yourself and learn from try and error.

But the important thing is to keep in mind that you should and must keep learning always at all times different techniques in order to become a master in software design and development. I really enjoyed these 4 hacks he mentions in the podcast that can help you keep up your level and gain skill:

He first mentions that one should not only produce functionable code, but always look the way to improve your practices while coding. More of a focus on the journey rather than the product principle.

Then he mentions the importance of giving value when responding to change. If it's on your hands, you've got to make an effort to enhance the aspects of the code that you know could have a better functionality or appearance.

Create communities so you can learn from others and at the same time you can teach others. We have to support each other as fellow programmers and help us to grow into big accumulated databases of good practices, knowledges, and experience.

And finally, not get too attached into the customer-employee dynamic, rather go for a more productive partnership you can exploit to become better.

It's interesting how he mentions about this problem when coders and designers feel like two different pieces of a machine, and coders con oftenly feel discouraged because they just need to implement software another person has already planned and delivered, rather than developing and designing it by themselves. I thing one must find the balance between good designing and agile programming to become a master in software craftmanship.



Comments

Popular posts from this blog

War Games

Software Architecture

Understanding the SOLID Principles