Интервью Гаэля и Скота Хансельмана

Всем привет! Я хочу анонсировать и пригласить резидентов Москвы и Питера посетить бесплатные вечера и мастер-классы с автором одного из наиболее мощных АОП фреймворков для .Net — Гаэлем Фрётэром.
Встречи пройдут 11-13 марта в Москве и 16-17 марта в Питере. Еще раз повторюсь мероприятие бесплатное, но необходимо зарегистрироваться. Более подробно агенда представлена здесь

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

HM

СКОТТ ХАНСЕЛЬМАН: Всем привет, это Скотт Хансельман (Scott Hanselman) и в эфире новый эпизод Hanselminutes. Сегодня, с помощью магии скайпа, с другого конца мира, мы поговорим с Гаэлем Фрётэром (Gael Fraiteur) из SharpCrafters, создателем PostSharp. Привет!
ГАЭЛЬ ФРЁТЭР: Привет!
СКОТТ ХАНСЕЛЬМАН: Я очень рад, что сегодня могу поговорить с тобой. Я твой поклонник и нам предстоит многое обсудить. Сегодняшняя беседа входит в цикл бесед о стартапах и ты как нельзя лучше подходишь для этого. Ты человек из мира открытого ПО, и создал программу которой я пользовался для своих открытых проектов, но теперь ты построил на этом целую компанию. И я хочу понять почему ты сделал это? Затем мы немного обсудим сам продукт и его будущее. Итак, ты можешь начать с рассказа что за программу ты создал.
ГАЭЛЬ ФРЁТЭР: Мы создали PostSharp – это дополнение к компилятору, которое запускается после сборки проекта или, другими словами Аспектно-Ориентированный фреймворк. Его задача заключается в том, чтобы вы, как программист, создавали меньше тупого повторяющегося кода. Для примера можем рассмотреть такую штуку как реализацию уведомления об изменении свойства. Каждый раз для её использования вам надо написать три строчки кода. Эти три строчки кода – мелочь, но мелочь, которая должна быть реализована для каждого свойства в каждом классе, и они превращаются в тысячи строк кода. Можно обнаружить, что вы пишите реализацию по определенному шаблону и это приводит к лучшей реализации INPC. Наш инструмент позволяет реализовать этот шаблон так, что код будет генерироваться автоматически и не загрязнять исходный код. Это суть подхода PostSharp и аспектно-ориентированного программирования (АОП).
СКОТТ ХАНСЕЛЬМАН: Хм, аспектно-ориентированное программирование. Я слышал про него в рамках решений для сквозного функционала. Можно сказать, что люди думают вертикально при объектно ориентированном подходе: это наследуется от этого, вон то от другого. Но АОП, как например логирование, не вписывается в такую вертикальную иерархию. Оно прошивает эти иерархии через всё приложение. Я в верном ключе описал АОП подход?

Подробнее

Интервью

На днях давал интервью для Люксофт, думаю, что читателям блога это будет тоже интересно =)

Как давно Вы работаете в Luxoft?

Официально в Люксофт я работаю с середины февраля 2013. До этого меня пригласили побеседовать по поводу вакансии архитектора, на каждом этапе я не терялся и активно рассказывал о блоге своем, о желании нести доброе вечное светлое, наносить непоправимое добро в массы. Особенно сильно я замучал Андрея Стукаленко, который и предложил мне попробовать себя в качестве тренера в центре обучения Люксофт. А вакансию архитектора на которую я претендовал просто сняли потом.

Расскажите о Вашем профессиональном опыте.

Профессиональный опыт достаточно большой. Самый полезный опыт и лучшее место работы до этого было в компании Intel. Там меня действительно научили программировать, основным практикам и идеям разработки, я увидел как работает распределенная международная команда программистов и аналитиков. Как строятся процессы разработки. В общем получил огромный стимул для развития, который в себе поддерживаю до сих пор. Первым местом работы, по окончании третьего курса, была небольшая компания, в которой я занимался системами отчета и разбирался с реляционными базами данных. Я рад, что все же пошел сначала в небольшую компанию, где мне не поломали мозг и «стиль программирования», а не в локальные программистко-образующие предприятия Нижнего Новгорода, которые специализируются на найме студентов. Многие мои сокурсники разочаровывались в выборе профессии по итогам работы в этих предприятиях. На первой работе я так же получил начальные знания по .Net платформе и о том, как не надо работать с людьми на примере начальника =). Совсем начальные знания .net однако же позволили мне перейти на завод, где я уже постигал азы работы с OLAP кубами, базами и продолжал изучать .Net. На заводе я долго не проработал, увидев объявление о найме сотрудников в Intel. После Intel были разные компании, в которых зрелость процессов была различна и опыт самих разработчиков, но все они дали мне широкий кругозор проблем разработки, предметных областей. Текущим местом работы является инвестиционная компания Лидер, в которой я выполняю роль архитектора и технического лидера.

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

