Fashion Software Development

Just as fashion does not spare fashionistas and fashionistas who love to dress up, it has also spread to the IT field. Regularly reviewing vacancies, I even managed to form a certain pattern in the trends of interests and passions. I want to tell about her.

So, at first I wondered why it even comes from fashion in an industry like IT, especially in a field like software development. The answer turned out to be quite trivial: dissatisfaction, transition, marketing and intellectual lust.

WITH dissatisfaction everything is clear: a person sits in one place for several years, does about the same thing and does not see better prospects for himself. He is bored, sad and not interested, he wants an update – and then she appears, the technology is the same as the one he uses, only with mother-of-pearl buttons. And now, my eyes light up, I want updates, and in general, they talk and write a lot about this technology – I want it in general. An example of a solution: switching from framework A to framework B (I deliberately do not use names here, because each area has its own such story).

Transition – a person has been working in one direction for a long time and decides to switch to another (for example, from databases working in conjunction with a .NET application to the front-end), and here it turns out that previous experience does not really help to figure out how to behave in new circumstances. But there is a technology that allows you to save previous experience and apply it. For example, Typescript instead of JavaScript/ECMAScript.

Marketing – it’s just a trap. A certain company decides to subdue a part of the market, but this can only be done if some tool is introduced with its wide PR. The appearance of such a tool allows us to solve some strategic tasks that are not entirely obvious to a simple developer. For example, Meta (now a banned organization in the Russian Federation) shared React and through this solved several problems at once, including reducing the time to select and adapt new front-end developers. Microsoft financed the promotion of Typescript and, thanks to this, was able to enter the world of the web more widely (and if this was linked to the purchase of GitHub, it also encouraged the creation of material for better training of its copilot neural network).

intellectual lust – this is about the same as dissatisfaction, only constant and the desire to always be at the forefront of progress.

Probably not all of the above examples should be labeled as “fashion”, but this post is about fashion, so it’s time to move on to it.

Technology fashion has the following life cycle:

  • ABOUT technologies few people know and only some enthusiasts use it;

  • Technology suddenly or gradually becomes extremely popular;

  • The texts of vacancies require knowledge of this technologiesbut marked “desirable”;

  • Without knowledge technologies will not be hired: it turns into some kind of holy grail of employment;

  • Appears technology 2which suddenly or gradually becomes extremely popular;

  • Technology remains on support, but is present only in vacancies where support for old projects is required, but new projects are still being launched on it, although much less often;

  • Technology goes into the category of obsolete and does not cause interest.

Probably, after reading this cycle of life, many thought in the direction of various frameworks. For example, front-end developers, of those who started before it became mainstream, remember backbone or jQuery. Perhaps this will surprise someone, but at present there are many projects where these technologies feel quite confident and are widely used despite their venerable age.

However, the update concerns not only frameworks, but also entire languages. For example, do you remember Delphi? At one time it was just a masterpiece and it cannot be said that it is completely outdated: new technologies just came in that replaced it, for example, the same .NET. Or maybe you remember C++ Builder – about the same fate. The product is still alive, but in the texts of vacancies it is extremely rare. At the same time, C++ is still actively developed and in demand.

Or, for example, Ruby on Rails. More recently, it was a technology comparable in popularity to Java or PHP. Today ruby ​​vacancies are 10 times less than php vacancies and 12 times less than Java vacancies.

Actually, this brings us to the question, who is to blame and what to do? Of course, there are technologies that look interesting and promising. The same Rust, promising the acceleration of the application and the absence of memory errors (of course, marketers are cunning) looks very promising, so much so that some hotheads want to start rewriting the Linux kernel on it, instead of the morally decomposed C. However, C has existed for more than 50 years and no one knows if the new can beat the old.

In other words, the developer community is to blame for the appearance of “fashionable” technologies, which, out of boredom, imposition or curiosity, pick up something new and drag it into their projects, making a sacred cow out of another technology in order to forget about it a few years later. Although it is hardly possible to call them “guilty”. Rather, involved. Well, the managerial staff, who wants to reduce costs, puts their hand in, they say, let’s add strong typing, there will be fewer errors, costs will be reduced, productivity will increase (the fact that the level of developers will not grow, redundancy will increase, which will lead to increased costs in handling code, as well as to another class of errors and inaccuracies is not taken into account).

Well, the main question: what to do. Here, I’m afraid, there is no definite answer. My observation showed that there are two types of technologies: fundamental (something is built on them) and parasitic (they use ready-made ones to build on them).

For example, Java can be attributed to the fundamental ones. How many years has it been abandoned in favor of C # or Python, but there are still plenty of vacancies. Moreover, as soon as it comes to some more or less complex project, it is more readily chosen due to the quality of training of java developers, as well as the existing ecosystem, which allows you to solve plus or minus all possible and expected tasks.

And there are technologies like Typescript. In short, JavaSctipt does fine without TypeScript, but TypeSctipt doesn’t exist without JavaSctipt. Most likely, after some time it will suffer the fate of Delphi (it is noteworthy that they have creator one and the same), because if you omit all verbal curtsies, then it is just a technological superstructure and cannot do anything that JavaScript cannot do, but the possibilities of JavaScript are much wider.

“Parasitic” or superstructure technologies are not new. For example, many still remember CoffeeScript, which at one time was quite widely used, but is now almost forgotten. I think the main reason is that “pure” technologies don’t need much helper tools that give syntactic sugar, because their evolution and development, sooner or later, absorbs the best practices, abandoning what has not justified itself. Well, no one canceled the emerging ecosystem.

Some may find this article somewhat biased. I am happy to discuss counter points of view in the comments.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *