Software Craftsmanship

 Architects should not be coders, unfortunately that is an widely spread idea. An architect is the responsible for taking all kind of decisions  in the project and a non coder architect usually takes decisions whith a negative impact in the project for all coders  because they are so out of contact with that area. 

Craftsmanship: Learning theory for programs is important, am not denying the importance on attending conferences, reading books and analysis theory and code, but most programming students only learn theory and when they go out of school and go into a professional environment, they face new and completely different problems, for example pair programming, where knowing when to apply it or not is hard and it is overused. Programming skills should also be shared by real professionals in a similar way craftsmanship is learned. Teaching to program is not the only thing should be similar to craftsmanship. 

Another important point is when teams aren't well communicated,  sometimes a member of the team could identify something wrong, for example, requirement that could be wrong, but he/she does it anyways because correcting the requirements is not his job, his job is only to follow orders and do whatever the  software architect says. 

A programmer also needs to always be improving, which is a little hard sometimes, you can't do it in your working time and some projects require more time than usual, but is something you need to do, learn to use new tools and improve your abilities to be more efficient, some tools allow you to save a lot of time like complex IDES, this is the closest thing we have to industrialized production, our work is still really manual and taking advantage in all tools is really important and keep learning new languages, techniques, and skills. 

Comentarios

Entradas más populares de este blog

The Hundred-Year Language

Mother of Compilers

Episode 61: Internals of GCC