Apprentice programmer

I dropped out of school when I was 16. It just wasn't for me. Computers are what attracted me. Maybe I was wrong, but it seemed to me that at school I was only wasting time, and my real education began only when I returned home. I stopped respecting this educational institution and, naturally, gave up studying altogether. Well, they gave me a bunch of diagnoses like "unteachable" and began to treat me. All that was left was to wait for it to end as soon as possible.

In the end, I decided that the best thing to do was to drop out of school and study to become a computer scientist - a programmer. Maybe for those who live in the US and Canada, it sounds silly too. After all, there, in order to get a diploma in computer science, you have to graduate from college or university, but in Germany, leaving school to become a student is a common thing. We call it a "dual system of secondary vocational education." Perhaps this system is one of the main reasons for Germany's success.

Discipleship is closely related to the history of the entire country. For centuries, if not millennia, carpenters and other important crafts in the region have used vocational training to pass on their experiences. This system is based on the idea that for some professions experience is more important than theoretical knowledge, and that it is much more useful to spend time working on your own, listening, observing and learning from a master.

In Germany, many companies are hiring apprentices, much like companies in North America recruit interns and on-the-job students. If a company decides to hire you as an apprentice, your job is guaranteed by the state. If the company goes bankrupt, you will be transferred to another company the very next day. There is a whole network of companies in the country that provide mutual guarantees for jobs.

However, unlike interns in companies in the US and Canada, students in Germany are treated like ordinary junior staff, which simply costs less (when I entered the university, the salary was 700 marks or 400 US dollars per month), often younger all others and about 60 working days a year are absent to attend classes at an educational institution. They teach theory for each chosen profession, and after passing the final exam at the end of a three-year training program, students are issued diplomas. Students-apprentices (who are called "pins" - "pencils"), who successfully complete their studies and pass the exam, receive a working specialty.

I enrolled as an apprentice in one of the companies in my hometown - BOG Koblenz. It was a subsidiary of Siemens, a company known for consistently employing apprentices. For some reason I remember very well one question I was asked during the interview.

“The number of lilies in the pond doubles every day. On the first day of the month, there is only one lily in the pond. On the second day - two lilies, the next day - four, then eight, sixteen, thirty-two, and so on. If the pond is full on the thirtieth day of the month, which day of the month will it be half full? ”

I won't say that it was very difficult for me.

Three more such students came to work in the company with me. On the first day, we were given a tour of the company, which employed 150 people - then it seemed to me that this was a lot. During the first year, we carried out various assignments: 3 months we worked in the cafeteria, 3 months we helped with accounting, another 3 months we dealt with accounting and inventory, and 3 months we worked at the reception. We were told it was a kind of initiation rite.

During my first three months in the cafeteria, I quickly got to know all the employees of the company, learned what coffee or tea they like, and made sure that there was enough caffeine in their coffee. Those who interested me the most worked in a small room in the basement of an unattractive building. I don’t remember what their positions were officially called, but in fact they worked independently, without any external control.

Their work was different from what everyone else was doing. Most of the company's employees worked in an uncommon programming environment called Rosie SQL, which was killer for my perception, sharpened by Demo Szene (or Assembler and Pascal, or nothing!) And these guys had Delphi. I just fell in love with him! Finally, in the programming language, the foreground was not machines, but people. It was built for instant results, experimentation, and rapid prototyping. His VCL windowing library was much cooler than anything I've seen before. But most importantly, Jurgen was in charge of all this.

Jurgen was the name of a long-haired, gray-haired rocker in his fifties who would have looked great in a gang like Hell's Angels. Jurgen was usedUntar. He refused to comply with the company's clothing requirements and did not hesitate in disputes with people to speak openly when they were wrong. Despite all this, Jurgen enjoyed universal respect. I tried my best to get his attention, even borrowed the Delphi manual and learned it by heart in between delivering coffee.

At the same time, I continued to go to school on Fridays, took two weeks of study leave and took exams. I liked studying this way much more. I felt in my place. Thanks to the fact that I was all the time spinning around Jurgen and his guys, I learned the basics of the profession. We also learned algorithms, big O and so on, even the basics of soldering and electrical work.

It turned out that my problems with studying are not really any problems - I'm just a practitioner. I could not understand or find a solution for those problems that I had never encountered before. Everything was different at the school. I knew what was being discussed, I understood the problems that we were solving. I've already been in such situations. It was cool! My self-esteem and self-confidence grew every day.

My plan worked.

After the first year, Jurgen took me to him, to his little team that lived in the basement. This was probably the most important event in my professional career. Jurgen was a first-class teacher. He created such conditions in which it was calm and easy to work for all 10 years. It is this method and the exact same terms that I am trying my best to recreate here at Shopify.

Almost every day, when I came to work, I found a printout of the code I had written the day before, marked with a red marker: either I didn't have very good idioms, or I could have chosen better abstractions, or somehow more carefully hinted at the architecture of the system generally. This taught me not to show ego in my codes. There is always something that can be improved and improved, so this feedback was a gift for me.

I remember how we were developing software for GM. One dealership needed a faster pricing system for incoming used vehicles — a significant competitive advantage. Jurgen gave this project to me. To complete the project, Jurgen and I had to go to this dealer, and the trip would take a whole day. While the project was still being prepared, the company gave me money to buy a suit. After all, we worked for Siemens and needed to look the part.

The day before the installation, Jurgen kind of casually tells me that he needs to go somewhere on business, and I will go to the dealer alone. I was terribly upset, but somehow managed to make a good impression and everything worked as it should.

This situation was repeated constantly. Jurgen knew my "comfort zone" and created situations where I had to go a little beyond it. I overcame these difficulties by trial and error, doing my work and directly applying in practice the theory that was taught in the school, and everything worked out for me.

My diploma is not recognized in North America, so it is formally believed that I just dropped out of school. My co-founder at Shopify has a PhD, and we love to joke that we have an average of two bachelor's degrees.

Grades are not important now, experience matters. This is what my apprenticeship and the dual system of secondary vocational education taught me: the most important thing in life is gaining experience and the rapid acquisition of knowledge. If you master these skills, you can create incredible situations for yourself and come out of them as a winner over and over again.

Perhaps the most important thing that my training program gave me was a good advantage at the start. If I went to university for a Ph.D. degree, as my co-founder, I would PROBABLY finish it. Instead, at 32, I have been paid for developing complex software for almost half my life.

This is a very serious advantage, and thanks to the dual system of secondary vocational education, almost any student in Germany can get it. According to the latest data, the apprenticeship system is offered for 356 different professions and areas of professional activity, from hairdressers and oven builders to various specialists in the field of computer programming. For practitioners or kinesthetics like me, an apprenticeship program is a real chance for success.

These were ideal conditions for me. I have learned a lot and am infinitely grateful to fate for choosing this particular path. It is a shame that students in countries that are trying to reduce the number of young people dropping out of school and create jobs for them do not have such a choice.

Author: Toby Lutke , co-founder of Shopify

Source: habrahabr.ru