Software Craftsmanship - Comment

The podcast about Software Craftsmanship in which Robert Martin talks was entertaining, it was recorded in 2009 and it makes sense now a days (2017). It was interesting how it talked about the manifesto and the tools that every programmer should get used to. 

Talking about the manifesto, I'm always thinking on the outcomes that could bring every change in any program that is being coded. Thinking that everything can be molded fast is a wrong idea that most people don't get. They want new features and they want them now. Not taking the time to make unit tests and just ship it will doom a project because it will start to diverge and start changing in ways that will make it really difficult to solve if a bug arises or a new feature is asked. 

And now, talking about the tools, I at least thought about learning how to use a terminal and a text editor as Sublime Text, Visual Studio, Atom first. The IDE makes it so magical that sometimes a programmer doesn't know what to do without them. It is important to learn the basics first and then use a program with vitamins. IntelliJ IDEs seem to be very good but before using any of them I would tell anyone to learn how to change directories or run a program in the bash, first things first. Writing code without any help is the purest way of knowing what is happening. After dominating those tools, you should start using more advanced ones.

Uncle Bob tells that it is important to at least learn 1 static, 1 dynamic and 1 functional programming language. The podcast made me think about the consequences that comes by developing with one or the others. Also, it is important that you need to know the hardware on which the programming language will  be running. Is the memory big or small? Does it has any limitations? As a programmer that has worked with Python, Java, C, Ruby, Javascript, Clojure, and many other languages, I would recommend to choose the same idea of getting to know at least one of each type to understand the advantages and disadvantages of each. Knowing a type of programming makes it easy to one from one language in the same category to another.

Reference: 

Software Engineering Radio. November 30th 2009. "Episode 150: Software Craftsmanship with Bob Martin". Retrieved September 19th 2017 in: http://www.se-radio.net/2009/11/episode-150-software-craftsmanship-with-bob-martin/

Comentarios

Entradas populares de este blog

Metaprogramming (Comment)

Understanding the SOLID Principles - Comment

Is Design Dead? - Comment