📜 ⬆️ ⬇️

Sunrise developeromics (ending)

(the beginning of the article here )

Risk management when investing in programmer talents


On the other hand, this effect has no name; perhaps it should be called “ten-fold” - bad developers will cost you no insignificant deterioration in labor productivity. No, for a number of subtle reasons, they can sabotage catastrophically a complex software system. A bad developer who has built a dangerously full of errors or has poorly designed a system, has a ticking time bomb in its foundation, and in order to unload the ruins after it jerks, investments that are thousands of times greater than what was saved at the start will be required. Worse, the work on debris will require the efforts of a much larger number of good developers, and for a longer time.

At this point, software development is the exact opposite of other industries - say, aerospace - in which incompetence and gross errors are much more obvious; they are easier to detect and fix in the early stages, while the cost of such correction has not yet reached heaven. Delayed crises (such as the aircraft design, in which a real fatal defect was discovered during actual operation) are also much easier to keep from spreading, isolating and correcting.
')
The crisis of 2000, caused by the crisis, was not a product of poor design; its cause was the design of a pragmatic - as they say, "mediocre". Now imagine what it would cost to fix - for dozens of years - the truly poorly designed key nodes of today's software systems. Worse, imagine that talented “ten-law students” who have gone to the Dark Side (that is, deliberately becoming “stolen dogs”) can mess things up. Or the good guys who leave “black moves” in the systems they have developed as an insurance policy in case OJSC NPP “XXX” did not pay for the development of this application .

As a result, investing in developers as capital does not consist merely in hiring programmers and then sorting them out according to the level of talent. The secret is in their sorting and distribution by risk levels.

Traditionally, when it comes to human capital, managers simply do not think about risk management. Even if they think of it not as a traditional resource, at best - in terms of the fixed price per unit of profit. A typical hiring manager will talk to you with phrases like "the cost of hiring for this position is equivalent to six months of the salary you offer."

Such accounting logic simply does not work for programmers.

But software companies think differently. They are well managed with sorting according to levels of talent and risk - both at the level of the industry as a whole and at the level of individual careers - and not at the level of labor relations. How do they do it?

The life cycle of programmer talent


First of all, large software companies invest in large amounts of candidates as early as possible - offering them the environment and development tools, which allows them to completely bypass the education system and get their hands on talent at an early stage of its development.

Then they keep talents on their hook with the help of competitions, advanced types of workshops (like Google Summer of Code) and other mechanisms of "employment, but not quite work" during the whole course of college. Next, companies hire most of them, monitor their performance, and sort talents by potential payback and risk levels.

Of course, they should not forget to offer great free buffets ; in addition, they need to provide appropriate mechanisms for insuring against incompetence — to keep under control the chaos that bad programmers are capable of arranging. They should invest in technology (say, like Google in Python) with an eye on talent, not market.

Relationships do not stop even when employment ends. Talented programmers are so valuable that you simply have to organize open ecosystems (based on APIs, access to valuable information sources such as cartographic data, and open source elements) to keep them in your technological universe even after they leave you. The former Microsoft programmer will continue to be valuable for this company - if he promotes the idea that “we should buy Microsoft products” everywhere.

As a developer matures, it becomes harder and harder for him to switch from one technology to another - and at some point he will remain "addicted" to one of them - say, Java, C ++ or Facebook API - to the full the rest of your life; then you can expect him to grow old with her. When this technology reaches its maturity, the value of the talent "sitting" on it will begin to decline - as well as the cost of its retention. Buffets will become poorer, the remuneration for work will dry out, the outflow of personnel will decrease, and the talent will go into sundown with technology. It is to some extent even melodramatic: as a captain hiding in the waves, standing on the bridge of his sinking ship.

