2-2: Software Craftmanship

Bob Martin (also known as Uncle Bob) starts the podcast by saying that architecture is an activity that we need to do because of all the benefits that this activity carry with them; nevertheless, he mention that the only thing that he does not like about software architecture is the separation that exists in the world between coders and the architects (the leaders of the projects), those who made the important decisions. This thing raises the question: But why this is bad?; the answer to this question (at least in my opinion) is that this kind of practice is bad because not in all projects the software architects are involved enough in order to make the best decisions about x or y topic. So, I think that good architects are the ones that propose the idea to the coding crew and both of them, make the best decision based on all the different perspectives that exist, because the perspective of the architect will not be same as the perspective of the coder crew. In this topic, Bob Martin says that a software architect in a development team, needs to be a certain kind of architect that also needs to be behind the keyboard coding in order to being able to communicate effectivity with the team.

Software craftsmanship is defined as follows  is an approach to software development that emphasizes the coding skills of the software developers. It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over developer accountability (Wikipedia, 2020).

Bob Martin makes the next analogy to explain what is software craftsmanship: Like in all things it exists a master or teacher and a student. The duty of the master is to explain and train the student or naive in all the matters that the master masters in order to make that student to achieve the rol of master and that new master has the duty to pass the knowledge to all the naives students.

Comentarios

Entradas populares de este blog

Summary Second Period

2-3: Microservices

2-4: Understanding the SOLID Principles