RE: University for IT specialist: a look from the inside

    Hello, dear readers of Habr!
    This topic is the answer to a recent article on getting an IT specialty at a university.

    My first reaction to this post was a comment in which I tried to clarify the geographical location of the Higher Education Institutions in question. Surprisingly, in addition to responding to my comment on Habré , several people answered me on Facebook (they don’t have any invites yet), and comrade quicksdk asked me to tell in the same vein about the University of British Columbia .

    It so happened that I study at a Canadian university on a computer specialty and have been working as a developer (freelancer) for about a year now. Due to my small work experience and the fact that I completed only one year of study at the undergraduate program, I do not position my opinion as the only correct one. However, someone may find this article interesting.

    Let me quote the respected mattheus :
    Then there will be many letters and not a single picture. Anyone else interested - ask for a cat.

    When is it worth going to study for an IT nickname?


    It is not necessary for everyone to break into IT, it is better to find a business that is really a joy to you, and do not follow the fashion or pressure of your parents.

    I absolutely agree with this statement. About 70% of people who study to be a programmer in UBC (and with whom I talked), in the end, just want to find a job in their specialty. That is, while studying at the university, the only thing they created was the educational projects necessary to complete the course; and nothing more. You can try yourself: for this, UBC has a special course (CPSC 110) that any student can take as an elective. But if you do not have a craving for programming, and it did not appear after this course, your vocation is different. Believe me, Computer Science is not so simple - therefore, in UBC, for almost all computer courses they give 4 credits, and not 3, as usual.

    What does the institute teach all the same?


    From my work experience, the knowledge gained at the institute is only 3-5% of what you need to know, and depending on the specialization, 70-95% of what you went through at the institute may not be useful or useful only indirectly.

    I honestly don’t know how things are in Russia, but in UBC in the first year you could learn Java and Python at a good enough level to start freelancing. The basics of OOP and functional programming, interesting approaches to structures, many subtleties of working with IDEs - all this I learned exactly at the university.

    It’s worth noting that my main profile is Objective-C, not Java at all; and Objective-C, I learned on my own. However, thanks to what I learned behind the university bench, I began to actively use the refactoring capabilities, my thinking fell into place, I began to write code that other developers could read after me. In the first year of training at UBC, I have to take a couple of unnecessary items, but they definitely greatly expanded my horizons. For the second year, I have almost chosen my courses, and this is mainly Computer Science.

    On the other hand, when I was working as a freelancer, I almost never used Java, but the various programming patterns studied at the university made my work on Objective C much easier.

    How deep is the knowledge gained at the university?


    The university is a continuation of the school. There is no leap in the quality and depth of the material presented. Just as the school studies the simple basics of the main areas of knowledge, so the university will tell you the same simple basics, maybe a little more narrowly focused in the context of your specialty.

    In the first year - yes, there is no leap: everything is superficial. However, according to alumni, 2-4 years at UBC give much deeper knowledge (at least, a deep study of C).

    This affects the format of training: in a short time for a wide and variegated audience, well, no matter how it doesn’t work, one can go deeper into some direction. For 2 hours of laboratory work, it’s impossible to write any complicated program or finished product in the framework of the course project.

    Again, I do not know how things are in Russia; but in UBC at the Computer Science faculty, an insane amount of time is wasted on training. In addition to working on projects (25+ hours), there are Co-op programs. And this is an immersion in the working environment for a full 3 semesters (full-time work in EA, Microsoft, Google, Facebook, etc.)

    If the chosen specialty is not your hobby and you do nothing at home "for yourself", then at the exit from the institute you will get a zero specialist.

    I agree with everything here. You won’t throw words out of a song.

    Most teachers are bad specialists.


    Yes exactly. <...> Honestly answer your question: why do those who teach you work at universities, state employees, and at their small salaries? Because they cannot apply for qualified positions in the IT industry, they lack neither experience nor qualifications.

    No, it is not. Most professors at UBC CS work as teachers in their spare time from their studies. The university is primarily a research base. As far as I know, a lot of money is allocated on AI at our university, and many professors work in this direction. I personally spoke with a person on campus who was one of the first to create robots that play football autonomously.

    The older generation of teachers is usually those who once worked with the union in related fields and, with its collapse, at least somehow settled close to their specialty. They “knew” something (when they worked) and this knowledge is as ancient as the times when the union fell apart. Well, if one of them was interested in sorting out something new, but most just read a thick book on their subject, which they retell to you.

    In UBC, just do not get a teacher. All the teachers developed something worthwhile. For example, my CPSC 121 teacher was one of the developers of the Magic Box, a great sandbox for learning the basics of working with microcontrollers; and one of the CPSC 110 teachers was one of the creators of the Racket language.

    Any question beyond the stated material - introduces into a stupor, any remark - annoying.

    Not at all. Any task for professors is interesting, especially if it is related to their profile. I have often visited my CPSC 210 lecturer at office hours and solved some of the difficult problems associated with freelance with him.

    The teacher has no interest in your knowledge.


    If you are among those 70% who do not like programming, then of course there will be no interest. Either I am a good conversationalist, or professors are so good; but always, when I had a problem - they gave me more than knowledge. Sometimes the teachers went so deep into some area of ​​their subject that I was late for the following couples: it was so pleasant to me to listen to them.

    No need to look at everyone.


    For talented students, this is an extremely bad situation. And because the need to focus on the "average" student reduces the depth and vastness of the material presented by the teachers, and because an imaginary impression of their own success is created against the background of a total sloppiness of the bulk.

    If you need deeper knowledge, you can take Honor courses in Computer Science at UBC. The groups are smaller, almost all students are gifted, the depth of knowledge is many times higher than ordinary courses, and the focus is on “smart” students.

    No need to compare yourself with fellow students. The best criterion for your knowledge and success will be your completed projects, your success at work. Relate yourself not to the "gray mass", but to the market. Go to the freelance website - read what of the proposed works you are able to do, and what is not yet and even the abbreviations are unfamiliar. Very sobering, even excellent students learning.

    Good advice, regardless of university, or even specialty.

    Rating is not important.


    When taking a job in IT, in most cases no one will look at your diploma with his grades. <...> In normal companies, they will give you a test assignment, conduct a technical interview with a specialized specialist, possibly with your future boss.

    All is correct. However, grants and funding at UBC usually require 90% + ratings. At elance.com no one asked me about a diploma. For a Co-op program, you need a certain minimum average rating, but if you liked the employer at the interview, you will still be accepted.

    Need to work.


    If you recall that most teachers themselves do not work in IT, then the same majority pays equally much time and attention in pairs and what you really need and you will use it every day and for what is of purely academic interest and you will never come in handy.

    Needless to say, I studied for only one year, and of all the courses, only one was aimed specifically at the corporate application development - CPSC 210. The rest is theory and basic knowledge. I repeat, this is just the first year. Further is better.

    And the fact that you need to work is a fact. Look at industry giants who never graduated from universities (you know their names). They began to develop their business at the university. And for those who say that it’s not worth bringing these people as an example, I can only smile back. But this is purely personal, you can not smile.

    It’s enough just to be present.


    The complexity of the material presented and the requirements for students have already become so low that for successful training, even the most incapable students simply need to be present at the institute.

    It’s hard to get into UBC; it’s easy to fly out of UBC. Attendance at lectures is 10% of the grade, maximum. The rest is permanent exams, homework, projects and assignments. UBC just keeps in a constant tone, there is no possibility of "just being present."

    It creates an illusory impression that you can not go and everything will be, because there is an unwritten ban on the expulsion of student students who “feed” universities.

    At UBC everyone pays (except for the gifted ones). There are no privileges. If one “breadwinner” is thrown out, another will come in his place: this university has thousands more who want to enroll.

    Factual knowledge is not so important.


    Since the education system does not change, try to change the attitude towards the knowledge gained. No need to accumulate facts, this will lead to garbage in the head. Try to understand what you know and connect everything into a holistic picture of the subject area.

    Here the system is slightly different from the Russian one: you need to understand, not remember. All exams are allowed to bring A4 sheet with all the information you need. Yes, and it is understanding that is tested, and not simple knowledge. But this is in IT, how things are with other professions - I am not aware.

    Knowledge in the specialty is not the most important.


    What else? English. <...> Organizational abilities, ability to solve problems (what is called entrepreneurial talent).

    Well, without English there is nowhere to get, and with the point about organizational skills, I think everyone agrees. They are needed everywhere.

    Studying at a university is not all.


    At your university, even if it is the capital and the best teachers in the country, a limited circle of people you can study with, a limited set of subjects, you are limited by the program of your ministry of education and the level of the audience around you.

    Despite the vast number of different courses in UBC itself (possibly more than in the Russian metropolitan university), knowledge in the specialty may not be enough. I did not learn anything about Objective-C at the university. He studied everything on tutorials, video lessons, video lectures. The Stanford lectures on iOS helped me especially. I completely agree with the author of the original topic: you need to study outside the university.

    Personal comments


    I honestly tried by all means to shield Russian universities. I honestly tried to somehow argue for the absence of the same MSU or MGIMO in the top 300 universities in the world. But the original article broke all my hopes to pieces.

    Is it really so bad in Russia with education? I can not believe this. Unfortunately, many students in Russia do not even think about studying abroad. But there are an insane amount of different training programs (not Russian) that they simply don’t know about.

    The article is solely my opinion and my observations.
    In case you find any inaccuracies or typos in my article, you are welcome to my habracabinet .

    Also popular now: