XIAG AG

Блог о жизни и принципах работы компании XIAG.

Владислав Малахин о задачах разработчика

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

За что ты зацепился, когда в первый раз пришёл в компанию?

Начну с начала. Я спокойно сидел на фрилансе. У меня в месяц выходило очень неплохо — был один заказчик с несколькими большими проектами. Всё было хорошо, пока не понадобилось глобально всё переделать:  начинала расти нагрузка, появились проблемы. Я попробовал и понял, что не могу это сделать, получается какая-то ерунда. Я подумал, что самый простой способ научиться  —  пойти куда-нибудь, где тебя научат. Я хотел услышать: «Парень, ты очень-очень глупый. У нас в компании все гораздо лучше». Я думал, что вот туда надо идти, там меня всему научат. В этот момент я начал искать работу. Даже не с целью уйти из фриланса, а просто посмотреть, чем закончится. 

Пошёл искать работу с требованиями по зарплате на уровне джуниора. К сожалению, оказалось, что найти работу за эти деньги очень тяжело: никто не хочет платить белую зарплату и чтобы ты работал только 8 часов . В итоге, оказывалось, что ты должен был работать 6 дней в неделю и больше 8 часов. При этом в таких компаниях собеседования обычно проводят директора и в то время, когда у всех раздолбанные компьютеры  —  у него макбук. И судя по виду, он забежал только на собеседование. Очень плохие впечатления от таких компаний. Решил изменить подход и написал зарплату в три раза больше. Это была очень хорошая зарплата на тот момент, но предложения стали гораздо более адекватные. Удивительно, но в этих компаниях никто не назвал меня дебилом. Через пару месяцев работы в XIAG решил, что фрилансить больше не хочу. 

Тяжело было перейти с фриланса?

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

После фриланса изменилось почти всё, здесь мне открылись совершенно другие подходы. Каждый программист проходит в своей жизни тот момент, когда он пишет свой фреймворк или собственную CMS. В какой-то момент я начал подозревать, что не надо было этого делать, наверное, есть более хорошие решения. И здесь я окончательно от этого отошёл, понял, как надо. На тот момент тут уже было тестирование, которым я не занимался до XIAG. Выглядит так, что как будто я даже не подозревал об этом. 

На что смотришь на собеседованиях и какие люди вам подходят?

У меня очень плохо с теорией. Но у меня достаточно много опыта  —  не смогу объяснить красивыми словами, но знаю, какие бывают проблемы, как их решать. На собеседовании я задаю вопросы, исходя из тех проблем, которые сам решал. Я не буду просить расшифровать принципы SOLID. Когда даёшь конкретную проблему, сразу видно, куда человек начинает копать. Кто-то сразу останавливается на PHP: можно использовать эту функцию, или эту. И дальше PHP не уходит, а то, что может тормозить диск, базы данных, сеть — им неизвестно. Они не в курсе в принципе об этом. Абсолютные единицы говорят, что может быть эта задача  — косяк менеджера. «Проверьте, что действительно тормозит»  —  с этого надо начинать. Потому что есть менеджеры, которые не представляют вообще как прокси работают. Им сказали «всё плохо», они пишут: «Всё плохо  —  сделайте хорошо». Надо начинать с проверки задачи: удостовериться, что проблема есть. Единицы, кто про это вспоминает с самого начала и обычно эти люди работают у нас на высоком уровне.

Часто приходят люди, которые знают только свою технологию и вокруг ничего не знают  —  это странно. Обычно наша оценка уровня таких людей не совпадает с их внутренним ощущением. Язык они знают на отлично, но забывают о необходимости знания окружения и соседних технологий. Часто дают однобокие ответы  —  вокруг одной темы. Проблема в том, что у нас не бывает таких задач. В большинстве случаев ты должен понять задачу, поговорить с менеджером, получить полное описание проблемы. Возможно это будет связано и с бэкендом, и с фронтендом, и с дизайном. Если ты не знаешь фронтенд, то хорошо, но ты всё равно должен будешь разобраться с тем, кто знает, чтобы он помог. У нас задачи включают всё. Очень плохо, если ты вообще не знаешь окружение: Git, Vagrant, NPM, RabbitMQ и так далее.

Как выбираете технологии и на что делаете акцент?

Менеджер ставит цели, сроки. Мы ищем подходящий инструмент. Совсем новые технологии мы не берём в production. Во внутреннем проекте ещё можем побаловаться, но клиентам на необкатанной технологии писать не будем.

