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