Какое у Вас образование?

Я учился в нижегородском государственном университете имени Лобачевского на факультете Вычислительной математики и кибернетики. До сих пор не знаю каким чудом удалось мне успешно закончить университет =) Изначально меня соблазнило название специальности «Системный программист», однако только на 4м курсе выяснилось, что это не имеет никакого отношения к операционным системам, а это системы уравнений с обратной связью, регулируя которую можно влиять на систему – вот и получается системный программист. Однако программирование меня захватило еще до универа, так что в университете в плане программирования я занимался в основном самообразованием.

Почему Вы выбрали именно IT?

Сложно сказать. С компьютером я знаком давно, а вот программирование как предмет в школе появился только с середины 10 класса, и как-то сразу меня увлекли логика и возможности программирования. Потом наверно особенно вопрос не стоял куда идти учиться дальше, особенно с учетом специальности на ВМК «Системный программист» =) Тогда еще не было какой-то большой моды на программистов кажется и конкурс на факультет был не велик. Я до сих пор  очень рад, что работаю в IT, мне нравится программировать, узнавать кучу новых вещей и рассказывать их другим.

Чем именно Вы занимаетесь в Luxoft?

Так как я работаю по совместительству, то в Luxoft я занимаюсь только тем, что связано с образовательным центром, т.е. читаю и разрабатываю курсы касающиеся архитектуры и платформы .Net. В дальнейшем думаю расширить деятельность в компании, но все переговоры только начинаются.

Почему Вы окончательно сделали выбор в пользу преподавания? Что вы могли бы дать своим коллегам и ученикам как тренер?

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

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

Какие курсы вы планируете разработать/вести в дальнейшем?

Сейчас я разрабатываю курс Event Driven Architecture. На данный курс идет спрос от внешних клиентов и учебный центр нуждается в этом курсе. Так же я немного перерабатываю почти все курсы которые читаю. Переработка может быть из-за разных причин, например может быть необходимо перевести примеры с Java на .Net, привести к общему корпоративному оформлению, иногда просто разработчики курсов пропускают некоторые темы важные и после дополнительного согласования я дописываю темы.

Часто тренинги лишены основной части, ради которых все и затевается – практики. А сделать интересную практическую часть – это не тривиальная задача, так что поле для деятельности большое.

Что бы Вы посоветовали коллегам, в каком направлении следует развиваться сегодня?

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

Так же хочу посоветовать постоянно экспериментировать с подходами в программировании дома или в свободное время на работе.

А какого-то одного конкретного направления посоветовать не могу, слишком много их.

Расскажите о том, какой Вы вне работы, какие у Вас увлечения и интересы, чем занимаетесь в свободное время?

Когда тебе платят деньги за твое хобби, сложно сказать какой я вне работы! Очень много дома занимаюсь программированием и изучением нового материала, хотя стараюсь соблюдать баланс между программированием и другими хобби. Я люблю сноуборд, летом прыгаю на велосипеде, катаюсь по лесопаркам. В межсезонье нравится собирать модели самолетов от объединения Звезда, играть на бас-гитаре. Очень люблю кинотеатры, смотрю почти все фильмы которые выходят, благо кинотеатр в 5 минутах от дома.

Когда почти все время работаешь головой, то в свободное время хочется заниматься чем-то таким, что отключает мозг и дает нагрузку телу, еще желательно чтобы и адреналин выделялся. Этим летом надо будет купить радиоуправляемые джипы и с подругой устраивать заезды по лесопарку ближайшему, думаю это должно быть весело!

 

Hard’n’Heavy!