У нас есть проект, где менеджер нам рассказывает, что для решения этой задачи отлично подходит первая Magento, плюс у нас куча готовых модулей. Грубо говоря, у нас уже почти всё готово  — берите, делайте. Мы так подумали: «Мы не будем это брать. Технология уже не поддерживается, лучше потратить больше времени и сделать нормально». Есть ещё один большой проект, которому уже больше 10 лет. В какой-то момент приходилось много переделывать, но у нас никогда не было задачи его переписать. Скорее появлялись задачи, когда мы понимали, что легче уже написать с нуля. Но когда появляется большая задача, где надо либо разработать с нуля, либо значительно изменить функционал — всегда думаем, какую технологию можно использовать. Возможно, в этом месте следует использовать уже другой подход, а не тот, что был много лет назад.

У нас есть рефакторинг и тесты. Плюс XIAG в том, что это обязательно и сразу закладывается в задачу. У тебя тут нет возможности писать плохой код  —  его не примут. Клиент это оплачивает и знает об этом. Ни раз клиент сначала отказывался, а потом возвращался. Говорил: «Мы нашли гораздо дешевле. И они нам не за год, а за два месяца сделают». Через 2 месяца возвращался: «Год так год».

X-Meet: Как бороться с растущей энтропией и багами в проекте при командной разработке

Андрей Рублёв, Front-end Developer, Tinkoff Bank.
Исходя из своего опыта работы в крупных продуктовых компаниях, Андрей рассказал нам, как бороться с растущей энтропией и багами в проекте при командной разработке. Доклад предназначен для разработчиков с опытом до 4 лет. Презентация: http://anru.me/gop-talk/#1.

Максим Гнатенко о подходах к разработке и разработчикам

Максим — невероятно харизматичный и открытый человек, совмещающий в себе навыки талантливого программиста и бизнес-аналитика. За 13 лет работы в компании он стал уникальным специалистом, умеющим находить гармонию между разработкой и бизнесом. Смотрите полную видео-версию, читайте самое интересное.

Ты являешься одним из ведущих разработчиков XIAG. Как ты попал в компанию?

Получилось немного странно, что я вдруг оказался одним из ведущих разработчиков. Я себя совсем так не чувствовал ни тогда, ни сейчас. Я больше чувствую, что мне повезло. Всё-таки моё профильное образование  — это электроника, и сейчас я часто понимаю, что мне не хватает фундаментальных знаний. Более-менее меня всегда тянуло к программированию, а XIAG  —  то место, в котором я смог этому научиться. С самого начала вокруг были люди, которые учили и сейчас для меня много значат.

Получилось так, что реально программистом я стал в XIAG и так никуда отсюда не делся. Хотя в принципе считается, что для эффективности рекомендуется менять место работы и вообще в современном мире все динамично куда-то двигаются, развиваются. Но у меня так получилось, что я развиваюсь в одном месте. То, что мы делали 10 лет назад в XIAG, совсем не то же самое, что мы делаем сейчас. Компания росла вместе с индустрией. Во многом это плюс менеджмента, который понимает, что если мы не будем двигаться, то никуда не придём. Мы не отставали и всегда были в духе времени. Было интересно, когда в Интернете появлялись новые фишки и мы их сразу внедряли в реальные проекты и процессы разработки.

Ты уже более 10 лет в компании…

Ужас.

Как изменились процессы за это время?

Первым приоритетом всегда были клиенты. Они хотят, чтобы мы не баловались своими игрушками, а решали бизнес-задачи. И если появляется какая-то технология, обещающая удешевить разработку или сделать приложение качественнее, то мы её внедряем. Например, сейчас все хотят, чтобы всё было динамично, как в мобильных приложениях и чтобы веб был отзывчивым для пользователя. Поэтому нам нельзя уже делать по старинке. Особенно это было заметно несколько лет назад, когда стали появляться все эти JS-фреймворки. Мы всегда использовали технологии по назначению: правильная задача  —  правильный инструмент. Я не имею ничего против работать по-старому,  как раньше работали сайты. Это было красиво, просто, надёжно, но не так удобно для пользователя, когда страница перегружалась целиком на каждый чих. 

