Ученик программиста

Статья опубликована на Habrahabr.ru.

Споры о том, нужно ли программисту формальное университетское образование или важнее «живой» опыт, имеют долгую и интересную историю. Пост Тобиаса Лютке, CEO Shopify, продолжает эту занимательную тему.

Школу я бросил, когда мне исполнилось 16. Просто это было не для меня. Компьютеры — вот, что меня привлекало. Может быть, я был и неправ, но мне казалось, что в школе я только терял время, а мое настоящее образование начиналось только тогда, когда я возвращался домой. Я перестал уважать это учебное заведение и, естественно, совсем бросил учиться. Ну, и понаставили мне кучу диагнозов типа «необучаемый» и начали лечить. Оставалось только ждать, чтобы все это поскорее закончилось.

Ученик программиста

В конце концов я решил, что лучшее, что можно было сделать, — это бросить школу и пойти учиться на специалиста по информатике — программиста. Может быть, для тех, кто живет в США и Канаде, это звучит и глупо. Ведь там для того, чтобы получить диплом по специальности «компьютерные науки», надо закончить колледж или университет, но в Германии уйти из школы в ученики — обычное дело. У нас это называется «двойная система среднего профессионального образования». Наверное, эта система и есть одна из основных причин успеха Германии.

Ученичество тесно связано с историей всей страны. Столетиями, если не тысячелетиями, плотники и представители других ремесел, играющих важную роль в регионе, использовали систему профессионального обучения для передачи своего опыта. В основе этой системы лежит идея о том, что для некоторых профессий опыт важнее теоретических знаний, и что гораздо полезнее потратить время на то, чтобы работать самому, слушать, наблюдать и учиться у мастера.

В Германии многие компании берут учеников — вроде того, как в Северной Америке компании принимают на работу стажеров и студентов, обучающихся без отрыва от производства. Если компания решает принять тебя на работу в качестве ученика, твое рабочее место гарантировано государством. В случае банкротства компании тебя на следующий же день переведут в другую компанию. В стране существует целая сеть компаний, предоставляющих взаимные гарантии на рабочие места.

Однако в отличие от стажеров в компаниях США и Канады, к студентам в Германии относятся как к обычному младшему персоналу, который просто обходится дешевле (когда я поступил на учебу, зарплата была 700 марок или 400 долларов США в месяц), нередко моложе всех остальных и примерно 60 рабочих дней в году отсутствует для посещения занятий в учебном заведении. Там преподают теорию по каждой выбранной профессии, а после сдачи выпускного экзамена по окончании трехлетней программы обучения студентам выдают дипломы. Студенты-ученики (которых называют «штифт» — «карандаши»), успешно закончившие обучение и сдавшие экзамен, получают рабочую специальность.

Я поступил учеником в одну из компаний в моем родном городе — BOG Koblenz. Это было дочернее предприятие Siemens — компании, которая известна тем, что постоянно берет на работу учеников. Почему-то я очень хорошо помню один вопрос, который мне задали во время собеседования.

«Количество лилий в пруду каждый день увеличивается в два раза. В первый день месяца в пруду всего одна лилия. На второй день — две лилии, на следующий день — четыре, затем восемь, шестнадцать, тридцать две и так далее. Если пруд заполняется на тридцатый день месяца, в какой день месяца он будет заполнен наполовину?»

Не скажу, что для меня это было очень уж сложно.

Вместе со мной на работу в компанию пришли еще трое таких студентов. В первый день нам устроили экскурсию по компании, в которой работало 150 человек, — тогда мне казалось, что это очень много. В течение первого года мы выполняли разные поручения: 3 месяца работали в кафетерии, 3 месяца помогали с бухгалтерией, еще 3 месяца занимались учетом и инвентаризацией и 3 месяца работали на рецепции. Нам сказали, что это был своего рода обряд посвящения.

За первые три месяца работы в кафетерии я быстро перезнакомился со всеми сотрудниками компании, выучил, какой кофе или чай им нравится, и следил за тем, чтобы кофеина в их кофе было предостаточно. Те, кто интересовал меня больше всего, работали в маленькой комнатке в подвале непривлекательного здания. Не помню, как официально назывались их должности, но по сути они работали самостоятельно, без какого-либо контроля со стороны.

Их работа отличалась от того, чем занимались все остальные. Большинство сотрудников компании работали в малораспространенной среде программирования под названием Rosie SQL, что для моего заточенного под Demo Szene восприятия было убийственным (или Ассемблер и Паскаль, или ничего!) А у этих парней был Delphi. Я в него просто влюбился! Наконец-то в языке программирования на первом плане были не машины, а люди. Он был создан для получения мгновенных результатов, экспериментирования и быстрой разработки прототипов. Его библиотека элементов управления окнами под названием VCL была гораздо круче всего того, что я видел раньше. Но самое главное — руководил всем этим Юрген.

Ученик программиста

