📜 ⬆️ ⬇️

The life cycle of the profession of a programmer. Part 2

Inspired by recent disputes on Habré " Programming - sucks " vs " Programming - not sucks ."

A year ago, I was preparing materials on a very close topic, but I see that the topic has not yet lost its relevance, and therefore I will try to deepen the topic “programming <> sludge”, somewhat from the other side.

I recommend to pre-read Mikhail Donskoy’s article “The Life Cycle of a Profession of a Programmer, ” which gives a more than 60-year retrospective of the profession of a programmer and shows some features (mostly psychological) of the current generation of programmers.
')
Well, now, in fact, theses:

1. Introducing the concept of the life cycle of a profession (a term that is intuitive to most programmers and other IT professionals), it can be shown that The profession of a programmer is a mature profession that has gone through most of its life cycle.

2. For the mature stages of the life cycle of the profession are characteristic:
- the mass profession (the number of trained professionals, educational programs, professional communities, the share in the global economy);
- a large number of specializations within the profession, the division of labor and narrow specialization;
- the prevalence of run-in techniques, ready-made technologies over the development and running-in of new techniques and technologies; New methods are born at the junction of existing technologies within the profession (in the early stages, the profession itself is born at the junction of several professions)

3. Different specializations within the profession of a programmer are at different stages. Compare, for example, the directions connected with web programming, which are still characterized by rapid extensive development, and the development of information systems ( “1C programmer” is a brilliant example given by some in the comments). Alex Papadimoulis article - just about such systems: who will find the challenge in 1C? Who will turn the language programming in 1C called "sexy"? (The same is true of Don: “Over time, programming from a fine craft, sometimes ascending to art, became a craft more and more routine”)

4. Remember the parable about the three blind wise men who tried to describe an elephant? Also here: a different point of view on the profession of a programmer (in general, "... talking about the profession of a programmer is generally possible, but it is not as specific as the profession of a builder" - ibid. ) Depends on the position of the observer: depends on the specialization, see previous thesis about specialization.

5. Different opinions on the topic “programming! = Sludge” also depend on other parameters: position (compare the opinion of the programmer, lead programmer and CIO), work time in the industry, experience in related specialties.

6. Another facet. I saw remarks that putting the program settings into a separate file and concentrating on the algorithms is the real programmer’s job, who (God forbid!) Should not tweak the form fields and do this kind of routine. Such excessive specialization is harmful (the shamanism of customizers, who, not knowing the algorithm, try to get the desired effect “with a tambourine”), contradicts the established practice (there are exceptions, but not mass ones), leading to an attempt to create universal designers (MS Excel, MS Access, SAP - these are all examples of "just setting the required fields")

7. Excessive fascination with learning new and new fashionable or more modern languages ​​(on the one hand, justified by the demand to speed up development, on the other, customers are primarily criticized for poor support of existing projects, when the same business rules correspond to everything more fashionable languages) is characteristic of a younger specialist than experienced developers. This is the period of the " Red Knight ", the distinctive feature of middle-aged male psychology, when one programming language after another submits, later comes a period of greater psychological maturity. Everything goes through it, it is a necessary stage of formation.
However, with regret, I see that there are a significant number of projects / software products that really rarely go through the maturity stage, always migrating from one language to another, being in an eternal "beta" - and this is already going on at the level of society as a whole.

8. Practically in any profession there are the following steps: a novice who masters ready-made methods under the supervision of teachers, an expert who can combine and use the necessary tools, and a master whose works are close to the brink of art. At any level, the rule “80% of routine + 20% of creativity” applies; one should not think that the master's work does not include daily hard work, endless patience in painstaking boring (“boring”) work. Someone, like Dmitry Koterov , found Zen in programming, someone philosophically sweeps the street or works in a boiler room as a fireman .

That's about this point of view, I wanted to voice, I hope that this will help you to understand yourself and your colleagues, who leave a different view on this topic, to somewhat expand your horizons.

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


All Articles