Professionalism

Reading time ~3 minutes

According to Wikipedia, in some cultures the term professional is used as shorthand to describe a particular social stratum of well-educated workers who enjoy considerable work autonomy and who are commonly engaged in creative and intellectually challenging work. According to Google Analytics you probably come from one of these cultures.

I have to admit that when I started to hear the term Craftsmanship I was distrusting, maybe because some of the people that used it tried to use it as a label to put themselves in a higher level than the rest of us.

But lately I meet more people that describes themselves as a craftsman, and that uses the term to describe a set of values they care when developing his professional live.

If you want to know more about Craftsmanship, please read Sandro Mancuso's book. If you want a single-line resume, Craftsmanship could be resumed as "raising the bar of professionalism".

What's is difficult to understand for me is that the software development community had to coin a new term to try warn about the lack of professionalism in our profession. Xavi Gost gave a talk at Conferencia Agile Spain 2014 this Thursday and he said: "We don't deserve an agile environment". And that's true. We are always complaining about not having an agile environment and, when we have it, we are not at the height of it. We keep making crap code difficult to maintain, difficult to evolve, that doesn't scale well, etc.

Friday afternoon I was taking some beers with a friend that works in a big Spanish consultancy. He explained me how they work, what kind of business decisions they make, how people behaves, and how people don't pay attention to the improvements he is trying to do. I was scared. And I was scared because when I was young I worked for a company like that. And I was scared because I know a lot of people working in companies like that.

What impresses me is that this kind of companies earns a lot of money. There are clients who pays them to create crappy applications that are far away of the applications they want to have. Pedro Serrahima said in the closing keynote of the conference that the clients hire this kind of companies because they are scared to make decisions. They prefer to have a contingency plan that to discover new ways of working. They prefer to work with a "big" company with a big financial muscle that work with a small company that make great software.

Some days I think that I don't care. Hopefully that kind of companies always work with bad clients and always have bad professionals, like in a ghetto.

But I really care. I care because most of these projects are public projects than me (and you) pay with our taxes. I care because nowadays, where (at least in Spain) we have a lack of good jobs, there are a lot of good people captive in that companies.

One day I went to a meeting in a public department in Spain. They explain us how they work, their continuous integration system, how the companies they hire work. It was terrible, unbelievable.

In my current job we are helping the UK government to create a new service. In the UK, some of the new projects that are under development are bound to have the source code under a public GitHub account. I think this is a great measure. Increasing the transparency of our work immediately increases the quality of it. If all the companies that work for the government shows its code, I'm sure that we would have better applications. Why don't have a dashboard with the state of the build server as well?

As a professionals we have to take ownership of our careers. As a profession we have to take ownership of our future.

Analysing hotspots using CrystalGazer and NDepend

When you start working on a new project, there are a couple of things that you should try to discover as fast as you can: the shape of th...… Continue reading

ANTLR and JavaScript

Published on September 06, 2017

Calling a Step Function

Published on July 09, 2017