📜 ⬆️ ⬇️

Is fundamental education in CS important and a view from Yandex on professions in the world of information technology?

Information technologies are developing so rapidly that they do not leave the traditional education system a chance to prepare specialists for the current needs of the IT sphere in a timely manner. Over several years, platforms and tools have time to radically change, unlike curricula.

In the lecture that we present in this post, Viktor Ashik from the Yandex Data Analysis School tried to use the Yandex experience to tell high school students about the currently existing specialties and knowledge needed for work. And also explain why fundamental education is so important and necessary for the future in this industry.


')


Choice of profession


There is an opinion that at the beginning of his life, a person must choose a profession for himself and move towards this goal. But more often than not, we ourselves do not know what we want, and ideas about the ideal profession can change over the course of life. In addition, we cannot know with certainty which professions will be in demand in the future.

Let's try to answer the question, why are professions related to information technology so in demand today? This is largely due to the exponentially increasing complexity of the areas that use calculations. If a programmer could independently test all possible execution paths and all possible states of a program written by him, life would become much easier, the profession of a tester would not be needed, and even programmers would need much less. Secondly, the IT industry itself grows so much, there is such a variety of technologies and nuances that it is already impossible to own everything, specialization is necessary. It is already impossible to simply decide to work in the field of IT and learn this, you need to choose a narrower specialty.

Problems of education in IT


One of the main problems of higher education in specialties related to information technology is the extremely rapid obsolescence of knowledge and skills. Very often, until a new technology goes its way from appearance to inclusion in curricula, it already has time to become obsolete, and a new one comes to replace it. But since technology has already entered the curriculum, it continues to train students by inertia, although they most likely will not find any practical application. Moreover, the rapid development of technology does not allow us to learn something once and for all. Training must be continuous, in order to compete in the labor market, you have to constantly learn something new.

There is also the problem of competition between academic and industry personnel. Work in industry is usually more profitable work in academic fields. Therefore, most of them are engaged in science and teaching, or those who cannot do this without it, or those who can combine both of these areas.

At some point, many are wondering if a higher education in IT is necessary in principle if it is taught with outdated technologies and skills? In fact, a university gives time and the opportunity to master many basic things: theory of algorithms, probability theory, etc. If you neglect higher education, and master only the technologies that are currently needed and immediately go to work, you simply may not have time and motivation to master these fundamental fundamentals. That in the future may lead to problems in the development of new technologies and attempts to reach a new level. In addition, many recruiters, choosing between two candidates, always give preference to those who have a specialized higher education, or do not consider a resume at all, in which there is no line about the presence of a diploma.

In addition to higher education, there is an authorized training provided by software hardware vendors. They themselves develop training courses, tailored to their products, and issue certificates of training. Often these courses are combined with university studies. The presence of certificates can also be regarded by recruiters as one of the advantages of the candidate.

How to choose a profession?


We will try to determine the basic principles for choosing your future profession. It is important to design an approximate trajectory of your career: will you work while studying, will it be work in a specialty, etc. Secondly, you can try to combine your future profession with your hobby: when you do what you like, you get much more pleasure from work and higher motivation. You also need to try to make sure that the plan you have built will work, that investment in education will pay off in the future: your profession will be in demand and well paid. The next step is the choice of the university closest to modern technologies and industry requirements.

How to master the profession


During training, it is very important to master English. Without this, you may have difficulty reading the documentation, as well as communicating with colleagues and partners, if you work in an international company. The ability to program is a useful skill not only for developers, but also for any IT-specialists. If possible, learn from existing professionals working in your specialty, thanks to the development of technology and the emergence of various online courses, it is not so difficult. Obtaining various skills in the learning process, try to put them into practice as soon as possible: solve useful tasks, look for freelance jobs, try combining work with study.

What is the IT industry?


Below are two lists. The left lists the areas of activity, and the right the narrower branches within the framework of information technology.



If you take any word from the left column and combine it with any item from the right, we get the name of the specialty. We will not consider in detail all possible combinations, but analyze the most common ones.

Administration and management in communication networks
  • Knowledge:
    • Networks;
    • Protocols;
    • Equipment.
  • Tasks:
    • Installation;
    • Customization;
    • Monitoring;
    • Network equipment maintenance.
  • Roles:
    • Network administrator;
    • Network Analyst;
    • Network engineer


Information Security
  • Knowledge:
    • Authentication protocols;
    • Antivirus;
    • Cryptography;
    • Exploitation and isolation of vulnerabilities;
    • Normative base.
  • Tasks:
    • Monitoring;
    • Diagnostics;
    • Penetration testing;
    • Compliance with the requirements.
  • Roles:
    • IS administrator;
    • CISO, penterter, ...


Corporate software implementation and consulting
  • Knowledge:
    • Corporate languages ​​(Java / .NET / SQL);
    • Applied: accounting, finance;
    • Equipment.
  • Tasks:
    • Installation;
    • Configuring ERP / CRM / BI / Accounting ...
    • Service.
  • Roles:
    • Consultant;
    • Analyst;
    • The developer.


Interface Design and Interaction Experience
  • Knowledge:
    • Design;
    • Ergonomics;
    • Psychology.
  • Tasks:
    • Interface design;
    • Graphic design;
  • Roles:
    • Designer;
    • ...


Service and support
  • Knowledge:
    • Networks;
    • Protocols;
    • Equipment;
    • All the rest.
  • Tasks:
    • Monitoring;
    • Receive feedback;
    • Diagnostics;
    • Troubleshoot or escalate problems.
  • Roles:
    • Administrator on duty;
    • Support staff;
    • Support Engineer.


Database Development and Administration
  • Knowledge:
    • SQL;
    • Relational DBMS;
    • Operating Systems;
    • Database design.
  • Roles:
    • DBA;
    • Database Developer;
    • Analyst / query designer;
    • Consultant.


Software, Web Services, and Application Development
  • Roles:
    • Developer (programmer)
      • Interfaces (frontend),
      • Applications (Windows, OS X, * nix),
      • Mobile applications;
    • Tester
      • Functional
      • Load.


System analysis
  • Tasks:
    • Requirements analysis;
    • Setting goals

    Roles:
    • Technical writer;
    • Business analyst;
    • Systems Analyst;
    • Software Analyst.


Project management
  • Tasks
    • Definition and achievement of goals;
    • The search for the balance of "time, price, quality."

    Roles:
    • Project Manager for ...
    • Master of Methodology (Scrum, Agile, ...).


In the lecture, all these specialties, requirements and tasks are discussed in more detail and with examples.

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


All Articles