Юргеном звали длинноволосого седого рокера лет пятидесяти с небольшим, который отлично бы смотрелся в какой-нибудь банде вроде «Ангелов ада». Юрген был бунтарем. Он отказался соблюдать принятые в компании требования к одежде и не стеснялся в спорах с людьми говорить открытым текстом, когда они были неправы. И, несмотря на все это, Юрген пользовался всеобщим уважением. Я изо всех сил старался обратить на себя его внимание, даже позаимствовал руководство по Delphi и в перерывах между доставкой кофе выучил его наизусть.

В то же время я продолжал ходить в училище по пятницам, был два раза в двухнедельном учебном отпуске и сдавал экзамены. Учиться так мне нравилось гораздо больше. Я чувствовал себя на своем месте. Благодаря тому, что я все время крутился вокруг Юргена и его ребят, я выучил основы профессии. Еще мы учили алгоритмы, «О» большое и так далее, даже основы паяльных и электромонтажных работ.

Оказалось, что мои проблемы с учебой на самом деле никакие не проблемы — просто я практик. Я не мог понять или найти решение для тех задач, с которыми раньше никогда не сталкивался. В училище все было по-другому. Я знал, о чем шла речь, понимал проблемы, которые мы решали. Я уже был в таких ситуациях. Это было классно! Мое чувство собственного достоинства и уверенность в себе росли с каждым днем.

Мой план срабатывал.

По прошествии первого года Юрген взял меня к себе, в свою маленькую, обитавшую в подвале команду. Наверное, это было самое важное событие в моей профессиональной карьере. Юрген был первоклассным учителем. Он создал такие условия, в которых было спокойно и легко работать все 10 лет. Именно этот метод и те же самые условия я и пытаюсь изо всех сил воссоздать здесь, в Shopify.

Почти каждый день, приходя на работу, я находил распечатку кода, который написал днем ранее, с пометками красным маркером: либо идиомы у меня были не очень, либо можно было выбрать абстракции получше, либо как-то поаккуратнее намекать на архитектуру системы в целом. Это научило меня не показывать эго в своих кодах. Всегда найдется что-то, что можно доработать и улучшить, поэтому такая обратная связь была для меня подарком.

Я помню, как мы разрабатывали программное обеспечение для GM. Одному дилеру была нужна более быстрая система оценки стоимости поступающих подержанных автомобилей — существенное конкурентное преимущество. Юрген отдал этот проект мне. Для сдачи проекта мы с Юргеном должны были поехать к этому дилеру, причем поездка заняла бы целый день. Когда проект еще готовился, компания выделила мне деньги на покупку костюма. В конце концов, мы же работали на Siemens, и нужно было выглядеть соответствующе.

За день до установки Юрген как бы вскользь говорит мне, что ему нужно куда-то уехать по делам, и к дилеру я поеду один. Я страшно расстроился, но каким-то образом сумел произвести хорошее впечатление, и все заработало как надо.

Эта ситуация повторялась постоянно. Юрген знал мою «зону комфортности» и создавал ситуации, когда мне приходилось чуть-чуть выходить за ее пределы. Я преодолевал эти трудности методом проб и ошибок, выполняя свою работу и непосредственно применяя на практике теорию, которую преподавали в училище, и у меня все получалось.

Мой диплом не признан в Северной Америке, поэтому формально считается, что я просто бросил школу. Мой соучредитель в Shopify имеет степень кандидата наук, и мы любим шутить, что в среднем у нас на двоих степень бакалавра.

Не степени сейчас важны, значение имеет опыт. Вот чему меня научило мое ученичество и двойная система среднего профессионального образования: самые важное в жизни — это получение опыта и быстрое приобретение знаний. Если владеть этими навыками, можно самому создавать для себя невероятные ситуации и раз за разом выходить из них победителем.

Пожалуй, самое главное, что дала мне моя программа обучения, — это хорошее преимущество на старте. Если бы я пошел в университет за дипломом кандидата наук, как мой соучредитель, я бы, НАВЕРНОЕ, еще его заканчивал. Вместо этого в свои 32 года я уже почти половину жизни получаю деньги за разработку сложного программного обеспечения.

Это очень серьезное преимущество, и благодаря двойной системе среднего профессионального образования получить его может практически любой студент в Германии. По последним данным, система ученичества предлагается для 356 различных профессий и областей профессиональной деятельности: от парикмахеров и строителей печей до различных специалистов в области компьютерного программирования. Для практиков или кинестетиков, как я, программа ученичества — это реальный шанс на успех.

Для меня это были идеальные условия. Я многому научился и бесконечно благодарен судьбе за то, что выбрал именно этот путь. Жаль, что подобного выбора нет у студентов в тех странах, которые пытаются сократить количество молодых людей, бросающих школу, и создать для них рабочие места.

Ученик программиста

Цитируется блог Тобиаса Лютке too-biased. Публикуется с письменного разрешения автора.

Оригинал статьи опубликован в блоге too-biased.

Перевод на русский выполнен ABBYY Language Services.



Оставить комментарий