Company programming schools or how to enter IT





Surely, one of you has come across company vacancies under the cunning name of Java / JavaScript / Android / C # School. It seems that it is not a position in the state, on the other hand, a good opportunity, and sometimes the only one, to get this position. Unfortunately, on the Internet, this type of “education” is somewhat underestimated. What kind of animal is this, and who needs it? Let's figure it out!






School is ...



First, let's decide on the very concept of a school of programming. From the name it follows that the school is dedicated to the study of programming, usually with reference to a specific language or technology. Also, schools in this article will mean training organized by companies with the aim of further hiring a student. That is, these are not schools or courses whose main task is education itself. Finally, the school does not include internships or programs for the development of young specialists, intended only for graduates of universities of certain specialties. Theoretically, a person of any age and with any background can start studying at school.



Despite these general characteristics, the schools themselves can vary significantly from company to company. Further, I will rely on my experience of passing Java schools, on the experience of my friends, as well as on publicly available information on company websites.



Admission



Some companies recruit almost all year round, while others recruit at a strictly defined time, once or twice a year. Typically, an ad for school enrollment is published on the company's website, as well as on pages with vacancies on third-party aggregators. The selection process is similar to the selection process for any other vacancy: resume - test task and / or test - interview. Therefore, if you want to go to school, you should approach the process responsibly and not think that you will be accepted only because you are studying for an IT specialist or you can write Hello world.



There is one feature: different schools are designed for different levels of knowledge of the target programming language. There are schools where they can take without knowing a specific language, subject to general computer literacy. In other schools, a group will be selected for you depending on your level. Some companies require a basic knowledge of the school’s language and will be thoroughly tested before admission.



As a rule, schools are absolutely free. You do not pay anything, but they do not pay anything either.



What? Where? When?



The students' initial input skills affect both the learning process and its timing. For example, in Java schools where Java knowledge is not required, training lasts an average of 4-6 months and includes a basic Java course. Schools for people who know the basics are usually half as long.



Education in schools is usually carried out in the afternoon 2-3 times a week in the company. As a rule, nobody watches attendance. However, if you do not attend, there is a chance to skip something important and get out of schedule.



Learning process



Here again, some are in the woods, some for firewood, the approaches of companies can be different. Perhaps, it unites all schools that theory is combined with practice. Each company also tries to provide the knowledge necessary specifically for its projects. On this, perhaps, the similarities end.



In some schools, the practice implies the implementation of a group and / or individual project. In others, the practice includes working on a real project at the company’s office.



The implementation of the project increases your chances of getting a contract for the position of a company’s developer. It happens that diligent students are offered the position of a programmer before graduation. On the other hand, successful completion of the course does not always guarantee that you will be offered a job. Therefore, even at the interview stage, it would be nice to ask what percentage of graduates signed an employment contract in the company and what happened to the rest. They were offered an internship, other positions, or just allowed to swim freely?






Who should go to school



From my own experience I will say that going through school is not the easiest way to become a developer and find a dream job. There are others. Nevertheless, I find schools at companies often an irreplaceable way, making it easy for hundreds of people to enter programming. In addition to getting a job, you will have unique knowledge that you will receive absolutely free. First things first:



school vs university



I know a person who went to Java school right after high school and by the age of 20 was already a programmer with a solid background. Of course, I am not saying that the school replaces the university. However, if for some reason you do not see yourself in a university, it can be a good alternative.



Another plus of the school - for its passage it is absolutely not important for whom you studied and by whom you worked. Philosopher, but you know the basics of programming and want to work in IT - no problem! You have worked as a translator for 20 years, you want to change your profession and you know Python - you are here! At my school, by the way, about half of the people were not from the IT sector. There were also people who wanted to switch from related specialties or who program in other languages.



It takes years to complete the university program. A large percentage of the knowledge gained there may not be used at work at all. At school, only a few months and concentrated knowledge, widely applicable in practice.



And a cherry on the cake: far from every IT university, a student is given the opportunity to work on a full-fledged commercial project, which is not a shame to show people and put in a portfolio. And the diploma itself will not provide work. So students and graduates in schools are also happy.



On the other hand, one should not expect a miracle from the school. Here they will not pull you and adjust to your pace. The school provides only narrowly targeted knowledge. And even if you eventually become a programmer, fundamental knowledge will have to be replenished already in the process of work.



school vs direct entry



I already wrote above that the selection process for school is quite laborious. Isn’t it easier to immediately pass the selection to the starting position? There are two problems here:

- You want to work in a certain company and they do not have starting positions.

- You absolutely do not have work experience / internships and the chance to get a job is rather small.



Otherwise, of course, get a job right away.



school vs internship



Internships are great. This is an opportunity to work on a real project for several months, gain experience, and understand if you liked the company. You will also get paid for this. But! First of all, this something may be absolutely not enough for life. If you already work full time, changing your work for an internship can be even risky: there is no guarantee that you will be hired. And combining with work, unlike school, is almost impossible.



Another disadvantage, in some companies, interns only take students and only certain specialties. If you have not entered the profile, then, alas, you will have to look for other options.



So, the internship is suitable for you, if you are a student, your schedule is suitable for the internship schedule, and the salary is of little concern, and in general you are not going to work full time. In all other cases, the Java school can be a worthy alternative.



school vs courses



In today's realities, do not forget about self-education through various online and offline courses. Plus courses - this is their great variety and quantity. But the ones that really can help when applying for the first IT job are units.



These are courses that include not only theory but also practice. Courses during which you are doing a project and a mentor helps you. And such courses are usually paid and cost a lot of money. And even despite the cost, a promising program and rave reviews on the Internet, no one will give you a guarantee that these courses are right for you. And of course, there are no guarantees that your chances of getting a job with a Horns and Hooves certificate will be higher.



But for your money, you may get more comfort, you can go through the program remotely, at any time convenient for you and at a pace convenient for you. And admission to the courses is not a problem if the cost is acceptable to you.



school vs work



The main goal of the school is to prepare the student for combat working conditions, and in some senses she succeeds in doing this better than with traditional teaching methods. However, a school is not a real work experience. In other words, successful completion of the school does not guarantee that you will make a first-class developer. You still have a lot to learn before you feel at ease. And the training project, whatever one may say, can not be compared with the real one either in complexity, or in technical solutions, or in team interaction.



On the other hand, if you failed the project or you weren’t taken, this does not mean that you can forget about programming. School in most cases is much more intense and can be a stressful test, especially if you combine it with study / work. This is only one way to achieve the goal, but far from the only one.






Thus, a programming school is an excellent option for gaining knowledge if your ultimate goal is to work in a company that organizes the school. This is an excellent option for people who are already working and want to change their field of activity. This is a promising option for students without or with little experience in the specialty. And this is a good opportunity to get valuable knowledge absolutely free and expand your resume / portfolio.



All Articles