One of the eternal questions asked by managers in IT companies is to hire ready-made experts or to “grow” their own?
Andrey Bulov and Daniil Shulgin have been raising developers for 9 years - in the Java School, which they founded. Read about whether there is a correct answer to this philosophical question, why offline teach people Java in the era of accessible Internet education and how the Java School was created, read under the cut.
- Danya, Andrey, I am very glad to hear from you! Let's start with the history of Java School. How it all began?
Andrey: It was 2011, and at one point our company began to grow rapidly. Engineers came to work for us, but they were extremely diverse: from super-professionals to juniors, so the projects spent a lot of resources on training.
Then my colleague Pasha Strokan and I thought that something could be done to give people an equal chance of getting a job with us. This was a classic free java school: Java SE, then Java EE.
Feedback from the first stream was mixed, but we liked it and decided to continue this experiment. After graduating from the second school, Danya came to the company and brought his energy to this project. Since then, he and I have been working with the school together and are trying to constantly improve it.
- How did the school develop in the future?
Andrey: After the fifth graduation of the school, we radically changed the concept, which fundamentally distinguishes us from other Java schools: we seriously cut a part of SE and began to take those who already have basic development skills.
In a fairly short time, it is very difficult for a person to master both basic coding and an enterprise. It happened that a student came to study from scratch, but during the training he realized that Java was not at all his, and it turned out that a person was wasting time, someone was losing a potential opportunity to get to work for us, and our efforts were wasted.
Therefore, we began to take people who really want to program and are sufficiently motivated to study the base on their own. Either they know some other language and can switch, or they consciously want to engage in enterprise technologies.
Andrey Bulov
Daniil Shulgin
- How does Java School work now? Have you gone online like all schools?
Andrew:Yes, of course, we have now transferred everything online, but this is a necessary measure, and when everything is over, we will gladly return offline. When we brought everything online, we lost the magic of presence. After all, our main feature is live communication with the curator, with the teachers. It's not just about writing code, but getting feedback, being in this crowd of students and teachers.
The material that we give can indeed be found in some online courses, but here you are taught by "live" professionals, given examples on real projects, and the curator personally helps.
- What problems have you faced over the years of Java School?
Daniel:We thought a lot about how to put the learning process "on rails" and make sure that it gives a stable result on the one hand, and on the other, not to formalize it too much. I didn't want to keep a log of visits, reporting ... If you go too deep into these formalities, you can kill the process.
Empirically, we came to what we have now: we gave up any homework in favor of practicing in lectures. The only task that a student does is his own project, which he develops from scratch from the first day of study. In the implementation of the assignment, we give a lot to the students, we give them the opportunity to take initiative. We provide them with a strict time frame and the help of a curator who will not let them drown in all the diversity.
Studying in a Java school can be compared to playing sports with and without a coach. There are millions of exercises - take it and do it. But you may not always have enough motivation to do the entire workout routine on a regular basis. If you start working with a coach, then you have a person who says that in this approach you need to do it two more times. It's the same with java. Java is not rocket science, you can learn it yourself and write a project yourself. But not everyone is disciplined enough to do this.
Andrey: In this sense, we generally moved away from school in its classical sense and turned into something like a club. In fact, we do not so much teach as give the necessary tools so that students can prove themselves.
We tried for a long time to adapt the program so that it would be suitable for those who have a technical background, and, for example, for the humanities who also came to us. We were looking for a balance, but realized that we would not adapt to everyone.
Daniel: Therefore, we made a “minimum program”: there are formal criteria for the final project that the student does throughout the entire training. If you fulfill them, then in fact you went through a java school, but the presentation of such a project is unlikely to have a wow effect. At the same time, we leave a lot of space for creativity, and we look at what the student can aim at. We are talking about both the amount of work and the technological stack.
When we stopped restricting students, we immediately began to see who could think outside the scope of what was proposed and compare their project with reality.
- It turns out that if a student fulfills only the required minimum, he will not be hired?
Andrey: Not necessarily. The fact is that our company has projects of different levels. Somewhere everything develops very dynamically, in other projects the speeds are not so high - for beginners who may not learn so quickly, this is a great opportunity to grow up in a calm mode.
Daniel: We can also give a second chance and offer an internship, for example, if we see that a student has potential and positive dynamics in the course of training, but for some reason colleagues from projects are not ready to cooperate.
- Now that the scheme has been worked out and the process is put on stream, do you yourself take part in the training?
Andrey: Of course, how else?
Daniil: We have the first lecture with which we open a school, and in addition to organizational moments, we tell about the environment in which developers work in our company. Plus, we have lectures to expand horizons, where we talk about software development processes. Andrei and I also give lectures on Agile and SAFe. All this helps our future colleagues to adapt faster.
- The main idea of Java School is the opportunity to learn and get a job. Is there an opportunity to upgrade their skills in Java for those who already work in T?
Andrey: Yes, our employees can come to us at any time. Moreover, they can join us as teachers.
Daniel:It's good that you remind me, this is a very important point. Our teaching staff is constantly updated, new people are pouring in. Teaching is such a win-win: for employees it is a chance to improve their speaking skills, grow above themselves, find new opportunities for development. For students, this is training and communication with practicing professionals.
In addition, we have a highly developed institution of supervising, where, in addition to delivering lectures, colleagues can try on the role of a lead. You have one or two students who are assigned to you, and you lead their entire Java school, while rolling in leadership, senior skills. For those looking to become a lead, this is a great training ground.
- What tasks does the curator perform?
Daniel:Let me explain with an example. A student studies a question, encounters a problem, Google does not help, asks a question on Stack Overflow, receives an answer that it was discussed a long time ago in another thread, spends conditional 4 hours searching, bumps into a wall and wants to quit. Then the very moment comes when you need a curator - a guide who will not let you drown.
For most students, the main difficulty is that this is the first full-fledged project in which they deal with everything at once: from architecture creation, requirements formation, and so on. And the problem here is not even technology, but how to integrate all this together - at this stage, the lack of experience is strongly affected. The curator shares his knowledge and guides the student.
- For 9 years, about 450 students have passed through Java School and more than 250 of them got a job in our company. And yet - is it possible to give an unambiguous answer to the question, which is better - to raise your own experts or hire those who have taken place?
Daniel: There seems to be no definite answer to this question. I think this is a harmonious development of the company, if you both raise your own people and hire experts from the market: on the one hand, you ensure continuity, maintain culture, on the other, you bring something new, adapting the experience of other companies. It's all about proportions.
Andrey: As a manager, I agree with the previous speaker. As an expert who grew up in T, I love the idea of nurturing my employees!
- I am sure that for so many years of working with students, you have acquired a golden fund of funny stories related to Java School. Tell us a couple of your favorites.
Daniel: The final show is a stressful situation for a student: you have 15 minutes of fame, you are nervous, everyone around you is also excited. On the night before the show, anything can happen, in spite of our warnings, many are trying at the last moment to finish something.
I remember one case when a student went into the classroom before the show and rolled his suitcase behind him. He came up to us and said: "Can you give me a monitor, keyboard and mouse?" We were surprised, to put it mildly, and he explained: at night, when he was preparing for the show, his laptop burned down, so he brought a stationary computer with him!
I must say that despite such circumstances, his presentation was quite successful.
In March, Java School celebrated its 30th anniversary edition
- Guys, thank you very much for the interview. What can you say to readers in the end?
Daniel: When we first started, we couldn't even think about what this initiative would turn into. It turned out to be something more than a source of personnel - it is a whole living system where people study at school, gain experience in various projects of the company and after a couple of years return to school to teach others. We have created and maintain this continuity and engagement.
Andrew:We would like to see more such projects on the market. A kind of win-win-win - both for novice developers, and for employees of companies in which such initiatives start, and for the industry as a whole.