There are a couple of exceptions to this scenario of the sunset of the lives of programmers and their ships. Truly talented retain in themselves evergreen the ability to translate themselves under the freshest, on the rise set of technologies, whenever they wish. The second exception is the case of the Big J. If a time bomb, forgotten by incompetent developers in the ancient geological layers of the system, suddenly jerks, spreading earthquake tremors through newer layers, gray-haired veterans can suddenly discover their skills again in demand (we already had the opportunity to observe it on a small scale before the year 2000 , but the correction of the then mess didn’t require too many talents, although it is possible to imagine more critical failures that await us in the future, which will require retired heroes and heroes to return to their jobs to fix everything - in the style of the movie " Armageddon ."

In other words, you should not only establish relationships with developers at a young age, but also provide them with either stability and quality of life (those who are afraid of risks and dream of their own children and a comfortable house in a decent area), or freedom of enterprise ( whose hands itch to get rid of the dictates of the authorities and begin to torment their own way in this life). You have to indulge both homebodies and risky guys.

And you have to find a way to beautifully melt veterans into retirement - much more politely (and more expensive) than in other industries - because they can be your lifeline if everything starts to crumble before your eyes. Although it is not yet so obvious, but as the baby boomer generation retires (and with them the knowledge of the early geological layers of the planet’s eaten software), managing the risks associated with outdated software will become big business. . When the last veterans, who still remember the old ones as mammoth bones, but still using software programs, will start to walk away, we will find ourselves in a situation that does not have historical precedents.

If you succeed in successfully doing all of the above, then for you - a large software company - the investments you made to a 12-year-old schoolboy will generate income throughout his life - whether it will work directly for you or not. In the beginning, you will only be expected to spend; on the 18th anniversary (or so), it will begin to bring you first dividends; by the age of 30 he will return your investment; provide insurance for a business model as your company reaches maturity (for example, the significant reason Java is still relevant is that a lot of talent is still invested in it), and finally it will provide you with insurance from disorder (by the way, this is the very “stream” that you have to control, unlike the “stock” of players on the bench).

Since we are talking about history, let's take a little excursion for readers who are not familiar with the software industry, and still do not understand what a landmark event its birth has become for the rest of the economy.

Software devours the world - forty third year in a row


As Alan Kay recently noted, one of the pioneers of today's - program-eaten - planets, the Internet has no “stop”, “shutdown” or “rewind” buttons. When he appeared, the story, one might say, began from scratch . The software began to eat up the pre-computer layers of civilization - and put their own ones in their place.

One day we will assess the extreme importance of what is happening, and replace the markers "BC / AD" by "before e.I. / eI "(" before the era of the Internet / in the era of the Internet "), the starting point of which will be October 29, 1969 - the day when the Internet was launched (in other words, I write this article in 43 e.I.).

And, by the way, in this era there will be a zero year - since the programmers took up the task.

And here we come to the now-famous thesis of David Kirpatrick that any company today is a software company .

We are just beginning to understand that the software has become central to the functioning of any company - regardless of what it does or what services it provides.

Until now, the rest of the economy managed to survive on those talents that the software industry could not absorb (for various reasons - starting with the reluctance of talents to move to California, and ending with the fact that talents, it turns out, may be interested in something else besides proper programming). In most companies that are not directly related to software development, developers have so far been reconciled with their lower caste status, despite their ever increasing shortages and the ever increasing importance of their role.

But this is about to change.

As each company begins to reorganize around an awareness of how critical software systems are for its business model, there will be waves of change in the economy. To the extent that the increase in the number of talented programmers does not correspond to the growing demand, individual companies - and entire sectors of the industry - will begin to collapse, being unable to adequately meet their needs for developers.

Survivors will find themselves in ever-increasing dependence on those who took care to provide themselves with significant deposits of programmers. Your company is not able to provide their own IT needs? It does not matter: they will provide Microsoft - not for free, of course. Your employees, even those that have no relation to software, will, by and large, be controlled by Google, Apple, Facebook and the like, setting the bar for their expectations through software markets that are turned to the consumer (the very same IT consumerization that everyone has been saying for so long who do not fall).

Can non-software industries remain competitive at all? It is not easy, but not impossible. The largest chip they can put on the line is the data they have accumulated. In the fight against the pressure of IT consumerization from your employees and Microsoft's softening ( pun: Microsoftening - Microsoft + softening, "softening" - approx. Transl.) Of your business model from the IT department, your only weapon is access to data that are not programs.

I will write about it some other time. If you do not know how to handle the only weapon that you have, it will soon be knocked out of your hands (the cartographic, film, music, news, publishing and restaurant industries have already felt this the hard way).

A look from the talents


No one likes to be a commodity in a butcher shop — not even delicacy tenfold. If (and when) a person who is at the same time a valuable resource, realizes his economic role, resistance begins.

Programmers are not fools. In general, the overwhelming majority of people grasp the idea on the fly. Ignorant “ten-year-graders” who could be passed from hand to hand as stocks or cash are extremely rare. If you find one, resist the urge to exploit it for immediate profit, and instead enter it up to date. Believe me, in this way you will gain something more valuable - friendships with him.

A natural reaction arising from a good developer who has realized his own significance is a transition to either individualistic-mercenary or collectivist-shop-style thinking.

Individualists become tough negotiators, carefully checking their own market price and constantly renegotiating contracts. They are carefully investing in maintaining their skills at the currently demanded level, and, as they can, resist being forced out into their obsolete part of the ecosystem. Such developers try to hedge their stakes, participate in several projects, and not be too distant from the open source world. They choose positions with an eye on rapid growth, and leave themselves the opportunity to escape from a sinking ship with an irreparable reputation if they feel a real risk. It’s not for nothing that technical talent-mercenaries are snapped up when the startup collapses: the demand for technical directors who are able to successfully lay the blame for the failure of an enterprise on business management is overwhelming.

Another type of developers is leaning towards shop-like structures that serve as the centers of the balance of power in constant re-tightening of the rope with the developers-capital holders. True, this conflict does not look like a typical class struggle, but rather as a loud slamming of doors: instead of forming a trade union that would take on negotiations with the managers, talented developers simply leave the situation that is not satisfactory to them and look for something better. with the help of the very shop structure. The effectiveness of the restriction of mobility through options is significantly lower than that which in its time was provided by Russian serfdom.

As a result, we have a delicate balance of power between developers and owners of developer-capital, and the cyclical current of this capital from the center to the periphery, during which individual developers enter into circulation and exit from it.

The result is a new type of economy. Welcome to the world of developeromonomy !


PS From the translator
Artemy Lebedev recently spoke on the same topic , although less extensively.

Source: https://habr.com/ru/post/274573/


All Articles