martes, 23 de febrero de 2016

Software Craftsmanship with Bob Martin

Bob is a software developer but he is also an architect, but what he do love is developing software. He thinks architecture is really worth doing, but he thinks architects should be also coders because otherwise they don't connect with the code decisions, "they don't connect with the keyboard", they just forget the code, and doing it that way the architect just forgets about the keyboard and it's really hard to manage a team like that.

The software craftsmanship according to Martin is the way where new people that are involved in the development world can learn from the more experimented people in the industry, the people that can be named a "master" or "mentor" which tasks are share all the knowledge, skills and tools with the newest individuals in the industry in order to create a system where the community can grow from inside being powered by its own people. This idea is really amazing because like Bob says, is very cool that being a programmer can be equal to be a lawyer or doctor, where all the knowledge is flowing from one person to another changing the way in that the community works, transforming it in an environment where solidarity and the teamwork can help to reach the individual and collective success. 

Some important things that the implementation of a system like this can bring in a positive way is that the professionals can learn the correct ways of developing some type of product, improving and honing their programming skills in order to change their habits, turning them into disciplined people concerned about the way how they work and think, moving this into the practice where it can see it reflected in the product quality. 

Now, the "Manifesto of Software Craftsmanship" is a good example of how very important advices can be written in a few lines of text where the important ideas are summarized in four principal advices that tell us like programmers that if we want to be better professionals following the software craftsmanship we have to be aware of helping others to do quality software, response to the change and add value to the product with it, strengthen the community of professionals with my contribution and search a good productive partnerships in the projects. 

One of the key points in here is to test in development, that gives them a lot of points. They run unit tests, every line of code is tested. It reduces danger.
Something really interesting that he explained is that all programers should know at least one funcional language, dynamic language, static language and logical language, in order to have a good knowledge of everything that industry may ask.
Nowadays there are dynamic languages like ruby or python that use this type of tests, and they're dynamically typed. What the author recommends is to learn as much languages as possible, that is, to be able to write code in that language, that gives many points in software craftsmanship, you improve your own skills and in that way you improve your craftsmanship. You should learn at least one dynamic language and one static and he thinks that everybody should learn Lisp.

If you are interested in listening to this podcast here is the link: Software Craftsmanship with Bob Martin

No hay comentarios:

Publicar un comentario