I read the post
"Your programmer and your wife ...." , and as a programmer and manager, I want to disagree with the author. Despite the fact that I consider his experience in organizing the development quite interesting.
If you could give a kick in the ass to a person who is guilty of all your troubles, you would not be able to sit for three days.
Unknown author
First of all, I want to note that in managerial errors, the result of which is the departure of a person including, it is my fault, as it seems to me, the manager himself in most cases.
Further, to generalize unique specialists is the same as trying to talk about musicians, for example, in general. Musicians are supposedly strange people, and now especially those born after the 70s. And the fact that a pub singer, a soloist of an orchestra or an outstanding opera singer are three completely different musicians and thousands of different people is somehow not taken as an example.
But we go further.
The author makes a conclusion, as far as he understood (not so read?) Very simple - it is desirable to have ideal people that fit his definition.
')
Perhaps this is due to the general misunderstanding of people who are not programmers, the essence of work and typical life motives of programmers.
I remember my favorite picture in the topic

My opinion is simple - programming is a gift, and a gift is rare. And it is given to different people. Among my colleagues and acquaintances who know how to program, there are fighters-champions of Kyokushin, Muay Thai, opera singers, businessmen, salesmen - in general, people who are gifted in different fields, and summing up them would be a crime.
One can only say that, together with the gift of programming, a certain temperament is characteristic of man. But here, too, it is impossible to talk about any objectivity, because at the moment, let the humanities forgive me, the mechanism of the brain is not deciphered, and therefore the personality as such is not formalized. So, it is impossible to talk about any classifications and statistical accuracy in an objective sense, only a subjective matter. There are interesting attempts, such as in the book “How to Mouth the Cats,” but all the same, each person is individual and has to work with him in a new way (although there are certainly a number of work methodologies).
Therefore, I can say that the question of retaining people does not lie in what people to look for. And how you have built the recruitment process and the process of training people in the company. If you have, for example, conveyor development, then, perhaps, you do not need regular salary programmers? But we need maximum automation, a couple of gurus, plus a couple of architects, who would be engaged in decomposition of tasks, and the tasks themselves would be cut into pieces by outsourcing, which will not be dumped?
I want to finish by paraphrasing a well-known joke. The ideal programmer does not write bad code, does not break deadlines and does not exist.
Ps. And yes, the operatic vocalist in the past, the developer Marco Zanini -
Nessun dorma - left the vocals for the sake of the family, and took up IT.