Today, many are romanticizing the IT industry, seeking to get into it and stay in a cloud of fame, money and worldwide fame. Of course, everything is not as it seems: development is a complex intellectual work that takes a lot of time. But if you still decide to change the profession and join the ranks of IT people, do not miss the way to learn.
We received another message from an employee asking for a free microphone. This time it will be about programming (and a bit of administration) as an additional professional education. Our employee, who studies every year, will tell about the experience, tested in their own skin and the methods of obtaining sacred IT knowledge, just as the great Lenin bequeathed.

Hi, Habr! I have been working in
RegionSoft for 4 years already, and during this time I managed not only to survive two major releases of
our CRM system , but also to learn three times. Today I will talk about the pitfalls of corporate universities, universities, courses and try to classify possible ways of learning and retraining the future IT specialist. The text is more focused on those who want to change the profession, but I am sure that it will be useful for students.
')
Hey, you're sick
Our university course was lucky - we were the second year of the new specialization "Financial management and financial mathematics", and the university was forced to solve the personnel problem in a rather unusual way for Russian education. Yes, some of the financial disciplines were read to us by all the same old professors who began their career path with political economy and didn’t turn off much of it. But in all that related to the securities market, technical analysis, exchange business, specialized mathematics, they were full of profane. Therefore, three teachers suddenly differed from the classical school - they were a practicing programmer, a professional trader and a trainer who trained the first players of the current Moscow Exchange (then MICEX). What distinguished them:
- Connecting theory and practice at all stages - we did not have clean lectures or seminars, all the information came to us with real examples, without distilled tasks.
- In addition to basic information, they analyzed atypical stories from practice - it was immediately clear that in the future everything would be a little different from textbooks (not at all).
- They were not mistaken. In the sense that there were no such stories, when after long formulas and solutions half of the board was erased. All because they solved practical examples with us, for which they got used to receive money and in which they were responsible for other people's investments.
- They showed how higher mathematics is applied in business - and we no longer had the thought “well, and where will I need this terver”. By the way, none of us went to the exchange business, but there were various reasons.
When I began to teach after the fifth year, I learned from them, but, alas, it was my share to keep statistics and the institute’s grandmothers from the department quickly chopped up my newfangled plans. However, a year later I left forever from the field of education to business, having dragged behind me only graduate school studies. What did not regret a second.
What is bad in modern university education?
- Outdated material and technical base and outdated curricula - you will agree, it is strange to study Windows Server 2003 or Pascal in 2017.
- Theorists, some of whom just passed advanced training courses and, for example, from mathematics turned into a teacher in algorithms and data structures.
- Lack of practice - you will agree that the formal month for which students visit the practice base twice is not at all what developers or engineers need. While the university can easily give a primary and rather deep experience, plowing students to internal projects or grants.
However, this does not mean that you need to be inspired by the example of well-known IT specialists and ignore the university. The first basic higher education should be, especially since now in many universities new programs, directions and specialties are being opened.
Why is it important:
- the university teaches you to correctly formulate and express your thoughts
- University gives invaluable skill - the ability to use literature and sources, and not just google
- the university has a huge scientific base and a good library - and spending the day in the reading room is not retrograde
- university develops thinking and skills of generalization
- the university provides the basis on which to continue the development and training
- and whatever one may say, a university is a state diploma. sample, which, contrary to many judgments, continue to wait for employers. Well, if in the career plan there is something like Rosatom, Gazprom, etc., then a diploma is simply necessary. Not to mention the science.
By the way, large companies in collaboration with universities open many programs, conduct hakatons, meetings and conferences for students. Free, but not disinterested - they are looking for the best from the student's bench.
Corporate institute is not an ideal, but the best form of education
And business is other realities, needs of the employer and other training schemes. Seeing me out of the university, my first head, the vice-rector for science, said: “Every year you have to spend one salary on education — whether it is courses, education, books — it doesn't matter. The learning process itself streamlines thinking. ” The first year of working in business, I completely forgot about these words - my whole life was already like training (or rather, a hybrid of army hazing with a dressing manula). At the end of the second year it dawned that working in IT (commercial service) and not understanding the insides of IT is fraught with errors and idiotic situations, so it was decided - I study.
Three options were considered:
- the master's degree of mekhmat - was rejected due to the fact that in the curriculum there was a lot of unnecessary, and it would take three years. Well, expensive, of course;
- additional education at the university - was rejected because of the outdated program (how do you like office programming of VBA or Access as a DBMS under study?) and a studied list of academic theorists;
- training at the corporate institute of the largest development company in the city. The curriculum was actual, the stack was interesting, the length was a year (in fact, almost one and a half), the teachers were exclusively practitioners. The bonus was 100 hours of English - at that time I did not know him at all, my first foreign language was French. The course was called "Software Development".
Studying at a corporate institute was fundamentally different from that of a university, but, as time showed, it was not ideal. It is worth staying here and getting to the bottom.
First and foremost: a corporate university (even if it is a basic department of a university, its own faculty, etc.) is always the company's interest. In fact, she is preparing personnel for herself, and you need to be prepared for the transfer of part of corporate standards to you. And if for students and young specialists this is a chance to get both practice and work, then such “profile” can interfere with adult specialists. For example, in our country C, C ++ and Java prevailed over all items, and the same Python went almost past - we managed to write a TV program, a tournament table of matches and a calendar with e-mail reminders. Again, from the point of view of operating systems, we were given only UNIX - true, very cool. But more about that below.
So, the cons:
- corporate interest and corporate stack
- profile tasks in practice
Pros:
- almost guaranteed opportunity to get a job (everyone who survived was invited for an interview, two changed jobs)
- getting on the first front of those who are considered for vacancies in the future - periodically receive letters with vacancies on the profile of training.
Groups are formed heterogeneously - apparently, the leadership of the corporate university relies on the consciousness of the audience. In general, we had 16 people - 5 girls, 11 guys, all different: from the zero level of the type of me to the high level of professional programmers (there was a S-person and a really powerful timlid of 1C-sheep). Seven finished and defended, two girls. In this case, prior to admission, testing and interviewing are conducted to determine the level of the English language and the distribution into groups. But the interview on the level of knowledge of technology - no.
As a result, those who have already had development experience confidently penetrated and outstripped those who couldn’t digest thoughts like “pointer to pointer”, “garbage collector”, “BaseClass properties and methods” from the first time. The problem was that we were immediately immersed in a programming language - it’s no joke, but data structures and algorithms happened a few weeks later.
And now about UNIX. Both lectures and practice were conducted by the strongest guys who could answer any question, no matter how crookedly it was formulated. In practical classes, the laggards were not hammered, but the whole group was under the pressure of the one who got confused. For example, they wrote regular books for a designer girl, sorting out every element with her, or looking for forty minutes why I didn’t compile C-shny code in gcc (it turned out that a semicolon was missing in the header) - a classic. As a result, UNIX knew and passed all those who lived to him, and six months later I was interviewed once or twice for a position of VoIP testing engineer with a bunch of questions about bash commands.
So, the cons:
- teachers sometimes ignore lagging students
- course is not always built logical
- the weak quickly adapt and begin to write off and copy from the strong, becoming even weaker.
Pros:
- understand the most ridiculous and at the same time difficult issues
- strong, explaining to the weak, receive additional development
- there is an incentive to rummage through literature (though not at all).
And now about the most important thing -
the teaching of programming languages ​​and related IT infrastructure. Tasks are far from practice. We simulated the flight of a bomb on C, on it we considered polynomials, programmed the sieve of Eratosthenes and worked with the Fibonacci series. In C ++, we wrote and developed a student card up to the use of trees. Issues such as security, networking, design, etc. were missed in these tasks. Development in practice looks, of course, completely different. And perhaps the course would have been even more interesting if, out of our surviving remnants of the group, a real department was made up of senior, junior, testers, project manager. Then maybe more people would have come to an end.
The structure of the development was not explained - if we, the beginners, knew that in real life the programmer did not write the whole program, but was working on his part of the project, we would have a purely psychological view of the tasks easier.
For some of the students, the tasks turned out to be impossible from the point of view of understanding the tasks themselves - in order to program the sieve of Eratosthenes or factorial, you need to understand what it is. The same story with a bomb - one thing the problem was solved with a neighbor on the training, both winners of physical Olympiads, the other - the girl who was sent to study from the company and who did not even remember about acceleration of free fall. Still, in such cases, it is more important to understand the structure of the code and algorithms than to take into account the speed of the fighter, wind and air resistance.
Bugs are always there - it is worth proceeding to the code.Teachers demonstrate the code, write it in real time at lectures, everything is clear to everyone, and they can write it themselves. It was a very good find to give code snippets so that we understand and answer what it does. Wonderful our C / C ++ teacher called it "think like a compiler." And everyone liked it, it was lively and sometimes fervently, although it did not always work out.
But what was really unpleasant was the requirement to write code for exams and tests (yes, they were!) ... on a piece of paper. It caused stupor, thrill and blocked brains. So you’ve got used to the fact that there is a compiler, that it’s your helper, that there is a development environment, code highlighting and here’s a bam and you already write on a piece of paper this:
#include <iostream>
int main()
{
int i, fact=1, n;
cin>>n;
for (i=1; i<=n; i++)
{
fact=fact*i;
}
cout << fact;
return 0;
}
. ++ . — , . — .
, — , , . , , « » ( UNIX « »). , , «», . , .
, , «over qualified». , , — , . , IDE ( Visual Studio Eclipse), , , , . , , «github» «opensource». — , .
, « ». , , (, ) . UML-. , , - . , . .
— , .
- , , (junior, middle, senior).
- , — , . , MIT, CS50 , . codecademy — .
- — , . , — . , , . « Windows Server» (RegionSoft CRM — , ) — , , — , GUI, / Power Shell). -, , -, .
, -. -
# web-. — , , IDE, . : . . , .
—
. — , . , : , .
, :
- , — , , , , , . .
- , . , , codecademy «Python ». ( ), « ».
- , IDE.
- 127 , .
- . . , — .
— , . , — . , -, . — - , .
— +
, - . — , . - , . - — .
. — . — (
).
— ( )
, . , . . — (, . ) , . — , , . , 50/50, -.
—
, . , , — , , . , , . — , , , . — ( ), , , .
—
, -, . . , , .
- . , , , ( « », « …», «». .
- : , , , , , .. , , - - , . — .
- . , , Stack overflow SQL- . , , Amazon — NLP ( natural language processing). . — , . , , — , , . .
- , , , , . : , , , . , . , , .
- -. , , , , , , , .. , .
- . . , . , , , , . -.
- . , , , . , , , . .
- IDE ( ). , , .. , , , , , .
- , . — , ,
math.h
. — , . — , . — , .
- , DevOps, .. — , .
- . . , . .
. — , , . , — , . .
IT RegonSoft — , .
IT- , . +7 (499) 709-81-41 (), +7 (831) 233-13-03 (.) personal@regionsoft.ru