📜 ⬆️ ⬇️

I'd go to the programmers, let them teach me

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:


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?


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:


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:

  1. 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;
  2. 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;
  3. 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:


Pros:


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:


Pros:


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-. , , - . , . .

— , .


, -. - # web-. — , , IDE, . : . . , .


—


. — , . , : , .

, :

  1. , — , , , , , . .
  2. , . , , codecademy «Python ». ( ), « ».
  3. , IDE.
  4. 127 , .
  5. . . , — .

— , . , — . , -, . — - , .

— +


, - . — , . - , . - — .

. — . — ( ).

— ( )


, . , . . — (, . ) , . — , , . , 50/50, -.

—


, . , , — , , . , , . — , , , . — ( ), , , .

—


, -, . . , , .





. — , , . , — , . .



IT RegonSoft — , .

IT- , . +7 (499) 709-81-41 (), +7 (831) 233-13-03 (.) personal@regionsoft.ru

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


All Articles