Opinion: The apprentice programmer

Where the co-founder of one of Ottawa’s most successful tech firms got his education

I dropped out of school when I was 16 years old.

By Tobi Lütke.

School was not for me. To me, computers were so much more interesting. Rightly or wrongly, I felt like I was wasting my time there and my real education started when I came home. I lost respect for the institution and of course this meant I no longer bothered to put any effort into it. They diagnosed me with all sorts of learning disabilities and started to medicate me. I wanted to leave it all behind.

I decided the best thing to do was to drop out and start an apprenticeship as a Fachinformatiker – computer programmer. This might sound like a stupid decision to people in North America, who often go to college or university to get a degree in something like computer science, but in Germany leaving high school for an apprenticeship is not out of the ordinary. It is called the dual education system, and it is likely one of the main reasons for Germany’s success.

The system has its roots in the region’s history. Carpenters and several other important trades have used an apprenticeship system to teach and build expertise for hundreds, if not thousands, of years. The underlying idea is that there are professions that profit more from experience then theoretical understanding and that educational time is far better spent doing the actual work by watching or listening.

Many companies in Germany take on apprentices, much like North American companies accept interns and co-op students. If a company decides to take you on as an apprentice, the position is guaranteed by the state. Should the company go bust, you are placed with another company the next day. There is a web of companies guaranteeing the positions for each other, spread all across the country.

Unlike interns in North American companies, apprentices in Germany are treated like normal junior employees except they are cheaper (700 marks, or roughly US$400, per month when I went), often younger and miss about 60 work days a year to attend classes at their vocational school. The schools teach the theory behind each chosen trade and certify the students at the end of three years with an exit exam that concludes the program. Student apprentices (they called us “stift”) who successfully complete the program and pass the exam earn the vocational title.

I landed an apprenticeship with a company in my hometown called BOG Koblenz, a subsidiary of Siemens with a history of taking on apprentices. For some reason I vividly remember this one question from my interview:

The number of lilies in a pond double every day. So, on the first day of the month there is one lily. On the second day, two lilies, the next day four lilies, then eight, 16, 32, etc. If the pond is full on the 30th day of the month, what day is it half full?

That was not exactly difficult.

The first year was about paying our dues: three months running the cafeteria, three months helping in accounting, three more working in inventory, and then three months at reception. It was a rite of passage, they told us.

Three months in the cafeteria meant I quickly met everyone in the company and learned what kind of coffee or tea they liked. I made sure to keep them well caffeinated. My absolutely favourite group of people worked in a small room in the basement of a secondary building. I do not remember what their official titles were, but they were essentially doing skunk works down there.

They did things differently than everyone else. More importantly, it was run by Jürgen.

Jürgen was a long-haired, 50-something, grizzled rocker who would have been right at home in any Hell’s Angels gang. He was a rebel. He refused to wear the company attire, refused to use the formal language and called people out on bad ideas. Despite all of this, everyone respected him. I tried my best to make it absolutely obvious that I wanted to work for him. I borrowed the Delphi manuals and committed them to memory in my downtime between coffee runs.

At the same time, I would attend my vocational school every Friday, and twice a year we would go for two straight weeks to study and take exams. This was a much better way for me to learn. It felt relevant. I learnt the fundamentals of things picked up from being around Jürgen’s team. We learned about algorithms, Big O, etc. – even some basic soldering and electrical work.

It turned out those learning disabilities were not real disabilities. I was simply a kinesthetic learner. I could not understand or come up with solutions to problems I have never had. At my vocational school, I knew the problems we were solving. I had been in those situations. It was great! My self-esteem and confidence improved quickly.

My plan was working.

After the first year, Jürgen drafted me to be a part of his little basement-dwelling team. It was probably the most important thing that happened to me in my professional life.

Most days I came to work and found a printout of the code I wrote the day before annotated with red marker everywhere. I used poor idioms or could have chosen better abstractions or done a better job hinting at the architecture of the overall system. This taught me not to tangle my ego up in the code I write. There are always ways to improve it, and getting this type of feedback is a gift.

I remember we made software for GM. One particular car dealership needed a faster system to estimate the value of incoming used cars. It would be a big competitive advantage. Jürgen gave this project to me. Shipping it meant Jürgen and I had to drive to the dealership, which was a day trip away. In preparation for it, the company gave me extra money so I could buy a suit. We worked for Siemens, after all. We had to look the part.

The day before the installation, Jürgen casually told me he had somewhere else to be. I would be going by myself. I felt overwhelmed, but somehow managed to make a good impression and got everything working regardless.

This pattern kept on repeating itself. Jürgen somehow knew the extent of my comfort zone and manufactured situations that were slightly outside it. I overcame them through trial and error, through doing and immediately applying the theory I was learning at the vocational school to practice at my apprenticeship. I succeeded.

My degree is not recognized in North America, so I am technically a high school dropout. My co-founder at Shopify has a PhD, so we always joke that together we average out to a bachelor’s degree.

Not that degrees matter anymore. They do not. Experience does. That is one of the things my apprenticeship and the dual education system in general taught me: experiencing and learning quickly are the ultimate life skills. If you can do that, you can conjure up impossible situations for yourself over and over again and succeed.

Perhaps most importantly, the apprenticeship program gave me a solid head start. If I had gone to a university and studied to get a PhD like my co-founder, I might JUST be getting out of school. Instead, at 32 years old, I have been paid to build complex software for almost half my life.

That is a powerful concept and one within the reach of almost any German student thanks to the dual education system. At the last count, there were 356 different occupations or occupational categories that offer apprenticeships, from hairdressers to oven builders to various specializations of computer programming. For hands-on people or kinesthetic learners like me, the apprenticeship program created a legitimate path to success.

It was the perfect environment for me. I learned a lot, and I am eternally thankful to have chosen that path. Countries struggling with high dropout rates and lacklustre job creation figures would be wise to give their students a similar choice.

Tobi Lütke is the co-founder of Ottawa e-commerce platform provider Shopify. This column originally appeared on his blog, tobi.lutke.com.