In continuation
About computer science in general ,
about knowledge and skills of a programmer , and
about personal qualities of a programmerProfession programmer in our time is not uncommon. There may be different opinions about the interestingness, usefulness (for the health and personal development) and the relevance of this profession. I will present a positive opinion here.
Judge for yourself.
A lone programmer by and large does not need raw materials for creativity, does not need a production machine line, does not need apparatchiks, storage facilities and security guards. Production facilities are also not needed. The programmer can sit on the beach with a laptop (if only there was Wi-Fi).
The “material” that the programmer has to work with is potentially inexhaustible and malleable - that is his own thought. Only time is needed to turn this thought into working programs. One programmer for half a year can create an amazing product - a website, a program, a virtual model of a new amazing mobile device.
')
In this sense, physicists have a harder situation — you cannot fly into space for nothing, serious physical installations are expensive, and all of the cheap fundamental phenomena have already been studied. Physicists have to work with imperfect perishable matter, which requires attention and investment.
Moreover, a physicist is often not happy to see the result of applying his own models in practice, since the gap between discovery and its use can be measured for centuries. But the physicist is happy with each step of penetration into the riddles of nature, and here he can be envied.
And in programming from thought to implementation - one step. Often, in order to try an idea, you need exactly one sleepless night.
The main thing in the profession of a programmer is freedom: freedom from the supply of raw materials, freedom to move, freedom to choose the schedule and intensity of their work. Only by working as a programmer can one receive a European salary while living in Egypt, China or India. If you are talented, you can remotely work on several projects and earn by their abilities and hard work. By the way, the abilities of programmers may differ not in tens, but hundreds of times. What is the reason for this is discussed in the post
About programmer's personal qualitiesRemote creative work is an interesting way of life that will be available to programmers in the next decades. Together with the programmers, computer designers, translators, journalists, writers, as well as all others whose work can be digitized and sent over the Internet, are also included in the “happy five”. Programmers and computer designers are particularly active in mastering this lifestyle. Hello im great and good luck!
I will cite, finally, the thoughts of Frederick Brooks, published in the book “Mythical man-month or how software systems are created”:
Programming meets deep inner needs for creativity and satisfies the mental needs that we all have, delivering five kinds of joy:
• The joy that comes from creating something with your own hands.
• The pleasure of creating things that can be useful to other people, and see how they benefit.
• The charm of creating complex puzzle objects consisting of interacting moving parts.
• The joy gained from the constant recognition of the new, and the interest associated with the unrepeatability of the task.
• The pleasure of working with such a supple material - pure thought, which, nevertheless, exists, moves and works in the way that verbal objects cannot.
At the same time, this occupation is inherent in the chagrin:
• When studying programming, it is most difficult to get used to the requirement of excellence and complexity to meet this requirement.
• Setting tasks is carried out by other people and has to depend on things (especially programs) that cannot be controlled; powers do not correspond to responsibility.
• The software project approaches the final view the slower the closer the end is, although it seems that by the end the work should go faster.
• The software product often faces obsolescence even before its completion. The development of technologies and solutions is very fast and you need to be constantly in good shape in order to keep up with them.