Knowledge and skills necessary for the programmer
It’s not you pilots who need a whole plane to study. Due to such small requirements, many learn programming independently and can try this lesson without any help. The basics of computer many learn programming in schools, so the minimum idea of a profession should be at all.
No English here in any way. He will have to learn, basically to translate from a letter. The ability to write is not so important, the ability to speak and understand by ear – does not matter at all (it is, of course, useful, but not for programming). If after school you have the impression that it is enough to remember the translations of several Basic and Pascal commands, then you are wrong: programmers have to read a lot of technical documentation in English and at a high speed.
There may be an impression that the programmer needs to be well versed in mathematics. This is so, but the mathematics here is rather specific. It depends very much on the area in which you will work.
How complex mathematics you will need depends on the area in which you will have to work. The fact is that just at the very beginning programming was engaged in computational tasks and only by them. In most of the current computing programs, there are four arithmetic operations since the tasks have changed.
Some contemporary films may have the impression that the programmer may be such a “clumsy genius” that shoots away from humans, looks like a sick monkey, but his bosses still appreciate the fact that he magically breaks up any defense. I do not know if such programmers exist in nature, but they did not fit into it, although I work just in the field of “information security.”
It happens that very popular and very good programs are written by enthusiasts-loners. And well-paid programs are always made in the collective.
You will have to get along with the boss, who can understand something in the work of the programmer, or maybe he does not understand anything. You have to argue with the bosses, but it is very correct (all the same, the bosses) – or you may be asked to make a weekly perpetual motion or something like that, and then they will be punished for non-fulfillment. It will have to be polite to explain that before the eternal engine will have to wait until Microsoft releases the necessary drivers (it is better not to say that this is impossible), but to extend the life of the existing “engine” can be tried.
In addition, you will have to constantly argue with colleagues. At the same time, one has to prove its correctness – regularly, sometimes for a long time and always patiently. The purpose of all disputes is to find the optimal solution to any technical problem.
The optimal is precisely in the technical sense, in terms of spending money and working time, and not in the “who is to blame” or “who is more important”.
The programmer has to be very often and very much to re-learn. Sometimes you have to learn something that you do not like. At work of a programmer it is necessary to study literally every day. The fact is that all the necessary knowledge simply does not cling to one head – therefore, it is necessary to add this knowledge as necessary, and much of the old one to forget. It is enough to say one thing: if you hope that “I will leave school, get out at the institute, and then I will work” (and not study), then you are in vain hoping: then you will work and study.