При этом процессы изменились. Компания растёт по-тихоньку. Хорошо, что не быстро:  мне нравится работать в маленькой компании. Но она растёт. Поэтому если раньше было ядро, где испытывались новые технологии, а потом это распространялось другими разработчикам, то сейчас, наверное, есть несколько центров притяжения. Наш вызов сейчас  —  передавать знания друг другу между командами. В повседневной жизни мы общаемся меньше, чем раньше. Раньше мы знали все проекты наперечёт, сейчас их больше. Но процессы таковы, что новые технологии внедряются. Как? Появляются вопросы, задачи, и тогда мы ищем хороший инструмент. 
В IT-индустрии что происходит? Очень быстро меняется стек технологий. То, что несколько лет назад считалось чем-то новым и многообещающим сегодня вдруг уже устарело, помечено галочкой «deprecated» и не развивается — значит нам надо искать что-то ещё. 

Плюс того, как всё построено в XIAG, здесь нет догматического мнения, нависающего над всеми: мы используем такой-то фреймворк или у нас принят такой-то язык. Движение обеспечивается тем, что есть определённая свобода выбора в технологии. Понятно, что здесь нельзя идти в другую крайность, когда ты хватаешься за всё новое. Клиенты не должны оплачивать нашу игру с технологиями. 

Есть мнение, что современные разработчики с опытом 2-3 года по факту знают только современные технологии без фундаментальных знаний и по сути находятся далеко от программирования.

Я это замечаю. К сожалению, хороших программистов найти очень сложно. Нам не нужен человек, который думает «Я — PHP-программист» или «Я — JS-программист». Нам нужен человек, который имеет правильное отношение к IT-миру : он готов решать задачи, используя нужные инструменты. Освоить язык программирования —  это можно и не составляет труда. Нужно только понимать в какую сторону двигаться. Мне даже кажется сейчас, что получить готового хорошего квалифицированного программиста безумно сложно. Есть конечно и экономическая составляющая: мы не готовы платить безумные деньги. Это будет странно по отношению к остальной команде и экономически неоправданно. С другой стороны брать на работу неквалифицированных ребят  —  нам же дороже, потому что мы тратим время квалифицированных людей на обучение, затормаживаем проект. В итоге разработка становится медленнее и качество наших решений страдает. Если в команде есть люди, которые не понимают определённые технологии или подходы  —  мы вынуждены их не использовать. В итоге у нас будут не такие интересные и качественные результаты работы и это приведёт к тому, что к нам не придут люди, которым интересно делать умные вещи. 

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

Нужно как-то разглядеть на собеседовании эту способность правильно думать и учиться. За всё время, пока мы собеседовали, не было ни разу такого, что пришла звезда и мы сказали: во, ничего себе, мы хотим у него научиться! Почему-то нет таких людей: я не знаю, где они. Я помню примеры, когда человек присылал тестовое задание  — оно было супер-переусложнено. Мы хотели отказать, но всё-таки взяли этого человека и сейчас он классный: делает решения очень хорошего уровня. Мне кажется собеседования — это всегда гадание.

Вообще я встречался в людьми с «сильным мнением», которые знают, как правильно  —  это плохо. Даже лучшие в индустрии не знают, как правильно. Человеческий разум всё-таки несовершенен. Я видел людей, которые делают потрясающие вещи и могут в уме придумывать обалденные алгоритмы, но даже они скромные. Когда человек настолько самоуверен  — он становится закостеневшим, не готовым расти. Очень хорошо, когда человек сохраняет открытость, несмотря на опыт и знания. Признаёт свои ошибки, понимает, что можно сделать совсем по-другому.

Как раз хотел задать тебе вопрос, с кем приятно работать.

О да. Очень приятно работать с людьми, которые мыслят нестандартно  —  совсем не так, как я. Поставишь задачу и человек задаст такой вопрос, что ты сразу посмотришь на неё вверх ногами. Часто это помогает выйти из тупика. Приятно работать с людьми, которые сами по себе скромные. В то же время умные, образованные, чтобы быть с ними на одном уровне. Ещё моя мечта и моё желание  —  работать с людьми, у которых я могу учиться. Чтобы я не был самым лучшим  —  королём-оленем, который говорит всем, что делать. Не хочу быть в этой роли, потому что тогда я — потолок для всех, а мне расти некуда. Это самая неприятная ситуация, которая может случиться с программистом, когда он становится лучшим в команде. Тогда ему надо уходить, я думаю. Но это моё личное мнение  —  может кому-то так комфортно. Я бы хотел не останавливаться.

Какие требования обычно выдвигаешь к людям?

Формально у меня нет таких требований. Ты хочешь спросить, с кем я точно не хочу работать? С человеком, который не двигается. Если его решения остаются на одном уровне в течение месяца-двух. С другой стороны, часто бывает, что у таких людей есть другие сильные стороны. Допустим, внимание к деталям, въедливость и кропотливость в исследовании каких-то ситуаций, тестирование, документация, хороший русский или английский язык. В компании есть такая вещь, что даже если человек не дотягивает в программировании  —  мы стараемся найти ему место, чтобы он мог применять свои сильные стороны. Потому что есть очень разная работа и не все хотят быть на передовой в технологиях. 

