Choosing a language because it has cheaper developers is like building your house with Lego so you can hire anyone as a construction worker.— Chester (@chesterbr) May 23, 2012
This is an old tweet that recently came into my eyes via a repost. I read it and I was nodding: very true. But on second thought I just started to think about the practice that I see when large companies choose technology.
If you want acceptable quality you have to pay for it. In case of JS, because the language gives you more freedom the price may even be higher. Partially on price per hour of experts who are really good, and the total number of hours may be more as well. If you do not take that serious you will face the sad truth: the more freedom you have the more trouble you can get into, unless you have self discipline. And self discipline comes at a price tag. Pay nuts and get only the monkeys working for you.
And then I was going on thinking. What technologies did the construction workers use when my house was renovated ten years ago? Was it state of the art? No it was not. Why? Because these people were just not able to handle modern technology. The electrician (one of the cleverer guys, still illiterate, and I mean literally: he could not write or read) fixed tubes on the wall for the wires to run in and boxes for the outlets. Then the bricklayers came and put a cover of mortar. The electrician had to find and dig out the outlets. Bricklayers just did not care the work of the other person. But the technology was prepared for that. This is lego. When you can not adjust the quality of people, you adjust the technology. We do the building of your house from lego. Not the toy type, but the same principles. The toy lego is adjusted to the brain capabilities of a child, the house construction lego is adjusted to the construction workers. Not a big difference.
The same is true for software. Many years ago a German bank IT person was eMailing me questions and explained they considered to replace a few hundred of Perl scripts to their ScriptBasic equivalent. After that the maintenance could be just cheaper. Perl programmers were scarce that time and pricey. ScriptBasic is on the other hand is just BASIC. Everybody knows BASIC just as well as the little girl from Jurassic park knows unix. (This is an extreme example though.)
Looking again at the quote we started the article with. Choosing a language because it has cheaper developers is like building your house with Lego so you can hire anyone as a construction worker. Looking at a different angle, and without exaggeration: yes it is exactly. We choose a cheaper language so we can hire cheaper (still just not anyone) as a construction worker. Very true. And that is really, what IT managers really do. Even though they know they will have something built of lego.
Just with a special spice added to it: quality control.