This post was written for the heading “Free Microphone” by our employee, who was an engineer, a little programmer, tried to enter IT and entered, so she knows what she’s talking about. And probably this is the case when our development team RegionSoft CRM and the simple cloud helpdesk ZEDLine Support agrees with the author and will not write disclaimers about opinions that may not coincide.
I remember 2003 well - this was the first course, and at the next scientific conference, scientists from several fields discussed what the human information field will be in the second decade of the 21st century. It was about the Internet, about the destruction of mass culture, about the isolation of the personality of everyone, but no one paid attention to a small report by a student of one of the technical universities that programming will become the defining profession of the future. The future has come, and it is clear that the forecasts came true. Let's see what we have, friends?
Everything is an IT company
Technology is a profitable tool that can generate income in skilled hands. Therefore, big business immediately adopted advanced programs and engineering solutions in order to get more profit due to process optimization. The beginning of such actions was laid back in the 70s, automation in large business became widespread in the late 90s, and an important and complex transformation took place in the 2000s. The business realized that buying expensive solutions, endless updates, improvements and technical support packages was somehow too expensive and decided to grow Baba Yaga in his team, namely he began to hire developers who began to serve the company's IT requests from the inside, creating solutions, which maximally corresponded to business requirements and did not contain too much. At first, these were separate means of queries to the DBMS, sites, billing, internal portals, work programs for engineering support, now these are whole platforms on which internal solutions are developed and even external custom development is carried out. So gradually, IT companies became banks, financial companies, insurers, medical centers, universities and research institutes, system integrators, builders, media, etc.
As a result, there was a huge demand for qualified programmers, which, in turn, gave rise to an inadequate struggle for the heads, warming up the market and salary expectations, and an inter-regional imbalance in the demand for programmers. On the other hand, the same process stimulated the development of higher education in the field of software development, the growing interest of students in programming and a career in development. The sphere began to form and condense. There was a “bubble” - a heated demand, a lot of weak programmers and even just considering themselves programmers.
Now there is a war for every strong developer, starting from the middle level. IT companies choose price and non-price methods of struggle, rush to extremes, if only to catch a specialist. Sometimes offensive mistakes are made and worthy candidates are swept away, but not really - they inflate their nostrils and fall into high positions, oppressing entire teams.
Enter IT after 20, 25, 30, 35, 45, 55 ...
So, the IT industry has become popular, and each of us has a friend who has a friend, a programmer, who "infects 500 pieces a month." With an average salary in the region of about 30-40,000, it’s easy for a specialist with good competencies to succumb to thoughts like “well, I’ll go study and raise a hundred and a half, I’ll have enough.” And the search begins for ways to the IT sector, the greedy absorption of online courses in the background listening, buying books. Most often, this ends with this, rarely - a person really goes into programming (more often - testing) or falls into the IT sphere according to his main profile (optimal alignment).
There is nothing wrong with changing occupations. Moreover, in our time this is a necessity: some of us entered the university not according to our liking, but according to a directive; some received a specialty that rapidly depreciated; someone was not accepted by the oversaturated market. But you need to understand a number of important things in order not to harbor illusions.
Learning to program is not just listening and watching courses, it's not just reading books, it is relentlessly coding, debugging, making mistakes, understanding, writing all the code yourself, from simple to complex. Everyday.
Entering IT is simple - to junior positions, in the role of trainees and juniors. Raising to an intermediate level is already much more difficult, because you will run into an educational barrier, you will need knowledge of algorithms, data structures, patterns, a deep understanding of OOP (well, or the features of your non-OOP language), design, management of IT projects, etc. . It is possible to master such material from books; to put it into practice will turn out only after gradual mastering in practice.
You will be outstripped by young children who, already at the age of 17, began to receive specialized education, at 18-20, they will have internships and engage in real practical tasks. Competition with them is a matter of experience, knowledge and dignity.
You must firmly understand that your leaders will be younger than you, but you will have to obey and accept experience, recommendations, and comments. When you were the head of the marketing department, and then dropped everything and became a junior testing engineer, it is extremely difficult to get out of one skin and begin to grow new.
Not all companies have fantastically high salaries. In order not to ask at the interview “well, 200 hands on hand”, study hh.ru and My Circle research, there are quite relevant salary values.
It is difficult to go all the way in programming to the end. I will say more: programming has no end, there are always horizontal and vertical growth vectors, new technologies, languages, frameworks, projects. To summarize: becoming a programmer in a year will not work, just starting.
Obscene IT education
A large number of people wishing to enter IT created a demand for IT education, and the demand began to satisfy:
online training services - opened mass courses, including free ones;
companies - made available their corporate universities where full-time, evening, and distance education can be obtained;
programming schools - began to grow like mushrooms after the rain in anticipation of a shaft of students and big profits;
Universities - opened and expanded departments of further education, developed special programs.
All of these courses and training programs have become available to all ages. However, on accessibility, the advantage of most of these programs ends. Most often, the course is a theory + tasks + homework, and greatly limits communication with the teacher. In fact, the entire responsibility for training lies with the future programmer. In his turn, even at the age of 25 and at the age of 35, student reflexes wake up: to drain and score. If there is no strong internal motivation and a real need for training, this is all a waste of time and money, you won’t be able to grow knowledge on the machine.
Unfortunately, most courses give a crust / certificate if you paid money. And this is already a problem for HR specialists, because jobseekers on serious cabbage attach weight to their pieces of paper, for which there is often zero knowledge.
Izhprogrammers attack
As a result of online training, courses and lectures of various quality, the market is filled with “yazh programmers” - guys who can code can even create some kind of web application (the biggest trouble is JS, which literally everyone learns, but PHP joined them and Python), but they are not programmers, because they don’t have an understanding of the principles of enterprise development, the organization of large projects, they don’t have a code style and they don’t have any zeal for refactoring. The very first code review casts them into the abyss of despair - how can they crush their magnificent code so much? They studied! For two whole months.
Such guys believe that the programmer is sitting in the company and sawing his whole project, they are not aware that they have to work not just on the module, but on some discrete part of the module, and work so that it is not embarrassing to commit your code together with colleagues. However, they have a significant plus - they are easy to identify at an interview and either take a junior position and raise in a corporate environment, or let freelance cut add-ons for marketplaces.
In principle, in this state you can even earn money, but you cannot make a career and become a professional. You need to understand that at some point the ceiling will happen, and you will either have to leave the development, or deepen your skills and knowledge.
Python on your neck!
This is a separate problem of modern programming - everyone learns Python, and it clearly catches up with JavaScript in terms of popularity among "those who enter IT after thirty." Python is taught by philologists and marketers, engineers and managers, economists and lawyers. Ask them why, you get two answers: because it’s simple and because it’s a highly paid date of sainz. Again, it turns out a cult with a bunch of myths.
Python is not simple - yes, it has a nice syntax, clear logic, well-readable code (well, if you write it well), it is universal and powerful. Language is a delight, it is pleasant and clear to learn. But how it comes to libraries, frameworks, complex functions, it ceases to differ in the development problem from the same C ++. In C ++, it’s also easy to write a program for dropping a squeaking bomb, and then a pointer to a pointer to a pointer and you are dead :-)
Data Science and Big Data still need to get into. Yes, there is no price for a profile specialist with knowledge of Python (the same philologist with knowledge of programming is already the way to NLP), but not many are needed. Truly big data is in the hands of large or specialized companies, they are unlikely to want an optimistic trainee. These are banks, IoT providers, retail, communications, security, etc. Therefore, it is better at the start to attend to the search for places of practice and future work.
Working with data is not always interesting. It may happen that you only serve the requests of analysts or commerce, creating complex uploads, selections and reports. Boring, monotonous, not romantic. And being an analyst is also only the first year of joy, to be honest, then the horses run in circles.
When learning Python, remember to learn the math ;-)
However, if I needed to recommend a programming language for learning, it would be C and Python, because they are lively, interesting, varied and simple at the beginning (and there it will drag out). By the way, there is nothing wrong with the fact of studying programming - logical thinking is formed, memory is improved, you start to think without unnecessary entities, etc.
May English from Polytechnic Finish
The story is very similar to the previous one - everyone learns English, but few learn it. And this is a serious career barrier. As of 2019, remote work has become available, and having good special skills, you can join the international team with payment in currency (and actually up to 400-500 thousand rubles, for example, in the field of SAP, computer vision or Data Science). But the language level of many developers is really weak. However, this does not prevent a career in Russian development, although the trend is obvious here - for example, for the second year already, the entire GDG in Nizhny Novgorod has been held in English without a synchron, and the reports are really valuable.
If you are a programmer or a future programmer, I will say for sure - the language needs to be taught and learned. Why?
The best materials on most technologies are best read in the original.
The best speakers, speakers and experts may be Russian (Hindus, Chinese, Germans and Czechs), but they speak English.
There are a lot of excellent resources on the Internet (such as Habr), which have a lot of cool discussions in English.
You will be able to join any international team, work remotely and live in a Russian city for a European salary (well, or to emigrate - it depends on opportunities and desire, this is not always the best way).
English is the language of open source projects. If you are a contributor or author, you will be able to work and grow incredibly more productively.
How and where to teach is a matter of the capabilities of each of us. From my own experience I can say that the best option is an offline language school + continuous self-education and practice, the worst - online and “retraining” at the university.
Show must go on
Programmers need to be lured and hunted. So, we’ll make a show so that everything looks as spectacular as possible. Indeed, whole groups of people have worked and are working to create as much hype and rattles as possible: luxurious offices with games and unique designs, noisy conference festivals, meeting parties with a mountain of gifts, corporate trips, wellcome packages, strangely cool evangelists and other All these are elements of the show, which should attract a future specialist. Well, if there is something behind them, worse if not. HR and PR formed the attributes of the cult that was discussed at the beginning. Why isn’t it here?
The cost of events is growing - tickets for conferences, meetings with major experts, etc. The whole surroundings (in addition to organization and technical equipment) cost the organizers a lot of money, but you also need to stay in the black. Such tickets are available to companies, but may be too much for those who really benefit from the content of the participants.
A layer of “IT party-goers” appears - that group of visitors who come for the sake of acquaintances, atmosphere and “nishtyachki”. They dilute the specialized audience and create the impression of demand for entertainment.
Participants bring expensive content to an expensive conference - they talk about how cool they are and solved some unrealistic problem. At the same time, the hall only has to nod and admire, but it is not possible to make any real use, although you are expecting some practical things from the conference that can be dragged into production.
I’ll say right away that I myself went out and left conferences with an open mouth and told my friends what a cool orchestra was, funny DJ sets and a cool souvenir. But after a couple of days this emotion settles and the aftertaste of overpayment for tinsel remains. Well, it’s like you bought honey in a barrel jar and overpaid for packaging: honey is useful, but the jar is lying around idle, the pleasure was only at the time of purchase.
Offices are a separate and very controversial conversation. Someone says that everything is cool, someone that distracts him all. It is clear that the main goal is to make the office so comfortable that one wants to live in it, stay, process and enjoy the opportunity to stay longer. But often the main thing is lost behind the surroundings: for example, the open space in the most luxurious office remains difficult to work open space, spacing one department across two floors - inconvenient for collaboration, etc. Ergonomics should be at the workplace, not at the office walls.
We say "programmer", mean "introvert"
A myth that spoils many young professionals and puts them back in their careers. They enjoy their introvertedness and solve work tasks, while career growth requires communication skills, teamwork, knowledge of personnel management principles, etc. Therefore, it’s not uncommon for pros and project managers to get super communicators, but super communicators. Not the fact that this is bad, the translation of the myth itself is bad, which drives the novice programmer into some kind of image framework.
One advice: be yourself, exercise restraint, be able to defend your point of view and respect someone else's.
Will programmers die out soon?
You can hear opinions that artificial intelligence is about to replace developers, robots will encode and programming will disappear as a form of human activity. In the near future, this is unlikely to happen: firstly, because someone has to develop artificial intelligence, and secondly, programming is not only code, it is a complex intellectual work on processing requirements, algorithms, and logic. So far it is subject only to the human brain.
It is not known how the programmer’s work is being transformed, but so far it’s obvious that the current freshmen will not remain without work - they are waiting for the tasks of AR / VR, IoT and the good old enterprise with Legacy :-) The time of Skynet has not come yet.
Who to congratulate today?
Programmers are people who transfer our requirements, wishes, and sometimes tongue-tied statements into a coherent working code. They passionately code, cover code with tests, commit and deploy, master DevOps, change the stack and constantly learn to become better, more modern and more efficient. They can work 12 hours, and then go to smuggle into a large open source project, which is in demand around the world. They create corporate programs, applications, services, games, brains of our favorite gadgets. They change the world through their code.
Therefore, congratulations to all programmers, let the head always be bright, thoughts fast, reliable PC, IDE convenient, and code customers adequate and sober-minded.
Bugs, hex & source control!
I take this opportunity to congratulate my beloved team - the development team of the desktop RegionSoft CRM and the simple cloud help desk ZEDLine Support . Go ahead and do not look back - sometimes I myself am shocked by your productivity and speed of work. Keep it up :-)