Какими проектам ты занимаешься?

Сейчас так получилось, что я работаю над проектом, для которого я писал логин-форму в первый день своей работы, 13 лет назад. И это очень интересно посмотреть, во что превратилось то, что я когда-то начинал. Вообще, работая в компании, я переходил из проекта в проект. Это одно из преимуществ работы здесь :  мы можем кардинально менять то, чем занимаемся. Были проекты, которые просто заканчивались и я переходил на другой. Были проекты, куда я попросился сам. Это, наверное, тот самый европейский менеджмент в компании, что руководство понимает: работники должны быть счастливы от того, что делают. Иногда до смешного доходит, как сильно защищаются программисты от давления реального мира :  от психованных клиентов, от жёстких сроков. Ваша задача  —  заниматься своими делами и быть счастливыми. С одной стороны, это выглядит смешно немножко, с другой, это правда создаёт классную атмосферу. 

Последние 2 года я работаю над проектом, от которого меня прёт (Речь идёт о проекте HOGASHOP: https://www.hogashop.ch  —  прим.ред.). Я пришёл туда, когда он был в плохом полуобразованном состоянии: старый легаси-код и так далее. При этом он очень востребованный: он приносит доход своим владельцам и есть люди, которые пользуются им ежедневно. Поэтому все изменения приходят прямо в руки к людям. Твоя работа становится нужной и от этого очень приятно. Ребята ездили в Швейцарию, заходили в эти больницы, рестораны, видели, как люди используют приложение. Подглядывали, что лучше изменить. 

Есть примеры проектов, которые ты считаешь важными для общества?

Ты задаёшь глобальный вопрос. Всё, что мы используем в повседневной жизни, очень изменило всё. Те же карты, на которых мы ищем ближайшую столовую. Наши мобильные телефоны, которые обеспечивают огромный информационный фон. Весь этот 21 век мне очень нравится своей информационной составляющей. У нас на кончиках пальцев целая куча информации. Тебе не нужно идти и записываться в библиотеку, 2 часа искать что-то. Ты просто говоришь: «OK, Google. Какая птица обладает зелёным оперением?». Даже то, что мы с тобой сидим, разговариваем (Интервью проводилось удалённо — прим. ред.)  —  это круто.

Каковы критерии качества, которые ты выделяешь при создании продуктов?

Я как программист люблю делать красиво. Но это красиво не видно снаружи. Над нами смеются, что у нас там радуги, единороги пляшут, а вот она реальная жизнь. Она совсем не такая красивая. С одной стороны, приятно сделать красивую архитектуру, которая будет легко меняться, будет понятна. И я считаю, что сделать решение не сложным  —  для этого нужен очень большой талант. Но важная тема, которую многие разработчики упускают  — попробовать использовать свой продукт самому. Будет ли комфортно? Я считаю, это и есть критерий качества. Он в себе аккумулирует и быстроту взаимодействия, и качество интерфейса, и данные, которые ты видишь.

Часто происходит постановка задачи и мы делаем. Потом смотрим код: всё отлично, всё обсудили, вылизали все решения. Потом открываем это в виде готового продукта и понимаем: неудобно, вот здесь не подумали, а это вообще странно. Так и возникает качество. Людям IT само по себе не нужно ,  им нужно решение задачи.

Интересно то, чем мы занимаемся как программисты в XIAG:  в самом начале проекта мы вникаем в бизнес-процесс клиента. И мы понимаем, как работает чей-то бизнес, если нам дали всю информацию. Талант менеджера предоставить всё это и дать достаточно информации о том, как всё происходит в реальной жизни. Ни в коем случае не надо говорить, как это сделать  —  нужно рассказать о реальной жизни и задачах. Клиенту тоже нужно показать наши процессы, объяснить, почему мы тратим время на то и другое. 

Например, взять рефакторинг. Часто решение, которые мы делаем итеративно приходит, потому что клиент часто не знает, что он сам хочет в конце. Мы, как профессионалы, можем предложить направление. У нас в XIAG какая штука: никогда не бывает жёстких спецификаций. Когда ты заказываешь дом, ты не говоришь в середине постройки, что я хочу, чтобы этот дом ещё летал. А в программировании это так.

Как вы работаете над проектами?

Обычно у нас занимает лидирующую роль человек, который заинтересован. В чём он заинтересован:  в собственном росте или попробовать новые технологии за счёт клиента или ему нравится продукт  —  это его дело. Ещё очень важный момент: как человек относится к работе, что он делает. Спросишь: «Ты чем занят?». Он ответит: «Я пишу алгоритм». А другой ответит: «Я делаю систему». Если ты представляешь целиком картину, то ты можешь вести проект и объединять вокруг себя людей. 

Что касается процессов, то недавно мы стали читать код, который мы делаем. Моё твёрдое убеждение :  я хочу, чтобы кто-то читал мой код. Я помню, что несколько лет назад про программистов говорили: «Вы любить только писать, а читать чужое не любите. Из-за этого пишите что попало». Сейчас у нас этого нет совсем: мы хорошо обсуждаем, что делаем. Если человек сделал что-то плохо  —  он это не покажет никому, потому что знает, что получит критику.

Что тебя вдохновляет в современной IT-сфере? Например, искусственный интеллект.

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

Андреас Граф: «Бизнес — это история о людях»

Андреас является основателем и руководителем XIAG. Несмотря на большой опыт в управлении, для него остается важным получать радость от работы и создания сложных решений. Совмещая в себе инженерное мышление и развитое бизнес-чутьё, он смог собрать вокруг себя людей, которые могут тянуть одну верёвку и предоставлять клиентам качественный подход.

Как можно представить Вашу повседневную жизнь в качестве руководителя?

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

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

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

Какие непосредственно задачи Вы решаете?

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

Что касается работы с людьми, то здесь моя задача — организовать команду, чтобы достигать цели компании. И вести её, чтобы люди могли вместе работать. Поскольку у нас плоская иерархия, я стараюсь быть как можно ближе к проектам и знать, что происходит. Например, я приезжаю в Россию 2—3 раза в год: встретиться с людьми и обсудить проекты, планы. Также это помогает скорректировать момент, когда мы делаем вещи, не соответствующие потребностям клиента. Мы постоянно работаем со многими технологиями, но быть на месте клиента — это другое. Нужно постоянно менять точку зрения.

Как Вы начали карьеру?

У меня инженерное образование в области разработки ПО. После учёбы я начал работать в качестве разработчика в крупном швейцарском банке (Assembler, PL1). Мы делали инструменты для разработчиков (Software Lifecycle), подобно сегодняшнему Git и другим инструментам для развертывания. В то время мы делали клиент-серверное приложение, которое было основано на разных платформах и технологиях. Оно было похоже на сегодняшние очень сложные решения.

Затем я работал в большой страховой компании: отвечал за создание своего первого веб-сайта. В качестве веб-сервера мы использовали очень раннюю версию Netscape.

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

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

Затем я стал техническим директором www.search.ch — первой швейцарской поисковой системы. Когда мы начали, Google еще не существовал. Мы быстро стали самым посещаемым сайтом в Швейцарии. Затем Google становился всё больше, и нам пришлось подумать о том, что мы можем ему противопоставить в наших дополнительных функциях. Мы объединили телефонную книгу, карты и т. д. Но Google рос всё быстрее и быстрее.

Как вы основали XIAG?

В конце 90-х разрастался пузырь «доткомов». Было очень сложно найти хороших разработчиков. В то время мой друг связался с Андреасом Бухером (прим. ред. Один из основателей XIAG), который был в Академе — «Silicon Taiga». Было известно, что здесь есть хорошие разработчики. Мы попробовали сделать небольшой проект (приложение для поздравительных открыток). Я был очень доволен, а затем мы начали разрабатывать решения для search.ch, который затем был продан.

В то время я решил, что благодаря знаниям и опыту мы сами должны разрабатывать и управлять решениями и порталами на online-рынке в Швейцарии. Это было в 2000 году. С тех пор мы растём медленно, но верно. У нас очень привлекательный список клиентов. Мы создаём сложные решения и порталы.

Какие были ожидания в начале основания компании?

Когда я начал, первой целью было разрабатывать интересные решения. Не хотелось начинать в стиле «Einmannfirma» (прим. ред. Фирма с одним человеком), а хотелось работать с командой. Потому что только так можно было работать с большими проектами и клиентами. Здесь был большой риск, так как это требовало больших вложений. Я потратил все свои сбережения и много ночей не очень хорошо спал: приходилось постоянно думать о том, что нужно платить зарплату. Себе я платил очень мало. Также я чаще всего вставал в то время, когда начинался рабочий день в России. Это было довольно сложно.

Ожидания заключались в том, что можно быстро найти клиентов и ослабить эту ситуацию: это было очень изматывающее состояние. В это время разразился пузырь-доткомов, интернет-бум закончился. В первое время это был больше вопрос выживания. То что сотрудники так далеко—также не облегчало жизнь. Поездки в то время были также трудными. Оглядываясь назад, невероятно, как это всё развилось за 18 лет.

Какие процессы в компании наиболее важны?

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

Нам важно, чтобы клиенты нас уважали, а мы могли бы дать им стабильность. Поэтому нужны процессы, где люди могут долго оставаться в команде и развивать проект.

Можно ли назвать долгосрочные отношения с клиентами европейским подходом?
Это не совсем европейский подход. Раньше клиенты хотели купить подешевле и сразу получить готовый продукт. Но как оказалось разработка софта — это более долгий процесс и здесь важно развивать продукт. Здесь в большей мере влияет опыт всей индустрии: нужно постоянно развивать продукт и для этого важно иметь надёжных партнёров.

Работа команды — это не фиксированный результат, а как в Agile-методологии, где оценивают не за конкретный результат, а за процесс. Поэтому в долгосрочной перспективе подход «купить готовый продукт подешевле» не приносит успех.

Какие важные уроки Вы сделали за свою карьеру?

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

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

Что помогает принимать решения?

Я много читаю и все анализирую. Мне также нравится обмениваться идеями с другими людьми по разным вопросам, узнавать их мнение и оценку. Из всей информации и опыта развивается «чутье». Бывает оно обманывает, но всё-таки гораздо реже, чем решения, основанные на чётких критериях, которые часто являются неполными.

В чём заключается успех для Вас?

Успех — это ставить большие цели и достигать их. На работе или в жизни. Для этого нужно каждый день делать лучшее, что можешь. Неудача — когда вы оглядываетесь назад и видите, что не достигли целей, потому что не сделали всё возможное для этого.

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

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

Какие книги вы можете порекомендовать?

«Максимум. Как достичь личного совершенства с помощью современных научных открытий». Талант — только начало. Превосходство и успех должны быть усердно проработаны и этого могут достичь большинство людей. Авторы: Андерс Эрикссон, Роберт Пул.

«Проект “Феникс”. Роман о том, как DevOps меняет бизнес к лучшему». Книга о проблемах компании, которые возникают между бизнесом, маркетингом, операционными задачами и развитием. Авторы: Джин Ким, Кевин Бер, Джордж Спаффорд.

Автор: Кристина Головко.

XIAG http://www.xiag.ru
Вакансии http://www.xiag.ru/career/vacancies

X-meet: Функциональное программирование

Роберт Губин, Scala Developer at 2GIS

Тезисы
— Что такое функциональное программирование и зачем оно нужно.
— Составляющие функционального программирования.
— Как начать функционально программировать?

Материал к встрече: https://medium.com/@gubinrobert/о-фп-в-целом-dd48eafd12ca.
Если у вас остались вопросы к выступающему — можете писать в комментариях.

XIAG http://www.xiag.ru
Вакансии http://www.xiag.ru/career/vacancies

#Жизнь_XIAG | 7 июня 2018 года

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

Мы успешно открыли летний сезон: катались на вейке, прыгали на батуте, купались и жарили шашлыки на природе.

Вейк

Сначала нам проводил инструктаж опытный тренер по вейку. Затем мы отплывали на катере и катались на вейке. Пока одни катались, другие прыгали на спортивном батуте.

Айкидо

Некоторые попробовали себя ещё и в айкидо. Все были открытыми и не побоялись после рабочего дня немного напрячь мозги. Как отметила тренер, все показали боевой и уверенный образ мышления.

И самое главное — общение с коллегами на природе в уютной беседке.

Фото: Булат Хромов.
Отчёт: Кристина Головко.

XIAG http://www.xiag.ru
Вакансии http://www.xiag.ru/career/vacancies

Принципы управления Норберта Шотта

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

Как ты попал в компанию?

Я жил в Новосибирске: это связано с тем, что у меня здесь жена. Мой знакомый был руководителем XIAG до меня. В один прекрасный момент он решил уехать и спросил меня: «Хочешь продолжать то, что я делал?». Мне хотелось, потому что компания прошла основные детские болезни международных компаний: например, что нельзя делать акцент на то, что здесь дёшево.

Я до этого работал в международной компании по автоматизации металлопрокатного производства. Там думали: «Россия—дёшево, всё круто». Им казалось, что «если мы русским повысим зарплаты на 3%, то они будут также рады, как немцы». Но была большая утечка кадров. Уже третий раз повышаешь зарплату на 3%, а люди уходят.

Детские болезни здесь уже прошли. Уже был организован поток работы, была готовая система. Здесь и изначально не было идеи сделать подешевле. Основная идея, что здесь качественно. Мне это понравилось, я сказал: «Это, наверное, моё место».

С чего начинался XIAG?

Я не с самого начала в компании, но знаю, как всё происходило. Были двое молодых людей: один работал в Швейцарии в стартапе, другой был здесь доцентом в НГУ. Там не хватало разработчиков, потому что тогда был первый интернет-пузырь. А здесь в конце девяностых был кризис и люди были очень рады хоть что-то полезное делать и за это ещё получать деньги. И они решили: «Давай ты в России ищи хороших людей, а я дам хорошие, интересные задачи».

Тогда популярность веб-программирования для разработчиков была не очень высокая, потому что интернет представлял простые страницы: как сегодня мы их называем «веб-визитки». Я любил ещё проводить сравнение (особенно для людей, которые в программировании ничего не понимают): веб-разработка для многих программистов как для архитектора строительство гаражей. На это смотрели не очень хорошо. А здесь люди хотели работать. На этом всё и основалось — здесь были мотивированные люди.

Начали делать, первые эксперименты были удачные. Потом расширились и стали разрабатывать не только для этого стартапа, но и для других проектов. Сначала действительно делали веб-визитки. Если сейчас посмотреть первые проекты, то это даже смешно, что мы тогда делали и ещё гордились этим. Сейчас проекты, конечно, намного сложнее.

Смотря на XIAG и на ваши традиции, я не поверю, что ваша история просто про бизнес. Что изначально хотелось привнести в компанию?

Основное — это желание основателей и сотрудников делать так, как мы сами хотим жить и работать. Если собственный бизнес, то можно его так вести, чтобы тебе было радостно жить. И без всяких: «Ой, у меня работа», и так далее. У нас есть то, что нам нравится в принципе, в самой жизни. В соответствии с этим компания и строится. Например, у нас плоская иерархия — тимлидом может стать любой, в зависимости от активности и знаний. Любой разработчик, если у него есть какое-то сомнение или вопрос, может напрямую сказать об этом руководству.

Или ещё мы не любим «великие догмы» — это как раз связано с тем, что так мыслит основатель. Например, мы используем SCRUM, но не делаем из этого религию. Это не было так, что мы делали брэйншторминг и вывели мантру: «Давайте не любить догмы». Оно само так вышло.

Какое главное качество компании?

Прагматизм — это самое главное в нашей компании. И «efficient», не знаю, как будет по-русски. Есть слово «эффективный», но это когда ты из огромной пушки стреляешь в бутылку и бутылки нет — эффект есть, но не «efficient».

Недавно мы делали видео для одного проекта. Мы долго мучились с этим видео — 2 года искали, с кем это делать. В итоге мы вышли на несколько компаний, встретились. Они все высылали нам PDF-ку на 10 страниц всякой ерунды. Но я не почувствовал в этой PDF-ке, что мы встретились. Это был какой-то стандартный оффер. Я свои желания в этом предложении не увидел.

Потом пришёл один наш сотрудник порекомендовал друга. Поскайпили 40 минут и он мне в ответ выслал документ в формате Excel в полстраницы чистого текста. В этой полстранице я увидел, что мы общались. То, что человек за 20 минут написал Excel-ку, нам гораздо важнее, чем какая-то супер-красивая PDF-ка.

Это и наш подход. Я не люблю огромные документации. Чтобы понять, как работает код, можно в него заглянуть. Мне в документации нужно увидеть, в чём особенность и на что обратить внимание. Я люблю клиентов, которым оффер можно написать в электронном письме. Менеджмент действует так же. Мы не описываем огромные спецификации. Если есть вопросы—лучше спроси.

Какие основные требования к людям в компании?

Самостоятельность. И то что в английском называется «commitment». Чтобы человек чувствовал: «Это для меня не только работа. Это наш проект, я хочу его продвигать».

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

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

Очень хорошо, что мы не гигантская компания — нас сорок человек. Мы можем найти для каждого свою нишу. Например, посадим разработчика, который не совсем может себя организовать к проджект-менеджеру, который любит SCRUM в чистом виде.

В ИТ-компаниях часто возникает вопрос, чем должен заниматься менеджер?

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

Возьмём скандальный пример с аэропортом в Берлине (прим. ред. Аэропорт строится очень долго). Те, кто установил свои стойки с новыми телевизорами — им придётся их убирать, потому что прошло уже много времени и нужно HD повесить. Те, из-за кого стройка затягивается — тоже плохо делают. Самые умные те, кто просто подготовил всё необходимое. Хороший менеджер чувствует эту линию. Но всё-таки главное следить, чтобы всем было комфортно — и клиенту, и разработчику.

Это как раз наша фишка. Мы не классический аутсорсинг и не продаём часы. Мы предлагаем команду. Есть опытный проджект-менеджер, который знает процессы — как работать с программистами, которые сидят далеко. Где их надо взять за руку, а где они умеют лучше, чем он сам. У нас как раз есть этот опыт. Это хорошо и для клиентов, и для сотрудников.

С какими сложностями встречаются люди, когда попадают в компанию?

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

Очень сильно влияет специфика универа. Здесь преподаватель говорит — все пишут. Нет никакой ответственности. В Германии это прививается в универе. Каждый сам решает даже на какие лекции ходить. И каждый сам отвечает, чтобы через 4 года были все экзамены пройдены. Но никто не говорит в каком году ты должен сдавать этот экзамен. Никто не пинает: «Тебя не было, значит не получишь диплом». Тебе это говорят через 4 года, когда у тебя уже нет диплома. Этой самостоятельности здесь не учат в универе. И потом люди сталкиваются у нас с этим: «Опа, оказывается я отвечаю за то, что делаю». Это клёво, но нужно привыкать.

Ваша компания отличается хорошо отлаженными европейскими процессами. На чём делаете акцент?

Чтобы всё было максимально «efficient». Мы смотрим, что может быть этот инструмент будет оптимален в этом случае. Даже если мы не совсем любим его, но клиент им пользуется и мы понимаем, что он ему удобен, то мы тоже будем его использовать для этого клиента.

У нас есть своя система таск-менеджмента, которая не всем нравится. Сейчас люди любят Trello — мы долго сопротивлялись, но теперь разрешаем пользоваться чем угодно. Главное, чтобы в итоге были отчёты в нашей системе. Пусть даже пишут плагины, которые автоматически переносят отчёты. Нам важен результат и прозрачность, а процесс должен подстраиваться под это.

Влияет ли российская специфика на процессы?

Процессы европейские, но мы всё равно их адаптируем под местную ситуацию. Например, здесь надо намного чаще напоминать, что всё-таки рабочее время — это рабочее время. Если делаешь вечеринку и отпускаешь всех на час раньше, то ожидают, что теперь всегда будет так. Один раз заказываешь пиццу — ожидают, что всегда будет пицца. Очень быстро некоторые вещи воспринимаются как стандарт. Быстрее чем, по крайней мере, в Швейцарии. С другой стороны, и нам пришлось привыкать, что здесь инфляция другая.

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

Я всегда привожу пример: в Швейцарии есть закон, что если человек переезжает из одной квартиры в другую, то он получает день отпуска за счёт работодателя. В России есть закон, что если праздник попал на выходные, то его отпразднуют в понедельник. Хорошо, пусть будет как в России, но мы не можем комбинировать: сделать выходной и на праздник, и на переезд.

Ещё одна сторона, которая чувствуется в вашей компании — это семейность.

Это уже мой акцент и тот принцип, который я создал. Я видел, что в этом мы можем отличать себя от других компаний. Так вышло, что у нас очень много молодых пап. К нам часто приходят люди, которые уже прошли фриланс и в этом наша фишка — мы можем предоставить стабильность, чёткое рабочее время. Я считаю это хорошим подходом для компании и мне самому так комфортно жить.

Я знаю, что ты очень активный человек. С чем связаны твои активности?

Интересно, просто интересно. Я организую немецкие встречи в Новосибирске, делаю Рождественский базар. Являюсь активным отцом в детском садике, завтра должен буду петь песню «То ли ещё будет». Также являюсь членом правления ТСЖ в доме: почему-то единственный немец в доме пишет протоколы для всего дома — идиотизм, конечно. В этом есть и свои плюсы — влияние. Однажды собирал деньги на детскую площадку — ходил по квартирам. Потом сами её и строили. Всегда интересно, с кем познакомишься в ходе таких встреч. И где-то вдруг эти контакты становятся нужны, хотя я не делаю это ради контактов.

Автор: Денис Нуштаев

XIAG http://www.xiag.ru
Вакансии http://www.xiag.ru/career/vacancies